最终对轻量级构件的嵌入式软件开发应用.docx
- 文档编号:6859593
- 上传时间:2023-01-11
- 格式:DOCX
- 页数:54
- 大小:3.32MB
最终对轻量级构件的嵌入式软件开发应用.docx
《最终对轻量级构件的嵌入式软件开发应用.docx》由会员分享,可在线阅读,更多相关《最终对轻量级构件的嵌入式软件开发应用.docx(54页珍藏版)》请在冰豆网上搜索。
最终对轻量级构件的嵌入式软件开发应用
对轻量级构件的嵌入式软件开发应用的研究
摘要
当今,嵌入式系统向前发展正以空前的速度。
在嵌入式技术、应用以及嵌入式系统的复杂性逐渐提高的同时,嵌入式系统软件的复杂性以及规模也在逐步的提高。
在这竞争日益白热化的市场,对于如何,保证产品的质量已成为一个,能面对迅速、高效率地开发嵌入式软件,严峻的挑战。
在具体的实践过程中,随着软件开发的不断运用,我们越来越认识到软件复用对于软件工程有着很重要的地位。
正由于这样,我们认为要解决软件危机、提高软件生产率和质量就必须要注重软件复用技术的使用。
我们现在的软件复用研究主要是关于基于构件的软件开发方法。
传统的“算法+数据结构”的开发模式已经摇身一变成为“基于构件+构件开发的组装”的开发模式。
我们为了节约软件开发成本而将重用构件加以标准化,这种软件开发方法相较于其他方法来说有更加好的重复使用的性能,这对于软件开发领域来说有很重要的意义。
在处理软件开发过程中嵌入式系统平台所具有的一些问题(可靠性要求高、差异性资源有限、等软硬件),我们从对可重用技术研究出发提出了一种能够用于GUI界面的单片机软件开发领域。
将构构件的属性进行特定的配置并运用到实际当中去就能够很好的实现系统软件的可移植性和易重用性。
我们在此类构件模型的基础上,将组装应用系统的实践和嵌入式软件的构件化方法都做了较为深入的研究,并将构件的接口做了详细的定义,从而实现它与构件的体分开,达到了易重用性的目的;这样便可以在封装底层接口的基础上便获得非常好的移植性,对于构件的易维护性我们一般通过可选接口来实现。
关键词:
基于构件的软件开发,构件,可配置构件模型,软件复用,软件体系结构
Summary
Today,embeddedsystemsaremovingforwardatanunprecedentedrate.Inthecomplexityofembeddedtechnologies,applicationsandembeddedsystemswhilegraduallyincreasing,embeddedsystemsoftwarecomplexityandscalehasgraduallyimproved.Inthisincreasinglycompetitivemarket,howtoensurethequalityofproductshasbecomea,canfacequicklyandefficientlydevelopembeddedsoftwarechallenges.Inthespecificpractice,withthecontinuoususeofsoftwaredevelopment,weincreasinglyrealizethatsoftwareengineeringforsoftwarereusehasaveryimportantposition.Preciselybecauseofthis,webelievethattosolvethesoftwarecrisis,improvesoftwareproductivityandqualityitisnecessarytofocusontheuseofsoftwarereuse.Wearenowsoftwarereuseresearchisbasedoncomponentsofsoftwaredevelopmentmethods.Traditional"algorithm+datastructure"developmentmodelhasbeentransformedintoa"component+component-baseddevelopmentoftheassembly"developmentmodel.Oursoftwaredevelopmentinordertosavecostswillbestandardizedreusablecomponents,thesoftwaredevelopmentmethodcomparedtoothermethods,ithasagoodperformanceevenmorereusable,whichisveryimportantforthefieldofsoftwaredevelopment.Indealingwithsomeoftheproblemsinthesoftwaredevelopmentprocessforembeddedsystemsplatformhasthe(highreliabilityrequirements,limitedresources,differences,andotherhardwareandsoftware),wecanreusethetechnologyfromresearchtoproposeasingle-chipstartingaGUIinterfacethatcanbeusedsoftwaredevelopment.Thepropertyconstitutiveelementsofspecificconfigurationandapplythemtotherealopinionscanachieveagoodsystemsoftwareportabilityandeaseofreuse.Weonthebasisofsuchacomponentmodel,basedonthepracticeofembeddedsoftwarecomponentsandassemblingmethodofapplicationsystemshavedoneamorein-depthresearch,interfaceandcomponentstodoadetaileddefinition,inordertoachieveitwiththemembersofthebodyseparately,toachievethepurposeofeasyreuse;sothatwecangetaverygoodtransplantitinthebottomoftheinterfaceonthebasisofthepackage,foreasymaintenancecomponentswegenerallyachievedthroughanoptionalinterface.
Keywords:
component-basedsoftwaredevelopment,component,configurablecomponentmodel,softwarereuse,softwarearchitecture
目录
第1章绪论2
1.1课题背景2
1.2国内外研究现状3
1.3研究意义4
1.4研究内容4
1.5论文组织结构4
第2章嵌入式系统及软件重用技术5
2.1嵌入式系统5
2.1.1嵌入式系统的特点6
2.1.2嵌入式系统的现状及发展趋势6
2.1.3嵌入式系统的设计准则7
2.2软件复用技术8
2.2.1软件复用的概念8
2.2.2软件复用的意义8
2.2.3软件复用的条件9
2.2.4软件复用的技术9
2.3嵌入式软件开发方法10
第3章基于构件的软件开发技术11
3.1基于构件的软件开发11
3.1.1领域工程12
3.1.2应用工程13
3.2构件模型13
3.2构件模型14
3.2.1通用构件模型介绍15
3.2.1.1COM模型15
3.2.1.2CORBA构件模型16
3.2.1.3EJB构件模型17
3.2.2嵌入式构件模型介绍17
第4章可配置构件模型18
4.1面向特定领域的可配置构件模型18
4.1.1可配置构件模型18
4.1.2可配置构件模型的属性19
4.1.3可配置构件模型的接口20
4.1.4可配置构件的实现21
4.2构件化软件系统的组织22
第5章软件构件的设计与应用24
5.1构件开发24
5.2串口构件25
5.3定时器构件27
5.4I2C构件28
5.5构件的重用实例30
5.5.1I2C构件的重用30
5.5.2串口构件的重用32
第6章平板式跑步机系统实现33
6.1基于可配置构件模型的软件开发流程33
6.2平板式跑步机系统结构34
6.2.1功能结构34
6.2.2软件体系结构35
6.2.3OSD-GUI资源的生成36
6.3GUI构件37
6.4OSD构件39
6.5平板式跑步机系统的实现及运行的结果41
第7章总结和展望45
7.1总结45
7.2未来工作展望45
致谢47
第1章绪论
1.1课题背景
在社会的各行各业我们都能见到计算机技术的身影,计算机技术促进了信息化水平整体的建设,对社会生产力的提高产生了极大地推动作用,同时也丰富了人们的生活,其主要原因是软件的灵活性由于有软件的灵活性功能软件的灵活性才得以实现了,以达到减轻人类的工作量的效果。
与此同时,软件变得越来越复杂、程序代码不断增长也是有几方面的因素:
首先,软件本来就是很抽象的一种东西,让人很难具体去把握;近些年来,软件帮助人们实现了很多事情,满足了很多需求,由此,规模变大就是自然而然的了。
软件开发和维护费用的庞大,外加上由此产生的软件质量下降,于是软件危机产生了。
要解决软件危机,我们就面临着两方面的难题:
其一,为了满足日趋复杂、不断增长的功能需求,我们要如何开发软件;其二:
在面对数量不断膨胀的软件产品状况,我们能去如何维护。
为了解决上诉难题,人们已经采用了多种技术手段进行了尝试来提高软件质量与开发效率、减少成本开发。
人们在不断地进行软件开发的过程中发现这样一个事实,如果将软件重要这样一个思想概念用到软件业中,就能使其功能得到开发,从而实现高质量、高效率的软件。
在很多传统工业或者其它的一些技术工业中不难发现,它们之所以成功,是因为它们生产所使用的零部件都是合格标准的且是事先备好的,认识到了这一点,也就离将软件重要这个概念进行全面运用不远了。
我们称这些零部件为构件,现如今各行各业都在使用构件概念,在建筑业和制造业尤为成熟,在软件这一相对年轻的产业中,利用模仿模式,也逐渐形成了新的软件开发(Component-BasedSoftwareDevelopment,CBSD)方式——及基于构件的软件开发方式,但理论和实践还任然在进步中。
一般来说在这种软件开发方式中,我们往往是按照一定标准将所有被重用的对象进行封装使其成为了构件(Component),这样一来开发软件过程就变为了组装这些标准化的、预先建造好的构件过程。
我们在像这样的嵌入式应用软件开发的具体过程中,一般来说会使用同一型号的外部设备或者是具有相同功能的模块,这些模块是有具有相同代码的程序构成的,若要实现其模块的重用只需要修改一些具体的参数就可以了。
与传统的软件开发方式相比,新兴的嵌入式软件有着成本低,开发周期短,软件通用性好的优势。
故在对嵌入式软件进行开发的过程中,怎样对每一个模块实现软件重用是我们值得思考的。
并且嵌入式系统的有着基本特点——资源有限、实时性、专用性等因素,使得相较与一般通用软件,许多问题更加难解决。
如:
对嵌入式软件有着简洁高效的要求,有限的资源极度,但是这种要求在大多数情况下,要达到必须依靠设计者的技巧,软件的可维护性又会由于过多使用这些技巧而变差;现在对嵌入式产品的要求变得越来越高,比如要很快发布新产品、每一轮研发时间不能长,还要降低成本,这些当然会影响产品的质量。
因此,要探索适合软件开发域嵌入式软件系统领的新技术,这己经成为迫在眉睫的事。
在这种背景下,我们便将基于构件的软件开发引入到嵌入式软件设计中去。
1.2国内外研究现状
于1968年的软件工程会议上(NATO),Mcllicy第一次提出了软件复用的概念,并且对这一概念做了简要的定义。
刚迈进九十年代的大门,基于构件的面向对象技术就隐约出现。
在随后的几十年中,面向对象技术迅猛发展变得越来越热门,并且有逐步取代传统技术转而成为主流的趋势。
为了能够适应社会的高速发展和软件领域的激烈竞争,部分软件开发者就开始慢慢探索一种能够即插即用、流水线生产的软件,这便是我们现在很熟悉的构建技术。
因为嵌入式软件的开发过程中会遇到这些类似的相关问题,这些问题会极大地增加软件开发成本。
因此我们便开始尝试将基于构件的软件开发技术引入到系统软件开发中去。
纵观国内外的市场,针对嵌入式系统的相关研究工作内容主要包括:
软件的构件化开发方法学、应用软件的构件化开发实践和开发环境以及运行环境的构件化模型。
值得一提的是,构件的嵌入式软件开发是以上所提到的内容中非常有价值的一项。
比如:
针对特定应用讨论了嵌入式实时操作系统如何利用构件技术构建的问题是朱立新等研究人员提出的;针对通过OSGi这个界面如何将构件的嵌入式软件开发的发展过程展现的问题,周功建等研究者对此进行了深究;SheikhIAhamde等实现了一个构件化的嵌入式数据库,其可以用于移动嵌入式系统。
以上的系统软件开发凸显了几个实质性的内容,也就是要想在软件开发中占有优势,嵌入式软件开发必须是在构件之上的,还可以在其软件开发之中发现漏洞,而且要总结一些方法来填补漏洞,最后也可以通过实践来检测和修正理论知识。
现如今,公共对象请求代理体系结构、分布式组件对象模型/组件对象模型和JavaBeans/EJB是全世界非常有代表性的非嵌入式系统结构,在中国,北大的青鸟系统也是被人较为熟知的。
。
Koal、PECOS以及Rubus为国外提出的模型。
飞利浦提出了Koala,用于消费电子领域;AseaBrownBoveri企业提出的PECOS,用于现场设备,还有Arcticus企业提出的Rubus,用于建筑设备。
电子科技大学邓勇等研究人员应用于智能家电控制的嵌入式软件源码构件模型等等,这些是处于起步阶段的国内相关研究。
人机交互界面能让人们更能接受,所以这必然会成为消费电子产品的之后的走向,另一方面,微控制器系统所存储的内容库相当少,显然很难满足人们想要获取更多图片资源的需要。
自己设计的GUI库能使程序编程人员更好的灵活性。
由于这些GUI库有很好的重用性,只要对GUI构件进行必要的参数配置,我们就能快捷地构建应用系统。
在构件之上进行软件开发效率高,而且可信度高,但是我们在对有图形用户界面的消费电子产品的实践中却没有体现这两点。
1.3研究意义
很多开发实践表明,在上面的应用控制装置或者下面的DrivenDevelopment之中,能够发现很多一段一段的代码,并且这些代码都是能被重用的,由于缺乏对其规整、重用和保管,所以在嵌入式软件开发做了一部分后又需重新开始,之前的积累都浪费了。
在大量PC软件开发实践的基础上,我们发现提高软件重用性的最佳选择就是基于构件的软件开发。
构件是一个可重用的基本单元,其之间能够通信、协作,并能同系统的其它部分交互。
产品系统的结构会变得更为简单和易懂,软件重用大大增大,单方面的对构件进行开发完成,系统也可以在短期内发布出来,可信度也变大了。
可以大胆猜测,今后软件开发的趋势必将是基于构件的软件工程。
软件开发范围内的内容很多,一般的软件模型都能被运用在其中,但是对微控制器软件开发来说,不管是中国还是国外都很少有能符合它的基于构件的的软件系统,在其软件开发中间,没有体现构件化的快速性。
此外,在工业控制、机顶盒等领域具有GUI界面需求的单片机软件系统有着广泛的应用。
因此,本论文着眼于嵌入式构件模型、源代码构件及其应用的研究,这些都是基于源代码的,此论文的研究对象为相应领域,仅以此论文希望在嵌入式构件技术方面的理论研究做出自己的贡献。
同时,本论文的研究工作具有相当的实用价值和理论意义。
1.4研究内容
通常的嵌入式产品的软件设计界面都是GUI模式的,本论文主要目的之一就是研究嵌入式软件领域的的一些共性问题,并且提出解决配置上遇到的一些难题。
与此同时,本文还对构件模型的接口和属性做了尝试性的探讨。
本论文的研究内容包括:
1)系统性的对软件工程的重要内容和软件发方法做了深入的探讨和研究,弄清楚了我们应该怎样通过构件化的软件开发方法来提高开发效率和软件重复利用率。
构件化的软件开发是我们应对新形势下的软件危机所采取的重要解决方法。
2)主要讨论了嵌入式软件的构件试设计方法以及各种软件开发方法的共性问题。
以已经存在着的软件构件模型为基础,并根据我们发展的趋势,提出一种更加适合软件开发的嵌入式开发模型,也就是我们常说的可以配置的构件模型。
(3)分析特定领域中所提出的可配置构件模型,其模型的软件体系结构基于分层结构和MVC结构这种相结合的软件结构。
(4)进一步去研究软件构件模型和相应的体系结构,从而实现在不同平台上使用同一应用的功能,证明了构件化软件开发方法的科学性、实用性。
1.5论文组织结构
此论文共有七章,对在嵌入式软件设计中就如何应用软件构件化思想进行了系统介绍和阐述。
主要内容如下:
第一章绪论。
主要介绍整篇论文的研究背景、国内外研究现状、研究意义、研究内容和论文的组织结构。
第二章嵌入式系统及软件重用技术。
主要介绍嵌入式系统的软硬件结构、软件设计方法及软件重用技术的相关理论。
第三章软件开发技术中基于构件的开发。
主要对构件的软件开发的相关理论以及现有构件模型的特点进行了详尽介绍。
第四章可配置的构件模型介绍。
首先对现有构件模型做简要分析,然后系统的介绍嵌入式软件开发的构件模型,这样的模型具有GUI界面。
与此同时,本章还构件模型的组成要素、实现过程以及软件体系结构都进行系统的阐述。
第五章关于软件构件的设计与应用。
这类软件构件是基于嵌入式软件开发过程中通用模块这一因素而制定出的。
同时在可配置构件模型基础下,将构件的接口以及其内部实现结构做了较为的详细阐述。
最后运用具体的实际例子证明了这一事实——构件的软件开发对嵌入式软件开发带来很高的效率和极高的可靠性。
第六章如何实现平板式跑步机系统。
本章主要针对性的对软件开发流程,软件功能具体结构进行了全面的详细地阐述。
不仅如此,本章还对OSD及GUI构件的设计过程、原理以及设计中的注意问题做了初步探索。
关于在以可配置构件为基础的软件开发方法的具体运用也做了基本的论述。
一般来说,我们采用将通用构件的手工组装来实现软件系统的实际应用。
第七章论文总结和未来领域的展望。
从软件开发的必然趋势着手,加以实际的数据作为支撑提出本人的论文总结。
然后是关于嵌入式软件领域的未来展望,构件式软件开发是我们未来软件开发的重要领域,也是我们急需要花大量精力解决的难题。
第2章嵌入式系统及软件重用技术
2.1嵌入式系统
通常意义上,我们所说的嵌入式系统指的是将微处理器作为核心构件并且把这类构件嵌入在另外一台这杯上的一种专用计算机系统。
嵌入式系统的组成部分包括处理器、存储器、输入/输出(I/O)以及软件共四个(如下图2.1)。
嵌入式系统的产生具有一定的行业背景,是在将计算机技术和半导体技术同电子技术各个行业的具体应用相结合之后才应允而生的。
是综合运用软件技术和实际相结合的产物。
图2.1嵌入式系统组成
在摩尔定律的影响之下,微处理器得到了飞速发展,最后让嵌入式技术成为一门学科。
嵌入式系统被最开始提出时,所有基本硬件相对较小和简单,其软件设计比较简单,子系统运用一体化的监控程序。
现在阶段,不仅嵌入式系统的基本硬件很复杂,,与此同时,其系统软件的设计也在加倍的变得更为复杂。
故嵌入式领域的最为关键的技术就是嵌入式软件系统的设计方法和开发工具。
2.1.1嵌入式系统的特点
硬件技术的飞速发展和用户需求的逐渐提高对嵌入式软件的开发提出了一定的难度和挑战。
对于软件设计来说,使得系统的影响达到最大范围是我们这种嵌入式系统的必然要求。
我们在将嵌入式计算机与普通计算机系统做比较会发现如下几个方面的特点:
1)在内核小的微型处理器里一般采用嵌入式软件,由于相对有限的嵌入式软件系统资源,内核操作处理系统比传统的操作系统要小很多。
(2)系统精简嵌入式系统的功能设计及实现上过于简单,不太分系统软件和应用软件,因此,既有利于控制系统的成本,又对实现系统安全有利。
(3)专用性强嵌入式系统的专用性非常强,硬件和软件系统很紧密的结合,针对硬件通常进行系统移植。
一般说来对于不一样的任务,我们都要将系统做一些改进,使得系统能够很好地适应新的硬件和完成所要求目的。
同系统软件的“升级”不相同的是这种改进是要同系统结合起来进行编译的。
(4)实时性是指对于嵌入式系统,大多数工作在实时方式下必须进行。
只有在数据或控制信息在某段时限内到达,系统才会正常,否则将会引起错误。
一个系统的实时性能否得到满足对于对于嵌入式系统来说极其重要,假若超过实时系统的时限便会引发危险甚至是危机生命。
(5)一般来说,要想开发这样的一种嵌入式系统必须要有专门的开发工具,并且一旦关于嵌入式系统的环境完成设计后,用户就不可以更改这一系统的程序功能。
之所以用户没有权限更改是因为开发这样的系统需要专门的开发工具和开发环境。
一般情况下,开发软件时运用“宿主机/目标机”方式(如图2.2所示)来进行,程序的开发有赖于宿主机,而程序的执行是在目标机中完成的。
图2.2宿主机/目标机的开发方式
图2.2宿主机/目标机的开发方式
2.1.2嵌入式系统的现状及发展趋势
在信息化,智能化,网络化的发展之下,嵌入式技术应用也获得了广阔的发展空间。
当今,关于通信类的产品和消费性质的产品已经逐渐升温,成为嵌入式技术的研究开发方向。
特别是在通信领域,模拟技术逐步被数字技术全面取代。
在广播电视行业,欧洲的数字电视广播(DVB)技术的采纳应用已经遍布全球众多国家,美国已从模拟电视开始迈向数字电视转的新时代。
于与此同时,数字音频广播(DAB)也正在想着商品化发展。
对于产业发展,软件、集成电路和新型元器件也显得尤为重要。
当然,离开了嵌入式系统技术,所以上述产品也无法实现。
对于个人领域,嵌入式产品将主要是作为个人移动的数据处理和通讯软件。
在随后PC时代的来临,嵌入式商品获得了较好的发展空间,嵌入式市场开始繁荣,同时微处理器厂家也面临众多全新的挑战,嵌入式系统在未来的发展方向有以下几个明显趋势:
(1)由于嵌入式开发本身就是一项十分重大的工程,所以很多芯片厂家既要提供软件和硬件系统,又要提供开发相应软件的工具盒软件压缩包。
多数厂商不仅主推硬件系统,同时也会重点推广软件开发环境。
另外,产生这一结果的原因也有市场竞争。
(2)嵌入式网络的发展对芯片处理功能的要求有所提高。
随着网络化、信息化技术的不断发展,宽带的不断提高,让以前只有单一功能的产品(如手机、微波炉、冰箱等
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最终 轻量级 构件 嵌入式 软件 开发 应用