CN1877522A - 嵌入式系统基于功能构件化的实现方法 - Google Patents
嵌入式系统基于功能构件化的实现方法 Download PDFInfo
- Publication number
- CN1877522A CN1877522A CN 200610052229 CN200610052229A CN1877522A CN 1877522 A CN1877522 A CN 1877522A CN 200610052229 CN200610052229 CN 200610052229 CN 200610052229 A CN200610052229 A CN 200610052229A CN 1877522 A CN1877522 A CN 1877522A
- Authority
- CN
- China
- Prior art keywords
- function
- embedded
- building blocks
- interface
- standard interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 230000006870 function Effects 0.000 claims abstract description 61
- 238000005538 encapsulation Methods 0.000 claims description 6
- 230000015572 biosynthetic process Effects 0.000 claims description 3
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 14
- 238000000926 separation method Methods 0.000 abstract 1
- 238000011161 development Methods 0.000 description 11
- 238000004519 manufacturing process Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000013459 approach Methods 0.000 description 6
- 230000000875 corresponding effect Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- RZVAJINKPMORJF-UHFFFAOYSA-N Acetaminophen Chemical compound CC(=O)NC1=CC=C(O)C=C1 RZVAJINKPMORJF-UHFFFAOYSA-N 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004615 ingredient Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明涉及嵌入式操作系统技术领域,旨在提供一种嵌入式系统基于功能构件化的实现方法。该方法包括根据系统功能对系统进行划分、定义功能构件标准接口和功能构件封装。该方法具有可重用性和灵活性。本发明充分利用软件复用技术的特点,对嵌入式操作系统按照其功能进行模块划分,并对功能模块进行了构件化,从而形成了按照功能构件化的嵌入式操作系统,这些功能构件都是可重用的。按照功能构件化的嵌入式操作系统,能够根据实际需要的不同,选择不同的功能构件来构造嵌入式操作系统能够提供的服务,从而使得系统的功能更加灵活,性能更高。
Description
技术领域
本发明涉及嵌入式操作系统技术领域,尤其是涉及一种嵌入式系统基于功能构件化的实现方法。
背景技术
随着计算机软硬件的发展。工业化程度的提高,构件化思想被引入了计算机领域。就像标准的零部件在传统工业中发挥的作用一样。标准的构件也将在计算机的软硬件中发挥作用。构件这一词语,更早地出现并应用在建筑领域。建筑设计使用建筑图纸,从图纸上,可以知道“餐厅”、“卧室”的位置和设计,但如果没有建筑师的指导,生手(即使很了解图纸)仍然无法盖起大楼。为了解决这个问题,产生了构件化。第二次世界大战期间为了迷惑德国军队,盟军一夜之间可以建造数十座大楼,效率如此之高,就是因为把房子看成标准的构件,用吊车,如搭积木一样,简单地完成。
随着计算机制造业的发展,硬件技术及硬件性能的提高速度总是快于软件,著名的摩尔定律说明了硬件的发展速度,但是考察一下软件开发的速度,可以发现软件开发的速度一直远远地落后于硬件的速度。软件的应用领域也发生了根本的变化,模式从单机模式、C/S模式一直到现在的网络计算,特别是网络计算带领软件产业进入了一个新的时代,以电子商务为代表的技术潮流正将大到企业计算、小到个人数字代理的各种应用,软件开发领域正面临着一些新的课题,如复杂的分布环境、灵活的应用模式、广泛的包容性等,人们需要的是一种能以“Internet速度”开发软件的方法,传统的软件设计思想显然已远远不够。
诸如此类的问题的最佳方法是采用构件化和软件复用的方法进行软件开发。这需要解决两方面的问题:其一是建立一种工程化的软件开发方法;其二是采取软件复用的方式。从类比的角度出发,电子生产企业能够降低成本,硬件构件化是基础。
提高软件开发的速度,软件开发工程化是必由之路。软件开发工程化在现实中所采取的形式在目前来说,软件工厂无疑是最可行的形式,也许以后会出现软件开发自动化,但从目前的状况来看,软件开发自动化还是非常遥远。如何实现软件工厂、软件蓝领的软件开发运作模式,必须研究其实现基础与所需要的外部条件。
就是为了解决这一连串的问题,构件技术应运而生。构件技术与面向对象的开发方法不同的是,面向对象的技术强调对个体的抽象,构件则更推广了对象封装的内涵,侧重于复杂系统中组成部分的协调关系,强调实体在环境中的存在形式。
从广义上来说,构件有如下的几个基本属性。
1.构件是可独立配置的单元,因此构件必须自包容;
2.构件强调与环境和其他构件的分离,因此构件的实现是严格封装的,外界没机会或没必要知道构件内部的实现细节;
3.构件可以在适当的环境中被复合使用,因此构件需要提供清楚的接口规范,可以与环境交互;
4.构件不应当是持续的,即构件没有个体特有的属性,理解为构件不应当与自身副本区别。
从以上四个属性可以看出,构件沿袭了对象的封装特性,但同时并不局限在一个对象,其内部可以封装一个或多个类、原型对象甚至过程,结构是灵活的。构件突出了自包容和被包容的特性,这就是在软件工厂的软件开发生产线上作为零件的必要特征。
构件化对软件开发工程化是非常重要的,有了构件才能通过构件的组装、互连,实现软件的工程化开发。然而更进一步可以这么说,构件化也有自己的基础,那就是统一的建模语言,它应该是一种所有软件开发人员都了解的语言,可以完整地描述软件的需求和结构,这就是“统一建模语言”(Unified ModelingLanguage,UML)。随着软件的日益复杂,传统的开发方法已经难以满足需求,面向对象的开发方法逐渐成为主流,UML就是第三代面向对象开发方法。利用UML,软件设计人员可以很方便地为实际系统的编写提供一个“蓝图”,可以对软件系统及其部件进行表示、直观化说明、构建和开发过程文档化,能大大简化软件设计的复杂过程。当然,仅有建模语言还不够,还需要有相应的“过程”来实现用建模语言搭建的“蓝图”。
所以说构件是一种前沿的软件设计思想,对整个软件行业的发展有着推动作用。如果回顾经典的工业化革命,不难得出一些有益的启示:功能再复杂的产品都是由大量标准的零件(尽管零件可能只在本领域内有用)组成,零件在生产线上装配成一个成品,所有零件在成品中共同发挥作用。分工越细致、专业生产的程度越高,总体生产效率就越高。而构件技术所扮演的角色就是把零件、生产线和装配运行的概念运用在在软件工业中,可以预见,软构件技术是软件产业化革命的必然发展趋势。
作为嵌入式系统基础技术之一的嵌入式操作系统,其发展也必然要受到构件技术的影响,从而需要对嵌入式操作系统进行特定的设计,使其也能够进行构件化,利用构件技术解决长期以来困扰操作系统体系结构设计者的大内核和微内核在性能、效率与稳定性、安全性之间不能两全其美的矛盾。
发明内容
本发明的目的在于克服现有技术的不足,提供一种嵌入式系统基于功能构件化的实现方法,本发明解决其技术问题采用的技术方案如下:
本发明提供了一种嵌入式系统基于功能构件化的实现方法,包括以下步骤:
1)根据系统功能对系统进行划分
按照嵌入式操作系统的功能,将操作系统划分为程序运行、I/O设备访问、文件访问、系统访问、错误检测和反馈、程序开发六类;
2)定义功能构件标准接口:
功能构件包括头信息和标准接口,标准接口封装了嵌入式操作系统功能构件的重要信息,包括查询函数获取标准接口的使用方法、功能构件公共接口函数库,用于对功能构件进行基本的操作,包括接口查询功能、动态装载、移出构件功能、简单的本地管理功能,包括申请、下载构件、删除、更新、替换本地构件;
3)功能构件封装
按照标准接口的定义,按照步骤(1)中划分出的嵌入式操作系统功能对操作系统进行封装,对于每一个划分出来的嵌入式操作系统功能模块加上头信息和接口信息,并重新进行编译形成嵌入式操作系统功能构件。
作为本发明的一个改进,所述步骤(1)中划分程序运行功能,包括指令和数据载入内存、I/O设备和文件系统的初始化。
本发明与背景技术相比,具有的有益的效果是:
(1)可重用性。本发明充分利用软件复用技术的特点,对嵌入式操作系统按照其功能进行模块划分,并对功能模块进行了构件化,从而形成了按照功能构件化的嵌入式操作系统,这些功能构件都是可重用的。
(2)灵活性。按照功能构件化的嵌入式操作系统,能够根据实际需要的不同,选择不同的功能构件来构造嵌入式操作系统能够提供的服务,从而使得系统的功能更加灵活,性能更高。
附图说明
图1是本发明过程的示意图;
图2是构件统一接口的示意图;
图3是按功能构件化的嵌入式操作系统与构件库的关系示意图。
具体实施方式
下面结合附图对本发明作进一步的说明。
一种嵌入式系统基于功能构件化的实现方法,附图1是本发明实施过程的整体示意图,其具体实施方法如下:
1)系统功能划分
操作系统是充当计算机用户和计算机硬件之间的一个中介,并用于管理计算机资源和控制应用程序运行的计算机程序,按照嵌入式操作系统的功能,可以划分为以下六类不同的功能:
·程序运行,嵌入式软件程序的运行离不开嵌入式操作系统的配合,其中
包括指令和数据载入内存,I/O设备和文件系统的初始化等等;
·I/O设备访问,每种I/O设备的管理和使用都有自己的特点。而操作系统接管了这些工作,从而使得用户在使用这些I/O设备的过程中会感觉更方便;
·文件访问,文件访问不仅需要熟悉相关I/O设备(磁盘驱动器等)的特点,而且还要熟悉相关的文件格式,对于多用户嵌入式操作系统或者网络嵌入式操作系统,从安全角度考虑,需要对文件的访问权限做出相应的规定和处理;
·系统访问,对于一个多用户或者网络嵌入式操作系统而言,操作系统需要对用户系统访问权限做出相应的规定和处理;
·错误检测和反馈,当操作系统运行时,会出现这样那样的问题,操作系统应当提供相应的机制来检测这些信息,并且能对某些问题给出合理的处理或者报告用户;
·程序开发,一般嵌入式操作系统都会提供丰富的应用程序接口供程序员开发应用程序,并且很多程序编辑工具,集成开发环境等等也都是通过操作系统提供的;
上述的分类是从嵌入式操作系统的总体进行划分,其划分粒度较大,在此次划分之后,可以进行进一步的划分,从粒度上来看,构件的粒度越小,功能划分得越细,嵌入式操作系统构件越多;构件粒度越大,功能划分得越粗,嵌入式操作系统构件就越少。
构件粒度的大小,决定了构件模块化、信息封装性、局部化的程度,为此必须保证构件的独立性。一旦构件具备良好的独立性,建立在嵌入式操作系统构件之上的应用程序构件更容易开发,接口也会简化;独立的模块也比较容易测试与维护,修改工作量小,错误传播范围小。如果粒度过小,虽然构件独立性增强,但是构件的接口就增加了,给构件的组合、构件的管理带来了很多的困难。如果粒度过大,构件的尺度增加,独立性降低,各个构件之间的关联度也会增加,不利于构件的动态替换与更新。
2)定义功能构件标准接口
功能构件标准接口封装了嵌入式操作系统功能构件的重要信息,这样功能构件的使用者就能够通过标准的接口获取功能构件的基本信息。
基本上,功能构件主要由头信息和接口两部分组成,更重要的是功能构件的使用者还能通过接口查询函数获取标准接口的使用方法,同时,功能构件标准接口还提供了功能构件公共接口函数库,用于对功能构件进行基本的操作,包括接口查询功能、动态装载、移出构件功能、简单的本地管理功能,包括申请、下载构件、删除、更新、替换本地构件等操作。
构件标准接口是嵌入式操作系统基于功能构件化的基础,构件标准接口设计的好坏将直接关系到构件化的性能。构件标准接口形成一套统一接口,实现了构件组合之间、构件与应用系统之间、构件与构件库之间的简单清晰的数据传递标准规范,使构件更加透明,数据传输更加规范,构件管理更加方便。另外,按照构件标准接口开发出的构件具有较好的灵活性和扩展性和相对的独立性,易于独立升级、动态加载和跨平台、跨进程、跨网络使用。
3)功能构件封装
按照标准接口的定义,对1)中划分出的嵌入式操作系统功能进行封装,对于每一个划分出来的嵌入式操作系统功能模块,都加上头信息和接口,以及其他相关的信息,并重新进行编译形成嵌入式操作系统功能构件。
构件经过标准封装后,都有序存放在构件库里面。而操作系统和其他应用系统在使用构件的时候,只要通过统一的接口,可以透明的调用构件而不必顾忌调用的格式和特殊构件的调用条件;同时有了统一接口,可以格式化的在构件之间和构件与操作系统、应用平台之间进行数据流传输而实现应用的平台和网络跨越。
Claims (2)
1、一种嵌入式系统基于功能构件化的实现方法,其特征在于,包括以下步骤:
1)根据系统功能对系统进行划分
按照嵌入式操作系统的功能,将操作系统划分为程序运行、I/O设备访问、文件访问、系统访问、错误检测和反馈、程序开发六类;
2)定义功能构件标准接口:
功能构件包括头信息和标准接口,标准接口封装了嵌入式操作系统功能构件的重要信息,包括查询函数获取标准接口的使用方法、功能构件公共接口函数库,用于对功能构件进行基本的操作,包括接口查询功能、动态装载、移出构件功能、简单的本地管理功能,包括申请、下载构件、删除、更新、替换本地构件;
3)功能构件封装
按照标准接口的定义,按照步骤(1)中划分出的嵌入式操作系统功能对操作系统进行封装,对于每一个划分出来的嵌入式操作系统功能模块加上头信息和接口信息,并重新进行编译形成嵌入式操作系统功能构件。
2、根据权利要求1所述的嵌入式系统基于功能构件化的实现方法,其特征在于,所述步骤(1)中划分程序运行功能,包括指令和数据载入内存、I/O设备和文件系统的初始化。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200610052229 CN1877522A (zh) | 2006-06-30 | 2006-06-30 | 嵌入式系统基于功能构件化的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200610052229 CN1877522A (zh) | 2006-06-30 | 2006-06-30 | 嵌入式系统基于功能构件化的实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1877522A true CN1877522A (zh) | 2006-12-13 |
Family
ID=37509970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200610052229 Pending CN1877522A (zh) | 2006-06-30 | 2006-06-30 | 嵌入式系统基于功能构件化的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1877522A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101799761A (zh) * | 2010-03-29 | 2010-08-11 | 青岛海信电器股份有限公司 | 电视机软件开发平台及其使用方法 |
CN102096729A (zh) * | 2010-12-14 | 2011-06-15 | 成电汽车电子产业园(昆山)有限公司 | 一种面向汽车电子的虚拟功能总线设计器 |
CN110096265A (zh) * | 2019-05-09 | 2019-08-06 | 趋新科技(北京)有限公司 | 一种基于数据流和元件的软件设计方法、软件设计工具和软件运行平台 |
CN113268275A (zh) * | 2021-07-19 | 2021-08-17 | 成都菁蓉联创科技有限公司 | 一种基于微内核的硬件设备驱动系统及其驱动方法 |
-
2006
- 2006-06-30 CN CN 200610052229 patent/CN1877522A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101799761A (zh) * | 2010-03-29 | 2010-08-11 | 青岛海信电器股份有限公司 | 电视机软件开发平台及其使用方法 |
CN101799761B (zh) * | 2010-03-29 | 2013-01-09 | 青岛海信电器股份有限公司 | 电视机软件开发平台及其使用方法 |
CN102096729A (zh) * | 2010-12-14 | 2011-06-15 | 成电汽车电子产业园(昆山)有限公司 | 一种面向汽车电子的虚拟功能总线设计器 |
CN102096729B (zh) * | 2010-12-14 | 2012-10-03 | 成电汽车电子产业园(昆山)有限公司 | 一种面向汽车电子的虚拟功能总线设计器 |
CN110096265A (zh) * | 2019-05-09 | 2019-08-06 | 趋新科技(北京)有限公司 | 一种基于数据流和元件的软件设计方法、软件设计工具和软件运行平台 |
CN113268275A (zh) * | 2021-07-19 | 2021-08-17 | 成都菁蓉联创科技有限公司 | 一种基于微内核的硬件设备驱动系统及其驱动方法 |
CN113268275B (zh) * | 2021-07-19 | 2021-09-28 | 成都菁蓉联创科技有限公司 | 一种基于微内核的硬件设备驱动系统及其驱动方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102103497B (zh) | 有限状态机执行装置和方法、在应用中的建立和使用方法 | |
US8990765B2 (en) | Computationally efficient system for developing configurable, extensible business application product lines using model-driven techniques | |
Ivers et al. | Documenting component and connector views with UML 2.0 | |
US7698293B2 (en) | System and methods for capturing structure of data models using entity patterns | |
US8261248B2 (en) | System and method of executing a dynamic program in a structured environment | |
Katasonov et al. | Towards ontology-driven development of applications for smart environments | |
CN106502668B (zh) | 一种实现Android JNI反射的接口封装方法及系统 | |
CN101067814A (zh) | 数据访问层Xml格式数据与关系数据间的映射转换方法 | |
CN1794170A (zh) | 一种基于统一建模语言的电信领域建模工具及建模方法 | |
CN1924800A (zh) | 用于二次开发平台的基于控件的插件管理系统及方法 | |
US20120047484A1 (en) | Decorated model architecture for efficient model-driven application development | |
US20030088857A1 (en) | Method for facilitating application development | |
WO2002077803A1 (en) | Method and apparatus for dynamic assembly and verification of software components into flexible applications | |
US6941309B2 (en) | Object integrated management system | |
CN105447051A (zh) | 一种数据库操作的方法和装置 | |
CN1270229C (zh) | 基于动态内核实现跨地址空间创建构件对象的方法 | |
CN1877522A (zh) | 嵌入式系统基于功能构件化的实现方法 | |
US9373093B2 (en) | Gateway service manager for business object applications | |
CN115756451A (zh) | 一种多项目代码文件重用的方法、装置、设备、存储介质 | |
CN103631645A (zh) | 一种基于数字医疗的数字家庭中间件系统 | |
CN104063231A (zh) | 一种基于hit-tena的试验资源快速接入方法 | |
CN102779036B (zh) | 用于自动化技术的软件工具 | |
CN1797397A (zh) | 一种电力自动化系统实时数据库管理系统及其实现方法 | |
CN101055521A (zh) | 映射规则的可视化生成方法及系统 | |
Tong | Design and implementation of context calculus in the GIPSY |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20061213 |