APP下载

论计算机嵌入式软件构件提取与组装

2016-03-28

无线互联科技 2016年15期
关键词:嵌入式软件嵌入式构件

张 楠

(西安科技大学 计算机科学与技术学院,陕西 西安 710054)

论计算机嵌入式软件构件提取与组装

张楠

(西安科技大学 计算机科学与技术学院,陕西西安710054)

随着计算机硬件性能的逐步提升,计算机对嵌入式软件的规模及复杂度的要求也越来越高。因此,必须采用有效的构件软件开发方法。采用构件提取、组装等方法进行软件系统构建,可以提高软件系统的可靠性,满足计算机硬件的需求。文章就计算机嵌入式软件构件的提取、组装技术进行重点探讨。

计算机;嵌入式软件;构件;提取;组装

在计算机嵌入式系统开发与设计的过程中,嵌入式软件的开发占据着至关重要的地位。目前,嵌入式系统在很多领域均有十分广泛的应用,不仅能够极大地提升系统处理速度,拓展存储空间,还能有效降低损耗。对于传统软件构件开发而言,多关注过程形式的开发,但以嵌入式软件构建开发为基础常具有更强的演化能力。

1 嵌入式软件构件

在嵌入式软件开发中,软件构件占据着重要的地位,也是软件开发过程中不得不关注的主要组成部分。需要通过特定的体系结构,采用有效的开发推进技术,实现相应的各项功能。为了方便用户操作,更好地服务用户,要求构件必须设置相应的接口以满足用户需求。与传统软件开发不同,嵌入式软件构件开发具有诸多优势,能够结合硬件生成方式实现定制化开发与组装,实现了各种技术的综合应用,提升了开发的效率,达到资源节约的目的。当然,为了确保嵌入式软件构件开发过程的可靠性,需要先对开发技术加以评估,确保其综合性能,突出系统的可移植性、高可靠性、高效、高配置性等诸多优势,除去冗余部分,及时辨别错误,提高系统的综合效率。

嵌入式软件操作便捷、功能强大,实现了即插即用,优化了操作工序,为用户带来了更大的便捷,同时,还可以结合用户的个性化需求,提供不同的服务,在具体应用过程中,可提供具有契约性的接口,便于信息交流。对于相同构件而言,可结合具体情况,设置多个接口,所有接口都需要满足有关规定的要求,确保其科学运行。本质而言,构件的组装主要是利用连接件、接口等,在多个构件间构建起独特的联系,实现对构件的控制,确保充分发挥其技术优势,服务用户生活和工作。在嵌入式软件运营时需要加强检修,及时对存在的问题加以处理,采取科学的防范措施,确保软件构建性能。

2 嵌入式软件构件的提取

从已有嵌入式软件中将可用部分所形成构件提取出来,是获取构件的重要方式,也是嵌入式软件构件技术的重要组成部分。结合嵌入式软件特点,在构件提取过程中,如果采用正向工程,可能会引发构件细节不完善等问题,但如果采用逆向工程,可能会无从下手。因此,最好将正向、逆向工程有机结合进行构件提取。嵌入式软件构建提取主要包括系统的细化,模型的构建,分层完成,性能测量等几个环节。其中,系统的细化、模型的构建属于正向工程,分层完成则为逆向工程。

(1)系统的细化。系统细化方法包括两种,一种是知识匹配法,另一种是结构分析法。其中,前者主要是通过分析软件语义元素,将系统程序中语义相同或相似实体加以关联,作为备选构件。该方法是建立在数据挖掘技术、专家系统等的基础上。后者包括横、纵向分化两种。横向分化主要是通过找到系统业务构件,明确其专用性及对应领域。纵向分化是通过找到系统通用构件加以重用。系统横向包括项目管理、放样、建站、偏心测量、坐标计算等模块,这些模块通过提取形成相应的构件,并在该领域应用。

(2)模型构建与分层完成。嵌入式软件开发与硬件环境密不可分,因此,可以采用全站仪软件系统,如μC/OS-II嵌入式系统。在模型构建过程中,需要对硬件、系统抽象加以思考,以便满足构件通用性、重用性等要求。在模型构建时,还需要考虑所开发软件的可剪裁性。嵌入式软件构件主要包括3层结构,第一层是接口层,负责为构件提供相应的接口。第二层是调用层,明确构件所需接口。第三层为实现层,对构建实现途径加以描述。结合嵌入式软件的需求,在模型构建时需要设置配置层,确保所提取构件具有相应的可剪裁性特点。调用层包括硬件和系统抽象层两层,前者负责实现各硬件平台的抽象,后者负责对相应系统进行抽象。

(3)性能测量。对于嵌入式软件构件而言,其性能需要从如下方面进行测量:一是重用性,这是构件最关键的特点。例如,对于图形用户接口(Graphical User Interface,GUI)构件而言,必须考虑到显示、输入等多种技术,才能有效移植。二是可靠性,系统可靠性取决于各构件的可靠性。因此,必须确保系统的容错性,从整体方面考虑错误的截获、处理、报告等多个方面。三是效率性,主要包括空间、时间效率。要求系统开发时必须考虑到算法时间的复杂性。由于系统存储空间有限,还需要对其空间复杂度进行衡量。四是配置性,要求嵌入式软件构件应通过配置将冗余部分去除,便于开发者结合自身需求加以配置。

3 嵌入式软件构件的组装

在嵌入式构件组装中,系统结构设计模型发挥着关键的作用,成为指导构件组装的蓝图,嵌入式构件组装需要对构件本质属性进行定义,并对接口结构、构建及应用框架加以规定,明确构件间的交互机制,如此方可实现组装。本文以软件体系作为指导,结合CBSD法进行构件组装,并对应用系统进行开发。该环境不同于普通开发环境,需要提供全面的从高层设计到最终实现的系统化方案。

由于构件组装是借助于现有构件,形成新的系统。因此,也可以通过分层细化完成。将复合构件通过层层分解,形成树型结构,确保构件外部功能分别映射到成员构件对应功能方面,这样就实现了复合构件间信息的层层消解,最终实现原子构件间的有效连接。在接口处,将原子构件连接映射为另一构件在实体中的连接,无需对构件对应实体进行改动,即可生成带有实体的多对象原子构件。

嵌入式软件系统开发语言多采用的是C/C++语言,采用其对构件组装过程加以描述,并就软件实时性、资源有限性提出解决方案。若无嵌入式构件库,可以通过采用C/C++语言所实现的部分构件进行实验,在组装时可采用编程语言加以描述。C/C++语言给予系统程序极大的硬件控制能力,能够使所有处理器生成高效、紧凑代码。在构件组装时,主要涉及构件接口与环境接口的匹配,可以采用复合构件制作法,原子构件进行对外交互,并负责与其他协作构件构建起相应的关系。在构件组装时,会生成新的C++类,各构件所对应控制对象是相应的协作对象,也是新类中的嵌入对象。嵌入式软件系统构件组装可以采用C语言进行描述,现有构件Componentl 2,其对外所提供的接口声明,在头文件中,涉及结构体的定义、函数名、所允许的外部引用变量等等,当然,对于所允许的外部引用变量而言,需要在头文件中进行声明,且前面需要增加extern等关键字。

综上所述,近些年来,嵌入式产品市场前景广阔,该领域的竞争也越来越激烈。随着应用的逐步增长,嵌入式软件开发也越来越受关注。与此同时,市场对于嵌入式软件的规模、复杂性、可靠性、开发周期等都提出了更高的要求,因此,开发人员必须注重采用先进的构件提取、组装技术,最大化地降低开发成本,减少开发周期,才能更好地顺应市场需求,拓展市场份额。

[1]曹敬宇,柴玮岩,王博,等.嵌入式分布计算环境下高效软件构件化框架研究[J].兵工学报,2013(4):315-317.

[2]黄志球.嵌入式机载软件安全性分析标准、方法及工具研究综述[J].软件学报,2014(2):200-205.

[3]部平吉.计算机嵌入式软件框架下的构件提取及组装思路构建[J].电子制作,2015(3):355-358.

[4]李越.计算机嵌入式软件构件提取与组装技术[J].中国新通信,2015(19):55.

[5]熊光泽,詹瑾瑜.嵌入式系统软/硬件协同设计技术综述[J].计算机应用,2006(4):757-760,764.

[6]曹敬瑜.一种基于嵌入式软件构件管理方法[J].电脑开发与应用,2012(10):55-57,60.

Discussion on the extraction and assembly of computer embedded software component

Zhang Nan
(Computer Science and Technology College of Xi'an University of Science and Technology, Xi'an 710054, China)

With the gradual improvement of the performance of computer hardware, the requirements of computers' embedded software scale and complexity are higher and higher.Therefore, it is necessary to adopt effective development method of component software. Adopting the method of component extraction and assembly to design the software system is able to improve the reliability of the software system to meet the needs of computer hardware. This paper focuses on the discussion of extraction and assembly technology of embedded software component.

computer; embedded software; component; extraction; assembly

张楠(1987— ),女,陕西西安,助理工程师;研究方向:计算机嵌入式。

猜你喜欢

嵌入式软件嵌入式构件
实时嵌入式软件的测试技术
搭建基于Qt的嵌入式开发平台
全景相机遥控器嵌入式软件V1.0 相关操作分析
嵌入式软PLC在电镀生产流程控制系统中的应用
建筑构件
建筑构件
建筑构件
建筑构件
基于Eclipse的航天嵌入式软件集成开发环境设计与实现
航天嵌入式软件浮点运算误差分析与控制