Eclipse平台架构及其插件

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3 引入工程意识, 突出一个“用”字
针对高等职业教育目标和特色, 更要将“以用为主导”思想贯 穿整个实验教学始终。为强化学生的思维能力, 培养学生协调局 部和整体以及解决实际问题的实践能力, 引入工程意识, 以提高 学生综合处理能力。实验教学除了单独做接口芯片及 D/A、A/D、 键盘和显示等局部实验外, 还要像大学生电子设计大赛那样, 做 综合性的微机应用系统实验。以培养学生的综合素质, 特别是硬 件设计要给学生留有充分的余地。为此, 在完成清华大学 TPC- 1 型 16 位微机实验系统实验基础上, 我们还在部分学生中安排了 一部分综合性的开放实验, 特别是一些实用性比较强的实验项 目 。让 学 生 从 元 器 件 的 布 局 和 连 线 开 始 做 设 计 性 的 实 验 。如 利 用 中 断 控 制 器 8259 组 成 一 个 以 中 断 方 式 控 制 的 I/O 接 口 电 路 ; 利 用 键 盘 显 示 专 用 芯 片 8279 结 合 LED 显 示 器 及 小 键 盘 组 成 键 盘 显示控制系统; 还可将理论课上不讲或少讲的但其价值又比较高 的元器件( 光 - 电转换器、红外传感器、拨盘开头等) 引入实验中,
学生人手一块实验板, 一套元器件, 教师不指定实验线路, 不 给程序框图, 仅在过程中起指导作用。所有实验要由学生自己设 计、布局和连线并调试完成。每做一个实验, 都相当于做一个相应 的 实 验 课 程 设 计 。对 实 验 中 学 生 遇 到 的 问 题 我 们 教 师 不 宜 做 过 细 的指导, 而是因势利导地启发学生独立思考, 寻找问题所在, 训练 了学生独立进行科学实验的能力。事实正是如此, 综合性的设计 性 实 验 给 学 生 提 供 了 充 分 施 展 自 己 才 华 的 机 会 。极 大 地 激 发 了 学 生学习的积极性和主动性, 这样的环境往往使学生的思维处于十 分活跃的状态, 各种设计方案五花八门, 尽管有很多很不成熟的 思想, 但却不泛有特色的方案, 有些是教师所未及所料, 这又从另 一角度提供了教学相长的良好氛围。
从图 1 可以看出 Eclipse 平台的主要组件和 APIs。Eclipse 是 一 个 集 成 开 发 工 具 的 平 台 , 具 有 开 放 的 、可 扩 展 的 基 于 插 件 的 架 构, 它包括几个核心组件: Workbench、插件开发环境 PDE、Java 开 发工具集 JDT、Eclipse 平台内核 Platform- runtime, 其底层由标准 Java2 虚拟机支持。Eclipse 平台基本作用是为软件工具开发者提
甘肃ቤተ መጻሕፍቲ ባይዱ技纵横
信息技术
2007 年( 第 36 卷) 第 3 期
Eclipse 平台架构及其插件
周 婷, 董海棠
( 兰州交通大学 机电学院, 甘肃 兰州 730070)
摘要: Eclipse 项目是一个开放源代码的、由多家软件公司参 与 的 、基 于 Java 的 可 扩 展 开 发 平 台 , 其 研 制 的 目 标 是 通 过 简 化 跨 平台软件的开发过程, 提高集成在 Java 开发环境中开发工具的性 能和易用性、将 Java 开发环境尽可能的覆盖到整个软件的开发生 命 周 期 、集 成 人 与 人 、人 与 团 队 以 及 团 队 与 团 队 进 行 交 流 的 工 具 。 本文除介绍了 Eclipse 的起源和架 构 外 , 还 特 别 举 例 说 明 插 件 及 其开发。
16
供无缝集成工具的使用 机 制 和 遵 从 的 规 则 。这 些 机制和规则是通过定义 明确的 API 接口、类和方 法 表 现 出 来 。 Eclipse 平 台也提供了一些有利于 开发新工具的有用的框 架 , 在 Eclipse 这 个 平 台 上, 用户可独自以插件的形式开发出各种功能构件并集成到该 平台中。 1.2 插件的定义及其特点
在 Eclipse 平台中, 插件无处不在, Eclipse 平台的几乎所有的 功能包括自身都是以插件提供的, 插件正是 Eclipse 平台实现的 基本思想。一个插件是能够被单独开发和发布的 Eclipse 平台的 软 件 功 能 单 元 。一 个 小 的 工 具 常 被 作 为 一 个 单 独 的 插 件 无 缝 集 成 到 Eclipse 平台中, 一个复杂的工具也可被分割成几个插件集成。 除 了 内 核 Platform Runtime 之 外 , 所 有 Eclipse 平 台 的 功 能 都 定 位 于由插件提供。一般而言插件都具有以下特点: 提供一个或多个 扩 展 点 、声 明 新 的 扩 展 点 、利 用 其 它 插 件 、含 Java 代 码 库 其 它 资 源等等、可以输出基于 Java 的 APIs、存留于它自己的插件子 目 录 中。 1.3 插件架构及机理
1 Eclips e 的架构
1.1 Eclips e 总体架构 Eclipse 的 核 心 是“Platform Runtime”, 它 是 一 个 微 内 核 , 其 它
所 有 的 功 能 如 Workspace、Workbench 等 都 是 以 插 件 的 形 式 提 供 的。Workbench 插件完成界面的外观显示, Workspace 负责工作区 资 源 的 管 理 等 。Eclipse Platform Runtime 核 心 处 理 启 动 及 搜 索 查 找被安装在磁盘上以插件形式存在的工具, 匹配这些功能插件上 扩展点所提供的扩展服务, 构造全局的插件注册库, 并能够缓存 下次将用到的已注册的插件。Eclipse platform 启动之后, 提供了一 个基于插件的协同开发环境, 用户可以在这个平台上开发新的插 件完成更强大的功能或开发应用程序。
关键词: Eclipse Java 程序设计 XDEs CDEs
0 引言
开放源代码的 Eclipse 项目是由 IBM、Borland、RedHat、SuSE、 TogetherSoft 和 QNX 等多家软件工具开发公司参与研究和推广的 下一 代 协 作 开 发 环 境 XDEs (eXtended Development Environments) 或称之为协同开发环境 CDEs (Collaborative Development Environ- ments), 还 有 其 他 公 司 相 继 加 入 , 包 括 Hewlett Packard、Fujitsu、 Sybase。Eclipse 项目的目标是以插件的架构提供可以使用任何语 言进行软件开发的协同开发环境。目前, Eclipse 已经可以进行基 于 Java 的各类应用程序的开发, 并提供 C/ C++、COBOL 和 Eiffel 等 语 言 开 发 的 功 能 插 件 。 Eclipse 平 台 能 够 被 用 来 创 建 一 些 像 Web 站点、嵌入式 Java 程序、C++ 程序和 EJB 等不同的应用。E- clipse 是一 个 开 放 的 、通 用 的 、可 扩 展 的 协 同 开 发 环 境 , Eclipse 平 台的目标可以概括如下:
( 3) Eclipse 平 台 支 持 多 种 工 具 的 无 缝 集 成 , 无 缝 集 成 既 可 在 用户界面也可更深层次的通过插件方式增加新工具到现存软件 中。
( 4) 吸 引 软 件 开 发 工 具 公 司 和 软 件 开 发 商 (ISV)使 用 Eclipse 平台。目前有很多基于 Eclipse 平台的插件被开发出来, 如对 UML 建 模 的 支 持 , 能 够 对 任 何 Java 代 码 绘 制 UML 图 ; 还 有 支 持 XML/HTML/ JSP, 提供了一个 Web 应用开发环境, 这些都使得 Eclipse 发展成为一个功能强大, 非常适合分布式计算的应用开发 平台。
一个插件的声明文件是也就是一个 XML 文档, 一个扩展点 可以声明附加的专门在扩展中使用 XML 的元素类型, 它允许供 应 扩 展 的 插 件 同 声 明 相 应 扩 展 点 的 插 件 交 换 相 互 所 需 的 信 息 。而 且, 声明信息文件可以从插件库中获得, 并不需要激活提供扩展 的插件或装载它的任何代码。这个属性对支持需要大量安装插 件, 但在某个时刻或某个应用中仅有它们中的一些, 在一个特定 的用户会话中应用或被需要时在将其调入, 是非常关键的。也就 是说如果一个插件的代码还没有被装载, 那么它仅有一个可以忽 略其对内存占用 " 脚印 " 和对 Eclipse 启 动 所 需 的 时 间 有 微 小 影 响。使用一个基于 XML 的插件声明也使得很容易写一些支持插 件 创 建 的 工 具 。 例 如 插 件 开 发 环 境 PDE 就 是 被 包 含 在 Eclipse SDK 中的一个这样的工具。一个插件仅仅当它的代码实际需要运 行时才被激活, 表现为一个用户从一个列表中择一个相关的参数 (如 用 户 选 择 它 的 菜 单 )。
需要强调的是, 在整个实验教学中, 一定要让学生真正感觉 到他们才是实验教学的主要角色, 教师主要起引导作用。当然在 实施中也会出现不少问题: 如由于学生平时对计算机硬件的实践 操作机会很少, 初次涉及较多的接插线和元器件常出现错误而导 致实验时间过长, 给实验教师带来了很大的工作量; 不同于软件 实验, 硬件实验一旦出现差错可能造成器件或设备的故障甚至损 坏, 这会给学生带来了心理压力乃至于影响学生学习的主动性和 积极性。同时要提高认识, 改变以往学生、教师对实验精力、时间 投入不足现象。这些, 我们都应在思想上有足够的准备。
如利用红外( 或热敏) 传感器、8255 并行接 口 电 路 芯 片 、A/D0809、 LED 显示器 等 组 成 的 模 拟 数 据 采 集 系 统 , 由 光 - 电 转 换 器 、并 行 接口电路芯片 8255、LED 显示器等组成步进电机 的 方 向 、速 度 的 计算机控制系统。对特别优秀的学生, 提前介入毕业设计内容甚 至可以将科研项目中部分内容移入, 强化了工程意识, 同时能使 其及早接触本专业在实际中的应用。
2 Eclips e 插件的开发
( 下 转 151 页)
2007 年( 第 36 卷) 第 3 期
文化教育
甘肃科技纵横
式协同解决。着重在思路上给予引导, 要时时充分注意学生的学 习主导地位, 以充分激发学生对实验的兴趣。通过实验, 学生自主 地获取知识, 提高应用微机及调试程序的能力, 可以把一部分教 学内容移至实验中自行获取, 节省了教学课时, 一举两得。在后面 的应用阶段, 我们让学生通过硬件电路的设计与连接, 配以相对 应的程序, 使其所设计的系统能够正确运行。其目的是让学生学 会 硬 件(主 要 是 接 口 芯 片)的 设 计 连 接 及 软 件 的 设 计 调 试 , 加 深 理 解 计 算 机 软 硬 件 各 自 的 作 用 和 相 互 的 关 系 。实 验 的 重 点 应 放 在 应 用阶段, 特别是对于应用电子专业学生而言接口实验尤其重要, 如若学时允许, 应增加这方面的实验内容。
( 1) 提 供 应 用 开 发 工 具 的 开 放 式 平 台 , 使 它 能 够 在 广 泛 的 操 作系统(如 Windows、"Linux、Solaris, Unix)上运行, 支持各种应用开 发环境。
( 2) Eclipse 开发平台允许多 种 内 容 类 型 : HTML、Java、C、JSP、 EJB、XML 等。
Eclipse 平台架构最有特色的就是它的插件体系结构, 它充分 体 现 了 Eclipse 设 计 的 思 想 。 一 旦 Eclipse 平 台 启 动 , Platform Runtime 会自动发现可用的插件的集合, 读 取 它 们 的 manifest 文 件并构造内存插件库。Eclipse 平台通过在 manifest 文件中进行扩 展 点 声 明 来 提 供 插 件 的 扩 展 点 。所 谓 扩 展 点 就 是 为 插 件 提 供 的 接 口, 每一个插件都是在已有插件的扩展点上开发, 并可留有自己 的扩展点, 以便在这个插件上继续开发。一个扩展点可以有一个 相应的 API 接口, 任何一个插件可以定义新的扩展点和提供新的 API 接口从而可为其它的插件所用。每一个插件都有一个 mani- fest 文件, 声明它同其它插件的互连关系。这种互连模型可以描述 为: 一个插件声明许多已命名的扩展点和一个或多个在其它插件 中的扩展点的扩展。一个插件的扩展点能够被其它的插件扩展。 例如 , Workbench 插件声明了一个用 户 参 数 选 择 的 扩 展 点 , 任 何 一个插件能够通过定义扩展提供它自身的用户参数选择给这个 扩展点。
相关文档
最新文档