实时组件的调度策略研究

实时组件集成中组件调度策略的研究
摘  要:   在面向特定领域的软件开发过程中,基于组件的软件工程越来越受到重视。但组件软件工程应用到实时嵌入式系统中时,组件集成遇到了新的挑战。本文首选提出了层次式组件模型,然后描述了在层次式组件模型基础上如何选取符合实时性能约束的组件进行组件集成――实时组件调度的过程。
关键词 :   实时组件 组件集成 调度策略
中图分类号 TP311
 
1.        组件与组件软件工程
传统的面向具体应用的开发模式因其软件复用度低、开发周期长越来越不适应发展的要求,因为嵌入式系统的应用越来越向在特定应用领域内进行纵向发展。而特定应用领域的嵌入式系统无论是在系统设计还是在代码编写上都有着很大程度上的共同特点。如在完成面向客用汽车电子领域的嵌入式软件开发平台及关键技术的开发过程中,主要就要研究在汽车电脑、汽车状态检测、汽车安全、汽车导航等嵌入式应用中存在的大量共同点,如在系统模块结构、实时操作系统、网络、GUI等方面都具有相同或相似的地方。而面向组件的软件工程的引入,可以大大提高在某一领域应用系统开发的软件复用程度,提高开发效率,进而缩短开发周期,从而提高软件企业的竞争实力。
所谓组件,就是软件系统内可标识的、符合某种标准要求的组成成分,是对外提供一组规约化接口的、符合一定标准的、可替换的软件系统的程序模块。构件具有接口与实现相分离、可重用、可集成等特点。构件的形式化描述如下:
SC::={ SCI,SCF,SCE}
其中  SC 为组件的描述实体;
    SCI 为组件的接口描述,为组件的调用规范的描述,具体包括组件的属性、方法和事件的标准描述;
    SCF 为组件的功能描述,为组件提供什么样功能的描述;
    SCE 为组件的功能实体,由实现组件功能的代码所构成;
组件软件工程,就是从软件体系结构的高度上,分析研究特定应用领域内软件的共性和差异从而构造不同层次的组件,形成组件库。组件库负责保存各个组件的接口、功能、性能的描述。在构建具体应用系统时,从组件库中选出在功能、接口和性能上都符合应用系统要求的组件,快速高效的集成组建应用系统。
2.        实时组件与实时组件集成
组件软件工程在应用到实时嵌入式系统内面临更多的挑战。因为实时系统运行结果的正确性不仅依赖于运行结果的逻辑正确性,而且依赖结果产生的时间。同时嵌入式系统还对目标系统的资源提出了更为严格的要求。即实时组件的除了具有一般组件的功能和接口描述外,还必须具有如优先级、完成时限、任务调度算法、任务周期等非功能性约束。
实时组件的形式化描述如下:
SCR:={SCI,SCF,SCP,SCE}
其中SCR代表实时组件的实体;
SCI为实时组件的接口集合;
SCF为实时组件的能提供的功能集合;
 
SCP为实时组件的非功能性描述集合,包含了实时组件的如优先级、周期、完成时限、内存要求等实时性能描述;
SCE为实时组件的功能实现实体。
    实时组件集成是指在组件集成过程中,选出的组件不仅在功能集和接口集上满足应用系统的要求,而且要在实时性能上满足特定组件的要求,同时组件集成后整个应用系统的实时性能也能耐用得到保证。组件集成方法有手动方法和自动方法。手动方法是利用开发工具,人工检索组件库中符合要求的组件,然后进行集成编码,编译生成应用程序。这种方法是目前组件研究中比较的方法,也是比较实现的方法。而自动集成则是在给出目标系统的功能、性能需求后,由开发平台的集成工具自动地进行组件化的功能模块的分解,再根据功能和性能要求选择最优组件,并自动生成连接代码,自动构建应用系统,从而实现应用软件的自动化。
3.        实时组件调度
在实时组件集成过程中,如何从庞大的组件库中选出符合要求的组件,这就是实时组件调度所要研究的问题。组件框架是组件集成进而是组件调度的基础。组件调度算法是组件调度的核心。
3.1 层次式组件框架模型
层次式模型如图1所示。整个应用系统可以看成是一个组件。而该组件是由若干个子组件在纵向和横向组织起来的。组件可以是终端对象,即完成特定功能的对象;也可以是结构对象,即是由若干组件对象连接而成的复合结构。这种组件模型可方便地利用面向对象的方法实现。
图 1 层次式组件框架模型
3.2 实时组件的调度过程
对于层次式组件框架框架模型,实时组件调度过程可分为两阶段进行:
第一阶段,根据要求组件模块的功能、接口为每个要求的模块组件从组件库中选出符合要求的组件形成候选组件集SI,I的取值从1到系统要求的组件数N。这里可采用“自顶向下”的方法:以上述模型为例,在构建该应用系统(组件)时,可先确定该应用系统可由OS组件、系统支撑组件、应用组件来实现其功能和接口。然后再确定OS组件、系统支撑组件、应用组件的候选组件集;再确定OS组件的子组件进程调度、内存管理及他们的候选组件集。 对应用组件也是分层进行确定各个功能子组件及其候选组件集。直至每个组件都找到其候选组件集。当然,若没有符合要求的,就要重新构建或修改现有组件。在层次模型的最下层组件是能够完成一定功能的终端对象。 上述过程可以看成是一棵树的创建过程。
第二阶段,从最上层的组件模块开始,对其下层组件进行集成分析,从而确定集成方案。其集成方法如下:对每个该组件的子组件,都从该模块组件的候选组件集中选一个组件,并将这些组件加入上层组件的方案集进行组件集成,并对集成后子系统的实时性能约束进行计算,对不能满足子系统实时性能要求的组件集成方案进行淘汰;若遇到终端组件,则返回上层组件的下一个组件进行相同的集成过程。直至系统要求的所有组件模块都集成完毕,这时获得的集成方案就一定能满足整个系统的实时性能要求。
在上述模型中,先分别从OS组件、系统支撑组件、应用相关组件的候选组件库中选择一个组件,加入应用系统组件中,进行实时性能分析,对不符合性能要求的方案进行淘汰;符合的加入集成方案集中,直至每种组合都分析完毕。然后再从进程调度和内存管理组件的候选组件集中各选一个组件加入到OS组件后,再对原先的方案进行性能分析,获得对应的方案集。假定进程调度组件是终端组件,则只要将终端组件的候选集逐一加入方案集进行性能评估。再对内存管理终端组件集成后,则返回到上层的对系统支撑组件进行集成。上述分析过程可以看成是对树的遍历过程。
3.3 实时性能分析
    在每步组件集成时,都要进行实时性能分析以判断是否符合要求。实时性能分析主要完成两个方面的分析:纵向分析与横向分析。所谓横向分析是进行本次集成后,对同层其他组件性能是否有影响;纵向分析是对完成本次集成后,对上层组件的实时性能还能不能满足进行分析。
4.         总结与展望
基于层次式组件模型的实时组件调度策略的提出,为快速高效甚至是自动地构建面向特定应用领域的嵌入式实时系统提供了帮助,是基于组件的软件工程的具体应用。这里只是提出了一种基本的调度策略,它的具体实现,还不同的开发平台及组件标准的制定,究竟采用CORBA还是DCOM还是其他组件标准;组件描述语言的设计,采用XML语言还是纯文本;还有组件库的管理,这都需要强大的开发平台的支撑。同时如何对实时组件集成过程进行优化,及如何进行更好的实时性能评估等工作都有待于今后的工作。
 
 
参考文献
 
[1] Hui Ma, I-Ling Yen. Composition Analysis of QoS Properties for Adaptive Integration of Embedded Software Components . Logic in Computer Science, 1998.
[2] Pete Comwell, Andy Wellings. Transaction Integration For Reusable Hard Real- Time Components,  High-Assurance Systems Engineering Workshop, 1996. Proceedings, IEEE , 21-22 Oct. 1996
[3] 马于涛, 谷淑化 , 姜灵敏 .基于体系结构的组件集成框架的研究, 武汉理工大学学报 ( 交通科学与工程版 )   2004.6
 
 
Research of Scheduling Policy in Integrating Real Time Component
CHEN Ke-li,LUO Ke-LU,SHANG Nan
          (College of Computer Science and Engineering,UESTC Chengdu 610054)
 
Abstract   This paper introduces Component Based Soft Engeer(CBSE) in real-time embedded system development for application specifical field system , and provides a model for Component integrating , then discusses the Scheduling policy of real-time Component Integrating .
Key words  Real time Component ; Component Integrate ; Schedule Policy
 
  电子邮件:click_ckl@163.com
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值