已阅读5页,还剩73页未读, 继续免费阅读
(计算机应用技术专业论文)osek+oil配置器研究与应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中文摘要 为解决汽车电子中应用软件大量增加及重复开发问题,欧洲汽车行业开发了一 个用于汽车电子的、带有标准接口的开放式系统- - o s e k f v d x 标准( 文中简称为 o s e k 标准) 。o s e k 标准体系包括操作系统( o s ) 标准、通信( c o m ) 标准、网络 管理( n m ) 标准及o s e k 实现语言( o i l ) 标准。o i l ( o s e ki m p l e m e n t a t i o nl a n g u a g e ) 标准提供了一种描述应用程序的标准方法,实现了汽车电子控制单元( e c u ) 应用程序 的可移植性。如果一个应用程序用o i l 语言进行描述,那么它可以很方便的从一个 o s e k 平台移植到另一个o s e k 平台,几乎不需要做任何修改。但是,o i l 语言仅 提供了描述应用程序的语法和语义,如果采用手写描述文件的方式开发应用程序, 由于o i l 语法复杂且繁多,使得程序开发难度加大且容易出错。 本文针对o s e ko i l 配置器进行研究。首先,论文介绍了o s e k 标准的各组成 部分,重点分析了其中的o s e ko i l 标准,以及如何使用o i l 语言对o s 系统中的 各种o s e k 对象进行定义,为使用o i l 语言描述应用程序奠定了基础。其次,分析 研究了一种开源o s e k 操作系统- - t r a m p o l i n e 。通过对其内核源代码的深入剖析,详 细分析了其内核调度、任务管理、中断管理、警报管理的实现机制,搭建了o i l 配 置器研究的平台和实验环境。第三,基于x m l 技术设计了一种图形化的o i l 配置 器。该配置器使用x m l 文件作为中间数据存储,避免了直接生成文本格式o i l 配 置文件导致的程序实现复杂、可扩展性差的问题。不同于现有基于x m l 技术的o i l 配置器设计方法,本文加入了x m ls c h e m a 文件对应用定义配置数据进行验证,将 程序逻辑简化,进一步提高了程序的可扩展性。第四,使用v c + + 6 0 对图形化的o i l 配置器进行了实现。测试结果表明,该配置器运行稳定,简单易用,方便了应用程 序的开发。最后,给出了一个车窗升降机控制程序应用示例。该程序基于t r a m p o l i n e 的o s 和c o m ,使用本文设计的o i l 配置器进行配置,生成了所需的o i l 配置文件。 根据该配置文件所提供的程序框架,本文对车窗升降机控制程序的各功能模块进行 了实现。测试结果显示该控制程序运行正常,表明本文设计的o i l 配置器能很方便 地将用户的配置转化成应用程序的o i l 描述文件,并且具有操作简单、实用性强的 特点,对于o s e k 应用程序的开发具有广阔的应用前景。 关键词:o s e k :o i l ;配置器;t r a m p o l i n e ;x m l a b s t r a c t t oa d d r e s st h e p r o b l e mo ft h eg r e a t i n c r e a s ea n dt h e d u p l i c a t e d e v e l o p m e n to ft h es o f t w a r ec o n t e n t e di ne l e c t r o n i cc o n t r o lu n i t s ( e c u ) ,t h e o s e k f v d x ( r e f e r r e da so s e k ) s t a n d a r dw a sd e v e l o p e db yt h ee u r o p e a n a u t o m o t i v ei n d u s t r y o s e ki sa n o p e ns y s t e m w i t hs t a n d a r d i n t e r f a c e s , d e d i c a t e dt oa u t o m o b i l ee l e c t r o n i c s t h eo s e ks t a n d a r da r c h i t e c t u r e i n c l u d e st h eo ss t a n d a r d ,t h ec o ms t a n d a r d ,t h en ms t a n d a r da n dt h eo i l s t a n d a r d t h eo i l ( o s e ki m p l e m e n t a t i o nl a n g u a g e ) s t a n d a r dp r o v i d e sa s t a n d a r dm e t h o df o rd e s c r i b i n ga na p p l i c a t i o n i tc a ni m p r o v et h ep o r t a b i l i t y o fe c u a p p l i c a t i o n s i fa na p p l i c a t i o ni sd e s c r i b e di no i ll a n g u a g e ,i tc a nb e e a s i l yp o r t e df r o mo n eo s e kp l a t f o r mt oa n o t h e r , a l m o s tm a k i n gn oc h a n g e h o w e v e lt h eo i ls t a n d a r dj u s tp r o v i d e st h eg r a m m a ra n ds e m a n t i c so ft h e l a n g u a g e t h ec o n f i g u r ef i l eo fa na p p l i c a t i o nc a nb eh a n d w r i t t e n ,o rb e g e n e r a t e db yt o o l s i f t h ec o n f i g u r ef i l ei sc r e a t e dh a n d w r i t t e n ,t h ea p p l i c a t i o n d e v e l o p e r sh a v et ob ef a m i l i a rw i t ht h ed e t a i l so fo i lg r a m m a ra n dt h e s e m a n t i c so fa l lk i n d so fo b je c t s s oi ti s u s u a l l yn o tv e r y e a s ya n d e r r o r - p r o n e t h er e s e a r c ho ft h i sp a p e rf o c u s e so nt h et o p i co fo i lc o n f i g u r a t o r f i r s t l y , t h ef o u rc o m p o n e n t so ft h eo s e ks t a n d a r da r ei n t r o d u c e db r i e f l y , a n d t h eo s e ki m p l e m e n t a t i o nl a n g u a g es t a n d a r di s a n a l y z e d i ne m p h a s i s f u r t h e r m o r e ,t h ew a yh o wt od e s c r i b ea l lk i n d so fo s e ko so b j e c t so f a p p l i c a t i o n si no i ll a n g u a g ei si l l u s t r a t e d s e c o n d l y ,t r a m p o l i n e ak i n do f o p e n s o u r c eo s e ko p e r a t i o ns y s t e mi sa n a l y z e di nd e t a i l b yu n d e r s t a n d i n g t h es o u r c ec o d e o ft r a m p o l i n eo sk e r n e l ,t h em e c h a n i s mo fk e r n e l s c h e d u l i n g ,t a s km a n a g e m e n t ,i s rm a n a g e m e n ta n da l a r mm a n a g e m e n ti s m a d ec l e a r t h er e s e a r c hp l a t f o r ma n de x p e r i m e n t a le n v i r o n m e n ti sp u tu p t h i r d l y , ag r a p h i c a lo i lc o n f i g u r a t o ri sd e s i g n e db a s e do nx m lt e c h n o l o g y t h ec o n f i g u r a t o ru s e sx m lf i l ea si n t e r m e d i a t ed a t at os a v et h eu s e r s c o n f i g u r ed a t a ,a n dt h ep r o b l e m so fc r e a t i n gh a n d w r i t t e nc o n f i g u r ef i l e sa r e a v o i d e d t h ec o n f i g u r a t o rw ed e v e l o p e dt a k e sa d v a n t a g eo fx m lsc h e m a i i i f i l et ov e r i f yt h ea p p l i c a t i o nd e f i n i t i o nd a t a t h i si sw h a ti ti sd i f f e r e n tf r o m o t h e rc o n f i g u r a t o r sd e v e l o p e db a s e do nx i v l lt e c h n o l o g y i tc a ns i m p l i f yt h e l o g i ca n di m p r o v et h ee x t e n d i b i l i t yo ft h ep r o g r a m f o u r t h l y , t h ec o n f i g u r a t o r i si m p l e m e n t e du n d e rv c + + 6 0i d e t e s tr e s u l t ss h o wt h a tt h ec o n f i g u r a t o r i se a s yt ou s ea n dr u n ss t a b l y i tc a nf a c i l i t a t et h ed e v e l o p m e n to fo s e k a p p l i c a t i o n s f i n a l l y , ac a rw i n d o w l i f td e m op r o g r a mi sd e s i g n e d i ti sb a s e d o nt r a m p o l i n eo sa n dc o m i t s c o n f g u r e f i l ei s p r o d u c e db yt h e c o n f i g u r a t o rw ed e v e l o p e d a c c o r d i n gt ot h ep r o g r a mf r a m e w o r kt h e c o n f i g u r ef i l ep r o v i d e s ,t h ec o n t r o lp r o g r a mi si m p l e m e n t e d t e s tr e s u l t s s h o wt h a tt h ew i n d o wl i f tp r o g r a mr u n sw e l l i tc a nb es e e nf r o mt h ed e m o p r o g r a mt h a tt h ec o n f i g u r a t o rw ed e v e l o p e dc a nf a c i l i t a t et h ec r e a t i o no fo i l c o n f i g u r ef i l eo fo s e ka p p l i c a t i o n s i ti se a s yt ou s ea n dp r a c t i c a l t h ew i d e a p p l i c a t i o np r o s p e c to ft h ec o n f i g u r a t o rw ed e v e l o p e di no s e ka p p l i c a t i o n d e v e l o p m e n tc a nb ef o r e s e e n k e yw o r d s :o s e k ;o i l :c o n f i g u r a t o r :t r a m p o l i n e ;x m l l v 声明尸明 本人郑重声明:所呈交的学位论文,是本人在指导教师的指导下, 独立进行研究所取得的成果。除文中已经注明引用的内容外,本论文 不包含其他个人或集体已经发表或撰写过的科研成果。对本文的研究 做出重要贡献的个人和集体,均已在文中以明确方式标明。本声明的 法律责任由本人承担。 关于学位论文使用权的说明 本人完全了解太原科技大学有关保管、使用学位论文的规定,其 中包括:学校有权保管、并向有关部门送交学位论文的原件、复印 件与电子版;学校可以采用影印、缩印或其它复制手段复制并保存 学位论文;学校可允许学位论文被查阅或借阅;学校可以学术交 流为目的,复制赠送和交换学位论文;学校可以公布学位论文的全 部或部分内容( 保密学位论文在解密后遵守此规定) 。 才穹铒厂周z t - 目 第一章绪论 第一章绪论 1 1 研究背景和意义 1 1 1o s e k 标准介绍 随着汽车对安全、环保、舒适、经济等性能要求的不断提高,汽车中汽车电子 控制单元( e l e c t r o n i cc o n t r o lu n i t ,e c u ) 的数量越来越多,其复杂性也急剧上升。大 量e c u 的使用和复杂的控制程序给汽车制造商带来了巨大的成本压力。为满足日益 庞大而又复杂的汽车电子控制软件的开发需要,实现应用软件的可移植性和不同厂 商的软件模块间的兼容性,德国汽车工业协会于1 9 9 3 年提出0 s e k 标准( 德语“汽车 电子设备开放式架构及其接口规范”的简称) ,旨在建立一个用于汽车电子的分布式 控制系统的开放式体系结构,1 9 9 4 年法国汽车电子规范v d x ( v e h i c l ed i s t r i b u t e d e x e c u t i v e ) 并入了o s e k 标准。于是o s e k 标准更名为o s e k v d x ( 后文简称o s e k ) , 并在1 9 9 5 年发布了它的第一个正式版本。目前o s e k 标准已经成为i s o 国际标准。 o s e k 标准体系包括o s 【l l ( o p e r a t i n gs y s t e m ) 、c o m 2 l ( c o m m u n i c a t i o n ) 、 n m 3 l ( n e t w o r k m a n a g e m e n t ) 、o i l 4 ( o s e ki m p l e m e n t a t i o nl a n g u a g e ) 个部分: o s ( 操作系统1 标准:o s e k 操作系统标准是整个标准的基础和核心,c o m 、n m 和o i l 标准都全部或部分依赖于o s 标准。o s e k 操作系统是一种静态定义的、高效利 用处理器和内存资源的操作系统,为汽车电子控制单元应用软件提供了一个统一的 运行平台。o s e k 应用程序中所有对象均是静态定义的,它们在应用程序启动之前创 建,并且启动后不会被删除。o s e k 操作系统具有可配置性、可移植性、标准化接口、 实时性以及高可靠性等特点,具备任务管理、资源管理、时钟管理、中断管理和错 误处理等功能。使用o s e k 操作系统对处理器带来的负担不超过5 ,它的代码经过 了高度优化以减少内存消耗量。 c o m ( 通信) 标准:o s e kc o m 标准为汽车电子控制单元应用软件提供了一个统 一的通信环境。它定义了独立于所用通信协议之外的应用软件通信接口,规定了内 部通信( e c u 内部) 和外部通信( e c u 之间) 的行为方式。o s e kc o m 隐藏了底 层协议和硬件细节,为应用程序之间的通信提供了一个统一的平台,使应用程序开 发人员不用关心底层的硬件和协议差异,从而增强了应用软件的可移植性和可重用 性。此外,o s e kc o m 实现只需要很少的资源就可以在多个硬件平台上运行,可以 满足不同级别的功能要求,具有可裁减性。 o s e ko i l 配置器研究与应用 n m ( 网络管理) 标准:n m 的作用是保证e c u 间通信网络的安全性和可靠性。它 通过监控网络和结点的状态,使得当某结点失效时,网络中使用该结点数据的应用 程序能及时获得消息并在功能缩减的情况下继续执行。 o i l ( 实现语言) 标准:o s e k 实现语言是为了达到应用程序高可移植性的目标, 而提供的一种描述o s e k 应用程序如何配置的标准方法。每个e c u 应用程序都有一 个对应的o i l 描述。所有的o s e k 系统对象,在o i l 文件中都有对应的o i l 对象来 描述。c p u 是这些o i l 对象的容器。o i l 为应用程序使用的各种对象定义了标准类 型。每种对象都被描述成一些属性和引用的组合。o i l 为每个o i l 对象明确定义了 所有的标准属性。 1 1 2 研究的意义 汽车工业在国民经济发展中具有支柱性地位和巨大的辐射拉动作用,拥有自主 知识产权的汽车工业体系不仅关系到国内汽车企业本身的存亡,从更高的层面上讲 更关系整个国家的国计民生。2 0 0 8 年,中国汽车产量达到9 3 4 5 万辆,位居世界第 二位。然而,一汽大众、上海大众、上海通用这些合资企业分别位列销量排名前三 位,而国内自主品牌市场占有率则出现下滑,仅占到整个汽车市场份额的2 5 9 2 , 而2 0 0 7 年自主品牌的市场份额则为2 9 4 t 5 1 。由于我国汽车工业的设计、制造工艺 和技术水平整体不高,尤其是核心技术和部件自主知识产权水平不高,还得依赖进 口或合作生产,导致一方面受制于人,一方面处于价值产业链的下游。在当前的开 放环境下,只有提高自身技术水平,增强核心竞争力,才能迎头赶上。因此对汽车 电子关键技术的研究,具有非常重要的意义和切实需求。 o s e k 标准是欧洲汽车行业先进开发技术的总结,提供了将各种汽车电子设备有 机结合在一起的网络化嵌入式计算机系统的开发规范,使汽车行业的各种软件能够 兼容与协作开发,有利于提高汽车电子软件的开发效率【6 】。从2 0 0 2 年开始,国际标 准化组织开始将o s e k 纳入i s o 1 7 3 5 6 标准。 o s e k 作为汽车行业的一个国际标准对行业的发展影响巨大,而其中的o i l 标 准则是将o s e k 标准实际应用的关键,因此对其进行研究与应用有重要意义。本课 题主要针对o i l 配置器进行研究,包括o s e ko i l 标准方面的分析、实现与应用等, 旨在为设计一套o s e k 集成开发环境奠定基础,以推动o s e k 标准在国内汽车行业 中的应用。 2 第一章绪论 1 2 国内外研究现状 现有的o s e k 系统商业实现中,3 s o f t 的p r o o s e k v ,w i n d r i v e r 的o s e k w o r k s l 引, m e t r o w e r k s 的o s e k t 1 9 1 ,国内风丘科技的d o r a d o o s e k f l o 】等通常都提供了一个 集成开发环境,通过这种集成开发环境能够配置操作系统对象,设置对应的硬件平 台,然后直接生成可在对应硬件平台上运行的代码。这样方便了用户按照o s e k 标 准来开发应用程序,使用户只关心自己的应用需求,而不用关注程序如何连接、如 何生成目标代码等问题。同时,还提供了一个o i l 编译器,可以通过命令直接编译 已有的应用程序o i l 描述文件,生成应用程序对应的配置文件,从而可以使应用程 序达到高可移植性。 国内在o s e k 集成开发环境方面的研究启动比较晚,经过多年的科技攻关,有 了清华大学t h o s e k 集成开发环境【l l 】,浙江大学s m a a o s e k 集成开发环境【1 2 1 及风 丘科技公司的d o r a d o o s e k t l o 】等。 清华大学的t h o s e k 集成开发环境使用e c l i p s e 集成开发环境和j a v a 语言开 发,里面有一个o i l 配置器和o i l 解析器,通过集成开发环境将o i l 配置器与解析 器进行连接,完成对应用程序的配置。浙江大学开发的s m a r t o s e k 集成开发环境中, 也包括了一个o s e ko i l 配置工具,能够完成对o i l 文件的生成,验证,修改等操 作。另外,文章【1 3 】开发了一种完全基于x m l 文件对o s e k 操作操作系统进行配置, 没有生成o i l 语言格式的配置文件的配置工具,文章 1 4 也设计了一种图形化的 o s e k 配置器,能够实现对o s e k 应用程序的配置,生成o i l 语言格式的配置文件。 而在现有的开源o s e k 系统中,只有p i c o s l 8 t 1 5 】为p i c o s l 8 平台提供了集成开 发环境,但是它不支持o i l 标准。它的应用程序生成过程中没有生成o i l 文件,直 接通过编译连接生成了目标文件。它也没有提供单独对o i l 文件进行编译和配置的 工具。t r a m p o l i n e 1 6 提供了一个o i l 编译器g o i l ,该编译器是使用g a l g a s 编译器 生成语言来实现,它能够把o i l 文件编译生成c 和h 文件。生成的应用程序c 和h 文件中完成了操作系统对象的一些配置,默认值的初始化等操作,它们与操作系统 内核文件、应用程序功能代码、其它的库文件一起,通过g c c 编译器进行编译,然 后连接生成应用程序的可执行文件。 浙江大学的s m a r t o s e k 集成开发环境中的o i l 配置器和清华大学t h o p e n 集 成开发环境中的o i l 配置器都是基于对字符解析操作的,通过逐步识别出各个值、 属性、对象,然后识别更复杂的实现定义和应用定义对象,基于这些生成的对象按 3 o s e ko i l 配置器研究与应用 照o i l 标准中的要求对o i l 文件进行验证。这种实现方式复杂,而且在o i l 标准修 改时需要做大量的修改工作。文章 1 4 】使用了x m l 作为保存应用程序配置的中间文 件,然后把x m l 文件转换成符合o i l 格式的文本文件。这种方法实现简单且比直 接生成o i l 文件的方式可扩展性强,但它在程序中直接对应用定义中的数据进行验 证,而o i l 应用定义部分对象较多及关联关系比较复杂,这样导致验证逻辑比较复 杂,且限制了它的可扩展性。 通过查阅相关文献发现,国内对o s e k 标准的应用研究还处于初级阶段。而对 o s e ko i l 标准的研究与应用更少,而o s e ko i l 实现语言是o s e k 标准实际应用 的关键,因此对o s e ko i l 配置器的研究有重要意义,将为o s e k 标准的实际应用 奠定良好基础。 1 3 研究内容 本文主要针对o i l 配置器进行研究,包括o s e ko i l 标准方面的分析、实现与 应用等,旨在为设计一套o s e k 集成开发环境奠定基础,以推动o s e k 标准在国内 汽车行业中的应用。研究的内容主要集中在以下几个方面: 1 o s e ko i l 标准内容的分析。分析了o s e ko i l 标准提出的目的、主要解决的 问题、在o s e k 标准体系中的地位、o i l 语言的语法、语义及如何按照o i l 语法书 写应用程序的描述文件。 2 t r a m p o l i n e 操作系统分析研究。要进行o i l 配置器方面的研究,必须有一个 可配置的基础,也就是至少要有o s e ko s 、c o m 、n m 中的一个可用。t r a m p o l i n e 是一个兼容o s e k 标准的开源o s e k 系统,它包括了对o s e ko s 和c o m 标准的支 持,并且可以在x 8 6 l i n u x 平台上运行,因此可以作为o i l 配置器研究的基础。本文 主要使用t r a m p o l i n e 操作系统作为研究基础,对c o m 部分在应用示例设计过程中 作了简单使用。通过仔细阅读和深入理解t r a m p o l i n e 操作系统内核源代码,详细分 析了其内核调度、任务管理、中断管理、警告管理的实现机制,及其为了减少内存 使用量,对任务管理和中断管理所做的优化。最后,给出了在l i n u x 平台上通过手 写应用程序的o i l 描述文件来开发一个t r a m p o l i n e 应用程序的方法,搭建了o i l 配 置器的研究平台和实验环境。 3 图形化的o s e ko i l 配置器开发。分析了已有o s e k 系统配置器的实现原理, 采用文章【1 4 】中先把用户配置数据存放到x m l 中,再将x m l 转换为o i l 格式的配 置文件的方式,开发了一个图形化的o i l 配置器。该o i l 配置器在文章1 1 4 1 的基础 4 第一章绪论 上进一步使用了x m ls c h e m a 文件对应用定义x m l 配置数据进行验证,将程序中对 应用定义中各对象的验证逻辑通过m s x m l 解析器调用s c h e m a 文件完成,简化了程 序逻辑和实现难度。该o s e ko i l 配置器在v c + + 6 0 集成开发环境下用c + + 语言实 现,利用m s v i l 4 0x m l 解析器对x m l 文件进行解析、验证与转化。生成的o i l 文件在t r a m p o l i n e 系统平台上用g o i l 编译器编译,能够生成正确的应用程序配置 文件,然后将生成的应用程序配置文件与应用程序主代码、库文件、t r a m p o l i n e 操 作系统源代码一起编译连接,对生成的应用程序进行了测试。 4 使用本文设计的o i l 配置器设计了一个基于t r a m p o l i n eo s 和c o m 的车窗升 降机控制程序,完成了应用程序的配置,生成了该程序所需的o i l 配置文件。然后 使用g o i l 编译器将生成的配置文件进行编译转换成对应的c 语言配置程序,在生成 的程序框架中对各功能模块进行了实现。测试结果表明,该程序能够实现车窗自动 升降的功能,运行效果良好。 1 4 论文结构安排 论文内容将按如下章节编排: 论文第一章主要介绍了o s e ko i l 标准相关的背景,指出了进行o s e ko i l 配 置器研究的意义、国内外研究现状及论文的研究内容。 论文第二章详细分析了o s e ko i l 标准的内容。分析了其发布的目的、o i l 语 言的语法及语义、o i l 定义的各种系统对象的意义、对象之间的关联和约束关系及 如何使用o i l 语言来描述o s e k 应用程序。 论文第三章主要研究分析了t r a m p o l i n eo s e k 操作系统。t r a m p o l i n e 是基于 o s e k v d x 标准的开源的可抢占式嵌入式实时操作系统。通过仔细阅读和深入理解 t r a m p o l i n e 操作系统内核源代码,详细分析了其内核调度、任务管理、中断管理、 警告管理的实现机制,及其为了减少内存使用量,对任务管理和中断管理所做的优 化。最后,给出了在l i n u x 平台上通过手写应用程序的o i l 描述文件来开发一个 t r a m p o l i n e 应用的方法,搭建了o i l 配置器研究的平台和实验环境。 论文第四章分析了已有o s e k 系统配置器的实现原理,采用文章 1 4 】中先把用户 配置数据存放到x m l 中,再将x m l 转换为o i l 格式的配置文件的方式,开发了一 个图形化的o i l 配置器。该o i l 配置器在【1 4 的基础上进一步使用了x m ls c h e m a 文件对应用定义x m l 配置数据进行验证,将程序中对应用定义中各对象的验证逻辑 通过m s x m l 解析器调用s c h e m a 文件完成,简化了程序逻辑和实现难度。在v c + 十6 0 5 o s e ko i l 配置器研究与应用 集成开发环境下用c + + 语言对图形化o i l 配置器进行了实现,利用m s x m l 4 0x m l 解析器对x m l 文件进行解析、验证与转化。然后,对本章开发的o i l 配置器进行 了测试。 论文第五章,使用本文设计的图形化的o i l 配置器设计了一个基于t r a m p o l i n e o s 和c o m 的车窗升降机控制程序,完成了应用程序的配置,生成了对应的o i l 配 置文件。然后使用g o i l 编译器将生成的配置文件进行编译转换成对应的c 语言配置 程序,在生成的程序框架中对各功能模块进行了具体实现。最后,对本章开发的车 窗升降机控制程序进行了测试。 论文第六章,总结了全文的工作并对进一步研究工作做出了展望。 6 第二章o s e ko i l 标准分析 第二章o s e ko i l 标准分析 o s e ko i l 标准是o s e k 标准体系中的一个,提供了一种描述应用程序的标准 方法。本文使用的o i l 文档是最新的o i l 2 5 版,它对应o s e k 操作系统规范2 2 x , o s e k 通信规范3 0 x 以及o s e k 捆绑规范1 5 。 2 1o i l 语言 为了能够实现o s e k 应用软件高可移植性的目标,o i l 标准定义了一种描述 o s e k 应用程序配置的方法【4 1 。o i l 标准只针对一个e c u ,而不是e c u 网络。图2 1 显示了一个o s e k 应用程序的开发过程。 r 一1 口 口 口 图2 1o s e k 应用程序开发过程 f i g u r e 2 - 1o s e ka p p l i c a t i o nd e v e l o p m e n tp r o c e s s o i l 描述文件可以是手写的,也可以由系统构建工具生成。生成的o i l 文件通 过系统生成器( s y s t e mg e n e r a t o r , s g ) 产生应用程序配置对应的c 代码,与应用程序功 能代码、o s e k 操作系统内核、o s e kc o m 、以及其它库文件等一起,通过编译器 进行编译,然后连接,最后生成可执行文件。一个应用程序可以有多个o i l 文件, 譬如可以有一个包含具体c p u 的配置信息项的o i l 文件( 这些文件由供应商提供) 和 包含整个网络的配置信息项的o i l 文件( 这些文件由o e m 提供) 。以源代码形式提供 7 o s e ko i l 配置器研究与应用 的子系统被编译进应用程序,其它以库的形式提交的子系统由连接器把它们集成起 来,最终生成可执行文件。 o i l 语言标准包括对o s e ko s 、o s e kc o m 及o s e kn m 的配置,由于使用 o i l 文件配置o s 中各种对象与配置c o m 和n m 系统中各对象的原理相同,本文主 要研究o i l 语言对o s 的配置,使用o i l 语言对c o m 和n m 配置的原理与此相同。 2 2o i l 文件基本定义 o i l 标准提供了一种配置单个e c u 内部的o s e k 应用程序的机制,所有的o s e k 系统中的各种对象都用o i l 语言来描述。这也就意味着对每个e c u 都有一个o i l 描述文件。 2 2 1 基本概念 o s e k 应用程序的o i l 描述文件是由一些o i l 对象组成的。c p u 对象是这些o i l 对象的容器。o i l 为它的对象定义了标准类型。每种对象都被描述成由一些属性和 对其它对象的引用来组成。o i l 为每个对象明确规定了所有的标准属性。 o s e k 实现除了能定义标准规定的对象的标准属性外,还能定义附加的与具体实 现有关的属性和引用,也就是为标准的o i l 对象增加一些属性。但不允许创建新的 o i l 对象或改变标准属性的语法。所有非标准属性( 可选属性) 都被认为是完全与 具体实现有关的,没有标准的解释。每个o s e k 实现可以给出属性的取值范围,如 限制优先级的可能范围等。 以下是对各种o i l 对象的描述: c p u :使用o s e k 子系统的应用程序所运行的容器。 o s :o s e k 操作系统,它运行在c p u 上。在o i l 中,o s e ko s 没有引用其它 对象。 a p p m o d e :应用程序的不同操作模式。a p p m o d e 对象没有定义标准属性。 i s r :o s e k 操作系统支持的中断服务例程。 r e s o u r c e :一个能被任务占有的资源。 t a s k :操作系统中的任务。 c o u n t e r :一个计数器表示软件或硬件的警报滴答源。 e v e n t :用来唤醒任务执行的事件。 a l a r m :根据计数器的计数,当到达一定值时,触发一个的动作:要么激活一 个任务,要么设置一个事件,要么激活一个警报回调函数。 r 第二章o s e ko i l 标准分析 c o m :o s e k 通信子系统。c o m 对象有标准的属性来定义o s e kc o m 的通用 特性。 m e s s a g e :它在o s e kc o m 里定义,定义了供应商有关的、不同实体( 任务或 中断) 间及不同c p u 间数据交换机制。 n e t w o r k m e s s a g e :它在o s e kc o m 里定义,定义了o e m 相关、不同实 体( 任务或中断) 间及c p u 间数据交换机制。 i p d u - 它在o s e kc o m 中定义,是在外部通信中的数据。 n m :o s e k 网络管理子系统。 2 2 2o i l 文件结构 o i l 文件包含两部分:一部分是标准的及与实现相关特征的定义,被称为实现 定义( i m p l e m e n t a t i o nd e f i n i t i o n ) ;另一部分是在特定c p u 上运行的具体应用结构的 定义,被成为应用定义( a p p l i c a t i o nd e f m i t i o n ) 。 o i l 文件必须有一个主文件,这个主文件可以包含其它的o i l 文件。 2 2 3o i l 语法 o i l 文件的语法规则以一种类似于b n f 的标记法给出。所有的关键字,属性, 对象名字,和其它的标志符是区分大小写的,它的注释是c + + 样式的注释 2 2 4 实现定义 对于每个o i l 对象,实现定义定义了一个特定o s e k 实现相关的所有属性和它 们的具体特性。实现定义必须出现在o i l 文件中,并且必须包含所有标准属性。这 些属性的具体定义在本章后面描述,属性的取值范围可能受到限制。另外还可以为 o s e k 对象定义附加属性。 由于o i l 文件支持包含机制,实现定义可以定义在一个单独的文件中,然后同 应用定义一起在总的o i l 文件中包含。于是,实现定义文件能够单独开发,并且同 特定的o s e k 实现一起提交,然后同应用定义一起被包含到总的o i l 文件中。 2 2 5 应用定义 应用定义包含一组对象和它们的属性值。除了o s 、c o m 和n m 对象外,应用 定义能够包含一个以上的特定类型的o i l 对象,每个对象由一组属性和它们的值来 描述。在实现定义中没有定义的属性不能在应用定义中出现,属性的值必须符合实 现定义中的要求。接受单值的属性在每个对象中只能说明一次,接受多值的属性可 以多次说明。 9 o s e ko i l 配置器研究与应用 2 2 6 属性间的依赖关系 o i l 规范可以表示不同属性间的依赖关系。考虑到具体的开发商和扩展的需要, o i l 语法包含了条件属性( 参数) 。o i l 允许这些参数化依赖关系的无限次嵌套。 为了表示依赖关系,e n u m 和b o o l e a n 属性被参数化了。如果几组单条件属 性有相同的名字,它们必须是同一类型的。 2 2 7 自动属性赋值 自动属性的值能够被图2 - 1 中的s y s t e mg e n e r a t o r 计算得到,对于这些属性,必 须在实现定义中的属性定义里用关键字w i t ha u t o 。在与w i t h a u t o 一同使用 时,a u t o 在应用定义中是合法的,并且作为一个默认值。 2 2 8 属性默认值 当一个属性在应用定义中没有出现的时候,s y s t e mg e n e r a t o r 就会使用默认值为 属性产生一个值。 默认值对可选属性是必须要有的。由于实现相关部分的语法要求定义默认值, 一个特殊的默认值n od e f a u l t 被定义来禁止默认机制。在这种情况下,属性必须 在应用部分定义。 除了规范中显式说明的其它规定,默认值被标准属性禁止。如果一个在实现定 义中没有包含默认值的标准属性没有在应用定义中出现,会产生一个错误。 表2 1 以e n u m 类型为例来说明所有默认值的可能组合情况。o i l 语法允许6 种实现相关部分组合和3 种应用相关部分组合。 表2 1e n u m 类型属性值默认值的所有组合表 t a b l e2 一ip o s s i b l ec o m b i n a t i o n so fa t t r i b m e sw i t hd e f a u l tv a l u e sf o re n u m 4 】 实现定义 应用定义 p a r a m2 a :p a r a m 2 a u t o ;n o t h i n g e n u m 【a ,b ,c p a r a m = b ;p a r a m = a e r r o r p a r a m = b e n u m 【a ,b ,c 】 p a r a m = a e r r o re r r o r p a r a m = n o _ d e f a u l t ; e n u m a ,b ,c 】p a r a m2a u t o ; e r r o r e r r o re r r o r e n u mw i t h a u t o a ,b ,c 】g e n e r a t o r p a r a m _ ap a r a m = b p a r a m 2 b :s p e c i f i c e n u mw i t h _ a u t o a ,b ,c 】g e n e r a t o r p a r a m - a e r r o r p a r a m = n o _ d e f a u l t ;s p e c i f i c 1 0 第二章o s e ko i l 标准分析 e n u mw i t h a u t o 【a b ,c g e n e r a t o rg e n e r a t o r p a r a m2 a p a r a m 2a u t o ; s p e c i f i c s p e c i f i c 2 2 9 包含机制 包含机制使o i l 的某些部分可以单独定义。包含语句同i s o a n s i c 包含语句 有相同的语法。 # i n c l u d e # i n c l u d e “f i l e 对于每个o i l 工具,必须有一种方法来指定每个包含文件的搜索路径。 # i n c l u d e 使用默认的目
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《GBT 18473-2016 工业机械电气设备 控制与驱动装置间实时串行通信数据链路》专题研究报告
- 矿井通风工安全宣教能力考核试卷含答案
- 2025年自考土木工程(专科)《工程测量》测验卷及答案
- 重冶固体物料配料工岗前班组协作考核试卷含答案
- 海绵钛还原蒸馏工操作规程测试考核试卷含答案
- 化工原料准备工安全管理强化考核试卷含答案
- 甘油精制工创新实践评优考核试卷含答案
- 《GBT 35590-2017 信息技术 便携式数字设备用移动电源通 用规范》专题研究报告
- 人工智能算法测试员持续改进知识考核试卷含答案
- 证券期货服务师岗前个人防护考核试卷含答案
- 未来趋势与职业前景智慧树知到期末考试答案章节答案2024年联盟推+荐
- HGT 4584-2014 化工用等静压成型衬聚四氟乙烯管道、管配件
- 水生产企业(自来水公司)安全生产风险分级管控和隐患排查治理双体系方案全套资料(2021-2022版)
- MOOC 无人机技术基础-职教MOOC建设委员会 中国大学慕课答案
- (正式版)JBT 14449-2024 起重机械焊接工艺评定
- 山东电网发电机组一次调频运行管理规定(试行)
- 不寐患者的护理查房
- 社会工作者考试题库及答案
- 护理职业生涯人物访谈报告
- 【word文档】义务教育语文课程标准(2022年版)【可编辑】
- JCT945-2005 透水砖的标准
评论
0/150
提交评论