基于DSSA的智能对靶喷雾机软件系统设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
收稿日期 : 2007- 11- 15 修回日期 : 2007- 11- 26 基金项目 :国家自然科学基金资助项目 (编号 : 302710787 ) ; 国家科技 支撑计划课题 (编号 : 2006BAD08A1203) ;江苏省国际科技合作重点项 目 (编号 : BZ2007013) 。 第一作者简介 :胡天翔 (1981 - ) ,男 ,博士生 ,专业方向为机械设计及 理论 。通讯作者 :郑加强 ,男 ,教授 。
系统的集成主要是以可复用构件为基础 ,在有可 复用构件的前提条件下 ,系统地完成工作就变成了软 件开发加集成的过程 。不同系统的需求和功能不同 , 在开发过程中要根据不同系统的需要选择不同的构 件模块来进行集成组装和定制工作 ,使得所得到的最 终系统软件更具有灵活性和通用性等特点 。
智能系统的软件开发主要围绕 3 个方面 [ 10 ] ,在 智能喷雾系统的开发过程也围绕以下 3 个方面开展 集成设计 : ( 1)功能集成 :系统集成开发者根据智能 喷雾的需求和功能 ,选择相应的通用或专用构件进行 功能上的实现 ; ( 2)界面集成 :在系统集成时根据智 能喷雾系统的需求相应地选择构件来定制自己的系 统界面 ,将所定制的用户界面集成到应用系统中 ; (3)新构件的开发 :在对智能喷雾系统进行功能扩充 时 ,如果现有的构件库中的通用构件或专用构件无法 满足系统需求时 ,就必须进行新的需求分析并组织开 发新的构件 ,以满足系统的需要 。在对新功能的实现 上 ,每一个构件在设计的时候应为新的功能预留下可 扩充的接口 ,使构件具有可扩展性 ,便于构件的扩展 。 在智能系统的构件形式上采用多样化 ,即构件可以是 可执行文件 、ActiveX控件和 DLL 动态链接库中的任 意一种 。这样智能系统的集成优势就十分明显 ,可提 高系统的集成度 ,构件中封装接口形式的多样化能很 好地适应技术发展的需要 ,同时也能保证智能喷雾系 统软件自身的相对稳定性 。
图 3 智能喷雾系统数据获取构件
数据处理构件将采集到的图像等数据信息进行后 期加工处理 。在对树木进行对靶施药时 ,首先要将图 像以 256色图像进行保存分析 ,将影响图像处理的多 余噪声去除后进行图像的分割处理 ,将树木特征图像 同背景图像进行分离 ,通过相应的算法得到树木的特 征值 ,其中包括树木高度 、宽度 、离喷头的距离等。在 系统中因为是对图像进行实时处理 ,所以对图像采集后 处理的算法要求比较高。目前所采用的算法以基于相 对色彩因子的树木图像分割算法为主 ,其实时性较强 , 同时在光照充足的条件下能有效地辨别树木 ,快速地将 树木与背景相分离 [7~11] 。在车载式对靶喷雾装置上 ,对 车辆行驶的车速和风速等信息通过传感器进行获取和 计算 ,这样就能更好地分析出喷雾参数要求 ,以做到准 确的对靶喷雾效果。数据处理构件如图 4所示。
在智能对靶喷雾机中 ,通过将软件系统安装在上 位机中来控制下位机工作的方式进行精确施药 [ 1 ] 。 本文将针对智能对靶喷雾机的软件系统需要 ,根据软 件工程的思想 ,将特定领域软件体系结构应用在智能 对靶喷雾机软件系统上 ,以构件化的方式将软件系统 按功能进行划分 ,通过设计和实现不同的构件 ,来完 成整个软件系统的功能 。最后将划分的构件进行系 统集成 ,以形成完整的软件系统 。 1 基于 DSSA 的智能对靶喷雾软件系统设计思想
在系统构件框架中的每个Байду номын сангаас件都可以被进一步 划分 ,为了方便软件的复用 ,一般将构件中具有共性
林业科技开发 2008年第 22卷第 2期
的部分独立出来进行开发 ,这部分被定义为通用构件 来使用 ;将变化较大的 、在不同系统中应用不定的部 分单独列出来 ,作为个性部分进行开发 ,它主要应用 在专用领域 ,将这部分定义为专用构件 ,以适应不同 系统的变化需求 。
技 术 开 发
基于 DSSA的智能对靶喷雾机软件系统设计
胡天翔 ,郑加强 3 ,周宏平 ,甘英俊
(南京林业大学机械电子工程学院 ,南京 210037)
摘 要 :基于构件和特定领域软件体系结构 (DSSA )的领域工程使软件系统的设计和开发更具科学性 ,它将软件 复用技术应用在整个软件工程的各个方面 。作为一种现实有效的软件开发方法 ,构件化设计和软件复用技术在各 个应用领域都受到广泛的重视 。本文根据软件工程的思想 ,将特定领域软件体系结构应用在智能对靶喷雾机软件 系统上 ,以构件化的方式将软件系统按功能进行划分 ,通过设计和实现不同的构件 ,来完成整个软件系统的功能 , 最后将划分的构件进行系统集成 ,以形成完整的软件系统 。 关键词 :智能系统 ; DSSA;构件化 ;软件复用 D esign M ethod of Soft ware System for In telligen t Target2or ien ted Sprayer ba sed on D SSA ∥HU Tian2 xiang, ZHENG J ia2qiang, ZHOU Hong2p ing, GAN Ying2jun Abstract:Domain engineering, which is based on components and DSSA , makes the design and development of software system more scientific, which lets software reuse app ly to all aspect of software engineering. A s an effective software devel2 opment method, components and software reuse let every app lication field pay attention to it. Based on the thinking of soft2 ware engineering, the DSSA was app lied to the software system of intelligent target2oriented sp rayer. Component to the way the software system w ill function according to the division, design and achieve every different component to finish the func2 tions of whole software system , and all the components were put together to integrate them for form ing a comp lete software system finally. Key words: Intelligent system; DSSA; Component; Software reuse Author’s address: College ofM echanical and Electronic Engineering, Nanjing Forestry University, 210037, Nanjing, China
技 术 开 发
图 1 智能对靶喷雾系统软件复用流程
2 智能对靶喷雾机软件系统设计 为了缩短软件开发周期 ,提高软件质量 ,降低软
件维护代价 ,智能对靶喷雾机所使用的软件系统必须 用软件复用的方式进行集成开发 。即根据功能的划 分进行模块化方式的实现 ,再通过自定义的接口使各 个模块直接进行完整的系统集成 ,做到软件模块间低 耦合和高内聚的目的 ,突出体现软件整体构件化设计 的思路 。系统构件框架按功能可划分成 3 个主要的 构件 ,即数据获取构件 、数据处理构件和控制执行构 件 ,不同的构件之间通过定义的标准接口来相互通 信 [ 6 ] 。如图 2所示为智能对靶喷雾系统的软件构件 框架 ,也按功能划分成数据获取构件 、数据处理构件 和控制执行构件等 ,不同的构件之间也通过定义的标 准接口来相互通信 。
在不同的操作系统平台下 ,软件所消耗的系统资 源是不同的 。为了提高软件处理的能力 ,进一步满足 智能喷雾的实时性要求 ,除了提升硬件设备的要求 ,还 要使智能喷雾软件系统具有跨平台的能力 ,以达到最 佳的运行效果 。因此在构件的设计时要考虑构件的跨 平台能力 ,保证在异构环境下良好的互操作性 ,实现运 行与操作系统平台无关 ,便于智能对靶喷雾系统的软 件系统的柔性 ,促进推广应用和降低维护成本 。 4 结 语
68
件系统构件之间的相互依赖关系 ,清楚地说明了智能 系统的任务分配和控制流程 ,是一种抽象构件和实例 之间的交互方法 ,为软件的复用提供了上下文关系 [3 ] 。
在精确林业领域中 ,基于 DSSA 架构设计的智能 软件系统是最佳的系统实现方案 ,该方案包括两个方 面 :制订构件之间的接口和规范 ,便于构件的实现 ;为 系统集成提供框架 ,便于符合规范接口的构件集成 , 同时可通过领域工程来识别和创建一组面向领域的 可重用构件 [ 4 ] 。
图 2 智能喷雾系统 D SSA的系统构件框架
数据获取构件是将对树木靶标的信息通过数据 采集的方式传入计算机中进行处理和保存 ,通过不同 方式采集的信息 ,其进行后期处理的结果也不一样 。 在视野上一般采用单目 CCD 作为采集信息端 ,但要 想得到更多信息数据的情况下单目技术已经远远不 能满足采集信息的需要 ,因此要考虑双目视觉效果 。 在双目视觉的基础上能保证树木深度信息的获取和 解决视野范围的问题 ,这对做到精确对靶喷雾是非常 有帮助的 。数据获取构件如图 3所示 。
将特定领域软件体系结构应用在智能对靶喷雾
系统领域中 ,可以促进领域内技术的发展和提高 。采 用构件化的设计思想对于系统开发和维护的工作量 都大幅度减少 ,整个智能对靶喷雾系统的软件复用程 度加大 ,相对于其他方式设计的系统而言具有较好的 环境适应性 ,对系统功能的调整和扩充都可以建立在 构件化设计的基础之上 。在农药使用技术领域或其 他相关领域中 ,对智能软件系统的设计和开发在架构 和功能模块上都有许多相似的地方 ,因此采用构件化 方式对系统进行设计 ,可以使智能喷雾系统的软件功 能模块的重用性得到提高 ,避免重复开发带来的浪 费 ,同 时 也 能 提 高 系 统 的 集 成 度 。本 文 提 出 的 以 DSSA 为设计框架 、以构件化设计和软件复用为基础 的软件工程思想 ,为农药使用技术中的智能系统的开 发做了前期的准备工作 ,将使开发的智能喷雾系统应 用更加广泛 ,同时也在一定程度上加快了智能喷雾技 术和精确农业与精确林业技术的发展 。
具备了 DSSA 和大量可复用构件之后 ,对智能系 统的开发就可以看成是一个以系统集成为主的软件 开发过程 。按照领域构架确定新的系统需要哪些可 复用构件 ,并根据本系统的特殊需求对构架和构件进 行分析 ,当构件库中的构件不足以满足新系统需求 时 ,就必须开发新的构件 ,同时 DSSA 也应该做相应 的变化 ,最后将领域架构 、领域构件和新开发构件组 装集成 ,共同形成一个新的系统 [ 5 ] 。整个系统的软 件复用流程图如图 1所示 。
林业科技开发 2008年第 22卷第 2期
图 4 智能喷雾系统数据处理构件
控制执行构件将系统处理后的信息进行汇总和 筛选 ,提取需要的信息 ,形成控制决策 。对树木形状 、 喷雾目标和喷头的距离等做出判断 ,进行智能变量喷 雾 。在此软件系统应嵌入下位机 ,即喷雾控制装置预 留通信控制接口 ,以方便系统通过指令的方式进行施 药控制 。控制执行构件如图 5所示 。
DSSA可用来表示某一特定领域的体系架构 ,它 通用于领域中的各个系统 ,体现了领域中各个子系统 的共性 。主要面向于重用 ,可以达到大规模软件服用 的目标 [ 2 ] 。在精确林业领域的智能系统中 ,会有共同 或者相似的软件体系结构 。它所设计的智能软件系统 应用在可复用的架构之上 ,通过这个架构能抽象出软
图 5 智能喷雾系统控制执行构件 69
技 术 开 发
在系统的设计上为将来需要扩充的功能模块预 留了接口 ,对接口的定义应做到规范 ,这样方便系统 资源的后期扩充整合和升级维护 。
为了保证软件的质量和功能的完善 ,在对不同构 件进行设计和开发的同时 ,要对各个构件进行相应的 测试 ,尽早地发现尽可能多的缺陷 ,以降低开发成本 和开发周期 。 3 智能喷雾软件系统的集成思路
系统的集成主要是以可复用构件为基础 ,在有可 复用构件的前提条件下 ,系统地完成工作就变成了软 件开发加集成的过程 。不同系统的需求和功能不同 , 在开发过程中要根据不同系统的需要选择不同的构 件模块来进行集成组装和定制工作 ,使得所得到的最 终系统软件更具有灵活性和通用性等特点 。
智能系统的软件开发主要围绕 3 个方面 [ 10 ] ,在 智能喷雾系统的开发过程也围绕以下 3 个方面开展 集成设计 : ( 1)功能集成 :系统集成开发者根据智能 喷雾的需求和功能 ,选择相应的通用或专用构件进行 功能上的实现 ; ( 2)界面集成 :在系统集成时根据智 能喷雾系统的需求相应地选择构件来定制自己的系 统界面 ,将所定制的用户界面集成到应用系统中 ; (3)新构件的开发 :在对智能喷雾系统进行功能扩充 时 ,如果现有的构件库中的通用构件或专用构件无法 满足系统需求时 ,就必须进行新的需求分析并组织开 发新的构件 ,以满足系统的需要 。在对新功能的实现 上 ,每一个构件在设计的时候应为新的功能预留下可 扩充的接口 ,使构件具有可扩展性 ,便于构件的扩展 。 在智能系统的构件形式上采用多样化 ,即构件可以是 可执行文件 、ActiveX控件和 DLL 动态链接库中的任 意一种 。这样智能系统的集成优势就十分明显 ,可提 高系统的集成度 ,构件中封装接口形式的多样化能很 好地适应技术发展的需要 ,同时也能保证智能喷雾系 统软件自身的相对稳定性 。
图 3 智能喷雾系统数据获取构件
数据处理构件将采集到的图像等数据信息进行后 期加工处理 。在对树木进行对靶施药时 ,首先要将图 像以 256色图像进行保存分析 ,将影响图像处理的多 余噪声去除后进行图像的分割处理 ,将树木特征图像 同背景图像进行分离 ,通过相应的算法得到树木的特 征值 ,其中包括树木高度 、宽度 、离喷头的距离等。在 系统中因为是对图像进行实时处理 ,所以对图像采集后 处理的算法要求比较高。目前所采用的算法以基于相 对色彩因子的树木图像分割算法为主 ,其实时性较强 , 同时在光照充足的条件下能有效地辨别树木 ,快速地将 树木与背景相分离 [7~11] 。在车载式对靶喷雾装置上 ,对 车辆行驶的车速和风速等信息通过传感器进行获取和 计算 ,这样就能更好地分析出喷雾参数要求 ,以做到准 确的对靶喷雾效果。数据处理构件如图 4所示。
在智能对靶喷雾机中 ,通过将软件系统安装在上 位机中来控制下位机工作的方式进行精确施药 [ 1 ] 。 本文将针对智能对靶喷雾机的软件系统需要 ,根据软 件工程的思想 ,将特定领域软件体系结构应用在智能 对靶喷雾机软件系统上 ,以构件化的方式将软件系统 按功能进行划分 ,通过设计和实现不同的构件 ,来完 成整个软件系统的功能 。最后将划分的构件进行系 统集成 ,以形成完整的软件系统 。 1 基于 DSSA 的智能对靶喷雾软件系统设计思想
在系统构件框架中的每个Байду номын сангаас件都可以被进一步 划分 ,为了方便软件的复用 ,一般将构件中具有共性
林业科技开发 2008年第 22卷第 2期
的部分独立出来进行开发 ,这部分被定义为通用构件 来使用 ;将变化较大的 、在不同系统中应用不定的部 分单独列出来 ,作为个性部分进行开发 ,它主要应用 在专用领域 ,将这部分定义为专用构件 ,以适应不同 系统的变化需求 。
技 术 开 发
基于 DSSA的智能对靶喷雾机软件系统设计
胡天翔 ,郑加强 3 ,周宏平 ,甘英俊
(南京林业大学机械电子工程学院 ,南京 210037)
摘 要 :基于构件和特定领域软件体系结构 (DSSA )的领域工程使软件系统的设计和开发更具科学性 ,它将软件 复用技术应用在整个软件工程的各个方面 。作为一种现实有效的软件开发方法 ,构件化设计和软件复用技术在各 个应用领域都受到广泛的重视 。本文根据软件工程的思想 ,将特定领域软件体系结构应用在智能对靶喷雾机软件 系统上 ,以构件化的方式将软件系统按功能进行划分 ,通过设计和实现不同的构件 ,来完成整个软件系统的功能 , 最后将划分的构件进行系统集成 ,以形成完整的软件系统 。 关键词 :智能系统 ; DSSA;构件化 ;软件复用 D esign M ethod of Soft ware System for In telligen t Target2or ien ted Sprayer ba sed on D SSA ∥HU Tian2 xiang, ZHENG J ia2qiang, ZHOU Hong2p ing, GAN Ying2jun Abstract:Domain engineering, which is based on components and DSSA , makes the design and development of software system more scientific, which lets software reuse app ly to all aspect of software engineering. A s an effective software devel2 opment method, components and software reuse let every app lication field pay attention to it. Based on the thinking of soft2 ware engineering, the DSSA was app lied to the software system of intelligent target2oriented sp rayer. Component to the way the software system w ill function according to the division, design and achieve every different component to finish the func2 tions of whole software system , and all the components were put together to integrate them for form ing a comp lete software system finally. Key words: Intelligent system; DSSA; Component; Software reuse Author’s address: College ofM echanical and Electronic Engineering, Nanjing Forestry University, 210037, Nanjing, China
技 术 开 发
图 1 智能对靶喷雾系统软件复用流程
2 智能对靶喷雾机软件系统设计 为了缩短软件开发周期 ,提高软件质量 ,降低软
件维护代价 ,智能对靶喷雾机所使用的软件系统必须 用软件复用的方式进行集成开发 。即根据功能的划 分进行模块化方式的实现 ,再通过自定义的接口使各 个模块直接进行完整的系统集成 ,做到软件模块间低 耦合和高内聚的目的 ,突出体现软件整体构件化设计 的思路 。系统构件框架按功能可划分成 3 个主要的 构件 ,即数据获取构件 、数据处理构件和控制执行构 件 ,不同的构件之间通过定义的标准接口来相互通 信 [ 6 ] 。如图 2所示为智能对靶喷雾系统的软件构件 框架 ,也按功能划分成数据获取构件 、数据处理构件 和控制执行构件等 ,不同的构件之间也通过定义的标 准接口来相互通信 。
在不同的操作系统平台下 ,软件所消耗的系统资 源是不同的 。为了提高软件处理的能力 ,进一步满足 智能喷雾的实时性要求 ,除了提升硬件设备的要求 ,还 要使智能喷雾软件系统具有跨平台的能力 ,以达到最 佳的运行效果 。因此在构件的设计时要考虑构件的跨 平台能力 ,保证在异构环境下良好的互操作性 ,实现运 行与操作系统平台无关 ,便于智能对靶喷雾系统的软 件系统的柔性 ,促进推广应用和降低维护成本 。 4 结 语
68
件系统构件之间的相互依赖关系 ,清楚地说明了智能 系统的任务分配和控制流程 ,是一种抽象构件和实例 之间的交互方法 ,为软件的复用提供了上下文关系 [3 ] 。
在精确林业领域中 ,基于 DSSA 架构设计的智能 软件系统是最佳的系统实现方案 ,该方案包括两个方 面 :制订构件之间的接口和规范 ,便于构件的实现 ;为 系统集成提供框架 ,便于符合规范接口的构件集成 , 同时可通过领域工程来识别和创建一组面向领域的 可重用构件 [ 4 ] 。
图 2 智能喷雾系统 D SSA的系统构件框架
数据获取构件是将对树木靶标的信息通过数据 采集的方式传入计算机中进行处理和保存 ,通过不同 方式采集的信息 ,其进行后期处理的结果也不一样 。 在视野上一般采用单目 CCD 作为采集信息端 ,但要 想得到更多信息数据的情况下单目技术已经远远不 能满足采集信息的需要 ,因此要考虑双目视觉效果 。 在双目视觉的基础上能保证树木深度信息的获取和 解决视野范围的问题 ,这对做到精确对靶喷雾是非常 有帮助的 。数据获取构件如图 3所示 。
将特定领域软件体系结构应用在智能对靶喷雾
系统领域中 ,可以促进领域内技术的发展和提高 。采 用构件化的设计思想对于系统开发和维护的工作量 都大幅度减少 ,整个智能对靶喷雾系统的软件复用程 度加大 ,相对于其他方式设计的系统而言具有较好的 环境适应性 ,对系统功能的调整和扩充都可以建立在 构件化设计的基础之上 。在农药使用技术领域或其 他相关领域中 ,对智能软件系统的设计和开发在架构 和功能模块上都有许多相似的地方 ,因此采用构件化 方式对系统进行设计 ,可以使智能喷雾系统的软件功 能模块的重用性得到提高 ,避免重复开发带来的浪 费 ,同 时 也 能 提 高 系 统 的 集 成 度 。本 文 提 出 的 以 DSSA 为设计框架 、以构件化设计和软件复用为基础 的软件工程思想 ,为农药使用技术中的智能系统的开 发做了前期的准备工作 ,将使开发的智能喷雾系统应 用更加广泛 ,同时也在一定程度上加快了智能喷雾技 术和精确农业与精确林业技术的发展 。
具备了 DSSA 和大量可复用构件之后 ,对智能系 统的开发就可以看成是一个以系统集成为主的软件 开发过程 。按照领域构架确定新的系统需要哪些可 复用构件 ,并根据本系统的特殊需求对构架和构件进 行分析 ,当构件库中的构件不足以满足新系统需求 时 ,就必须开发新的构件 ,同时 DSSA 也应该做相应 的变化 ,最后将领域架构 、领域构件和新开发构件组 装集成 ,共同形成一个新的系统 [ 5 ] 。整个系统的软 件复用流程图如图 1所示 。
林业科技开发 2008年第 22卷第 2期
图 4 智能喷雾系统数据处理构件
控制执行构件将系统处理后的信息进行汇总和 筛选 ,提取需要的信息 ,形成控制决策 。对树木形状 、 喷雾目标和喷头的距离等做出判断 ,进行智能变量喷 雾 。在此软件系统应嵌入下位机 ,即喷雾控制装置预 留通信控制接口 ,以方便系统通过指令的方式进行施 药控制 。控制执行构件如图 5所示 。
DSSA可用来表示某一特定领域的体系架构 ,它 通用于领域中的各个系统 ,体现了领域中各个子系统 的共性 。主要面向于重用 ,可以达到大规模软件服用 的目标 [ 2 ] 。在精确林业领域的智能系统中 ,会有共同 或者相似的软件体系结构 。它所设计的智能软件系统 应用在可复用的架构之上 ,通过这个架构能抽象出软
图 5 智能喷雾系统控制执行构件 69
技 术 开 发
在系统的设计上为将来需要扩充的功能模块预 留了接口 ,对接口的定义应做到规范 ,这样方便系统 资源的后期扩充整合和升级维护 。
为了保证软件的质量和功能的完善 ,在对不同构 件进行设计和开发的同时 ,要对各个构件进行相应的 测试 ,尽早地发现尽可能多的缺陷 ,以降低开发成本 和开发周期 。 3 智能喷雾软件系统的集成思路