(计算机应用技术专业论文)smartosek+ide30及其模型检查和协同工作.pdf_第1页
(计算机应用技术专业论文)smartosek+ide30及其模型检查和协同工作.pdf_第2页
(计算机应用技术专业论文)smartosek+ide30及其模型检查和协同工作.pdf_第3页
(计算机应用技术专业论文)smartosek+ide30及其模型检查和协同工作.pdf_第4页
(计算机应用技术专业论文)smartosek+ide30及其模型检查和协同工作.pdf_第5页
已阅读5页,还剩83页未读 继续免费阅读

(计算机应用技术专业论文)smartosek+ide30及其模型检查和协同工作.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

浙江大学硕上学位论文 摘要 在汽车工业领域,嵌入式电了产品在整车中越来越占据重要的地位,这使得 嵌入式汽车电子软件的开发过程成为汽车工业的重要技术问题。本文探讨了如何 利用基于模型的方法和相应的集成开发环境,来提高汽车电予软件的刀:发过程的 效率和安全性。 s m a n 0 s e ki d e 3 o 是一套面向控制领域的,基于两层构件的,可视的、图形 的、层次化的集成开发环境它支持o s 操作系统,支持基于模型的软件开发 方法,从而大大提商了软件开发的效率,同时也提高了软件的可靠性。 s m a r t o s e ki d e 3 o 提供从系统层到组件层的5 个层次的建模环境,一整套模 型验证和系统测试工具,可以实现程序算法的模型设计和代码生存、文档生成, 自行研制并且实现了一种汽车电子领域语言s m a r t c ,同时也提供了一套 s m a n c 开发平台。主要包括:层次化建模环境、s m a n c 错误检测系统、模型状 态检测工具、系统可调度性分析工具和s m a r t c 代码自动生成、s m a r t c 模型自动 生成、c 代码自动生成、文档自动生成、s m a r t c 语言编辑器以及可维护、可扩展 的s m a r t c 库。 本论文的主要工作总结为以下几个方面: 1 ) 通过对基于模型研究以及对国内外常用的汽车电子集成开发环境的 调研。提出了将基于模型的嵌入式软件开发方法运用到汽车电子行业 地设计思想,设计并实现了基于模型驱动的集成开发环境s m a n o s e k i d e 3 0 。 2 ) 通过对模型资源共享情况,并发推进顺序和模块可达性的分析,将每 个任务都转化成一个时间状态自动机,利用状态验证工具u p 队a l , 实现对模型状态的验证。 3 ) 在研究计算机支持的协同工作( c s c w ) 的基础上,针对集成开发环 境的需求,采用c s 架构,设计和实现了一套支持协同工作的服务( 简 称协同服务) ,该服务支持多用户同时对同一模型进行分析和设计 4 ) 在调研了国内外可调度性分析技术的基础上,提出了用基于模型的模 拟仿真方法实行可调度性分析的思想,这一算法先已申请了专利。并 且实行了对实时系统的可调度性分析。 关键词集成开发环境,基于模型,状态验证,协同工作,可调度性分析 浙江大学硕上学位论文 a b s a b s t r a c t i na u t o m o 石v ei n d u s t r y s o f t w a r e ss h a r ei ss u 巾n s i n g l yi n c r e a s i n g t h i s m a k e st h ed e v e i o p m e n to fa u t o m o t i v ee l e c t r o n i c sb e m eai m p o n a n tp a r to f a u t o m o b v ei n d u s t r v t h em a i nf o c u so ft h i st h e s i si sh o wt oa c c e i e 阳t e 陀i i a b | e s o f t w a 怆d e v e l o p m e n tp r o c e s sb yu s i n gm o d e l b a s e dd e s i g nm e t h o d o i o g ya n d s o m ei n t e g r a t e d0 e v e i o p m e n tt b o l s r 陀s p o n d i n g s m a r t o s e ki d e 3 0i sav i s u a i g 阳p h i c h i e 怕r c h i c a ii n t e g 阳t e d d e v e i o p m e n te n v i r o n m e n t ,w h i c hc a nh e i pu s e 噶t oi m p i e m e n tm o d e ib a s e d d e s i 口n ( m b d ) d u r i n at h e i rw o 一a n dt h i sm d bm e t h o dc a np r o v i d eu s e 懵m o 他 s o m a r er e l i a b i l i t ya n dd e v e i o p m e n te n 啊c i e n 斜 s m a r t o s e ki d e 3 0p r o v i d e s5i a y e r so fm o d e i j n ge nv r o n m e n t sf r o m s v s t e mi a y e rt oc o m p o n e n tl a y e law h o i es u i to fm o d e ic o n 再r m i n ga n ds y s t e m t e s a n gt o o l s ,c a p a b i eo fd e s i g n i n gm o d e i sf o ra i g o n 廿1 m s ,c o d eg e n e r a 珏o na n d d o c u m e n tg e n e r a t i o n ,d e s i g na n di m p l e m e n tac o m p o n e n t b a s e dh i e r a r c h i c a i m o d e i i n 口i a n g u a g ef o ra u t o m o 廿v ee i e c t r o n i c 汹m a r “:a n das u i to fs m a n c d e v e i o p m e n tt o o i s t h ei d e p n m a r i i yi n c i u d i n g h i e r a r c h i c a i m o d e i i n g e n v - r o n m e n t s m a r “:e m ”d e t e c t i n gs y s t e m 订a c i n ga n dd e b u g g m gs y s t e m s v s t e ms c h e d u i a b i i i t ya n a i y s i st o o i ,s m a r t cc o d ea u t o - g e n e r a 石o n ,cc o d e a u t o g e n e r a t i o n d o c u m e n ta u t o g e n e r a o na n ds m a r t ( : i i b r a r y w i 廿1 s u s t a i n a b i ea n de ) ( t e n s b i ef e a t u r e t h em a ;nw o r ko ft h i s 廿1 e s i sc a nb eg e n e 陷i i z e da sf o a w ;n g : f i 隅u y j i t b r i n g s m o d e i b a s e d d e s i g nm e 廿1 0 d o i o g y i n t oc h i n e s e a u t o m 0 6 v ei n d u s t r ya n d e i e c t r o n 沁s y s t e md e s i g n d e s i g na n di m p i e m e n t s m a r t o s e kl d e 3 0b a s e dn om b d s e c o n d i y 。d e s i g na n di m p i e m e n ts m a n :、,e r 厅c a t o rt oc o n v e r tm o d e lt o 币m e da u t o m a t a t h u si m d i e m e n tt h ev e 币t i o no fm o d e is t a t e t h i r d i v 。d e s i g na n di m p i e m e n tas e r v i f o f o p e 阳a v ew o n m a n yu s e 隅 na n a i v z e 廿1 es a m ec o d e 啊i ea t 小es o m e 石m eb yu s j n g 廿1 i ss e r v i i t i m p r a v e si a 啊ee 怖c i e n c yo fa n a i y s i s t h i ss e r v i i si m p i e m e n t e da sd i e n ta n d s e r v e r ( c s ) a r c h 1 e c t u 陀 a ti a s t 北i n v e n t sam e t h o dt og e tt h es c h e d u i a b i i 时o far e a i 埘m es y s t e m b e s e do ns i m u i a 石n g i m p l e m e n td y n a m i ca n ds t a b cs c h e d u i a b i t ya n a i y s i s t o o i sf o rr e a i - 石m es y s t e m s k e ”o r d si n t e g 怕t e dd e v e i o p m e n te n v l r o n m e n t : m o d e ib a s e dd e s i g n ( m b d ) :s t a t ev e r 行c a t e :c o d e s j g n :s c h e d u j a b j j j t ya n a j y s j s :c o m p o n e n t b a s e d 浙江大学硕士学位论文 圈目录 图目录 图2 一l 基于模型的设计流程和一般软件设计流程的比较4 图2 3 标准的m v c 结构5 图2 4 控制器对象( e d i t p a r t ) 的结构和作用一6 图2 5s a 】【解析器处理的过程9 图2 6e c l i d s e 平台体系结构1 3 图3 1 而向数字化设备的嵌入式软件平台整体架构及应用2 0 图3 - 2 符合o s e ko s 标准的、实时安全的嵌入式操作系统内核结构2 l 图3 3s 蚰r t 0 s e ki d e l o 使用的流程2 3 图3 4s m a r t o s e ki d e3 0 的总体架构图2 5 图3 5 层次化建模环境2 6 图3 6s 衄r t c 开发平台2 7 图3 7 自动代码牛成总体架构图2 9 图3 8 文档生成的总体架构图3 0 图3 9s m a r t c 库的总体结构3 l 图3 1 0s m a r t c 库的结构图3 l 图3 1 1s 叻r t c 库的维护3 2 图4 一l 传统的软件开发生命周期3 5 图4 2u p p 从l 的) a 也文档第一层次上的文档格式一3 8 图4 3u p p 从l 文件格式第二层次的结构图3 8 图4 4 模型验证s 衄r t v e r i f i c a t o r 的总体结构图4 l 图4 5s m a r t c 模型错误检测器的总体架构4 2 图4 6s m a r t c 模型检查三个主要模块之间的关系4 3 图4 - 7s 珥a r t c 模型验证的总体流程图4 5 图5 一l 任务最大相应时间的构成5 3 图5 2 任务i 的关键时刻视图5 4 图5 3 基于模型的模拟仿真的可调度性分析工具的总体架构5 7 图5 - 4 加入一般情况下可调度性分析的设计流程5 9 图5 _ 5 加入精确执行时间下的可调度性分析后的用户建模流程6 0 图5 6 加入最差情况下可调度性分析后的用户建模流程6 l 图5 - 7 可调度性分析工具的总体结构图6 2 图5 8 任务优先级可变情况下的可调度性分析的总体流程6 5 图5 9 在线可调度性分析的工作原理6 7 图6 - ls m a r t c o d e s ig r i e r 的使用流程6 9 图6 2 模型文件在服务器中的存储结构6 9 图6 3s m a n c o d e s i l l g c r 的服务端的总体架构一7 0 图6 - 4s m a n c o d e s i g n 盯的客户端的总体架构7 l l v 浙f l = 大学硕上学位论文 圈目录 图6 - 5 连接服务器的基本设置7 2 图硒服务器端的通信流程7 3 图6 - 7 用户下载的流程 图6 - 8 用户上传的流程一 一7 5 7 5 表4 一l i i p p 从l 的b n f 语法支持的五种属性。一 v 浙托大学硕上学位论文第1 章引言 第1 章引言 1 1 研究背景 随着计算机信息技术在各行业中的不断渗透,嵌入式计算技术不但在信息产 业中占有重要比重,还成为推动其他行业发展,提升其行业产品竞争力的核心技 术。尤其是对于实时控制领域中的高精尖产品,如汽车、飞机、武器、精密加工 机床等,嵌入式系统的设计能力更是成为了产品竞争的焦点这类产品对国家意 义重大,不仅关系国家经济和社会发展的战略性产业,甚至关系到国家政治、经 济和社会的安全,是国际竞争的焦点和战略制高点。目前,我国在实时控制产品 领域和发达国家相比还有很大差距,大量的产品和技术仍然依赖于进口以汽车 产业为例,国际上对汽车发动机的废气排放有严格的控制标准,需要精确地控制 发动机的电子点火和燃油喷射,而目前我国生产的汽车发动机中,电子控制部分 完全依赖于进口,仅购买电控单元的费用就占到了整个发动机售价的5 0 左右。 长远来看,随着汽车电子在整车中所占比重的不断提高,落后的电子控制技术将 成为限制我国汽车行业发展的瓶颈。 汽车电子化是现代汽车发展的重要标志之一,目前世界每辆汽车采用电子装 置的情况已成为衡量这部汽车水平高低的主要标志,未来汽车市场的竞争是汽车 电子化水平的竞争。八十年代以来,国外计算机技术和微电子技术发展迅速,推 出了具有多种检测和控制功能的汽车电子系统,使汽车的性能和质量得到了巨大 的提高,并且同时提高了汽车的环保程度。到目前为止,每辆汽车内部都含有大 量的电子系统和软件程序 在汽车电子领域,嵌入式支撑软件是嵌入式系统的基础通常,嵌入式系统 本身不具备自主开发能力,要求用户直接在代码级进行应用的开发,费时费力而 且容易出错,而通用计算机具有完善的人机接口界面,在上面增加一些开发应用 程序和环境即可进行对自身的开发因此,对于嵌入式系统,一套辅助的开发工 具和环境是必须的,这样才能真正减少开发时间,保障软件质量。 s m a r t o s e ki d e ,全称s m a r t o s e ki n t e g r a t e dd e v e l o p m e n te n v k o n m e m ,是 面向汽车电子领域的支持o s e k 标准操作系统和支持基于模型方法的开发平台 它是8 6 3 项日“支持汽车电子的嵌入式软件平台”和“支持数字化设备的嵌入式 软件平台”的主要内容。 结合8 6 3 项目的要求,s m a r t o s e ki d e 的研究目标是:针对我国汽车电子领 浙江大学硕士学位论文 第l 章引言 域,尤其是数字化设备领域的自主国产需求,研制一种面向汽车电子的开发平台, 建立以模型为中心得开发模式,支持嵌入式o s e k 标准操作系统的加载,从而大 幅提高嵌入式系统的开发效率和嵌入式软件的可靠性;基于该平台,研制开发犬 型卡车的动力总成电子控制系统等一系列具体的应用流程,提升我国汽车电子领 域嵌入式软件自主研发能力。 s m a r t o s e ki d e 3 0 的主要研究内容为:开发一套基于o s e k 标准面向于汽 车电子的可视的、图形的、层次化的集成刀= 发环境,提供从系统层到组件层的5 个层次的建模环境,一整套模型验证和系统测试工具可以实现程序算法的模型 设计和代码生存、文档生成,自行研制并且实现了一种汽车电子领域语言 s m a r t c 。主要包括:层次化建模环境、s m a r t c 错误检测系统、模型状态验证、系 统可调度性分析工具和s m a r t c 代码自动生成、c 代码自动生成、文档自动生成 以及模型协同开发系统,可维护、可扩展的s m a r t c 库。这些功能在一起,组成 了汽车电子的一整套开发流程,体现了基于模型的开发方法,并且把o s e k 标准 操作系统的自动加载隐藏在用户对模型的操作当中。因此,所有功能模块组合而 成的s m a r t o s e k 集成开发环境可以成为汽车电子领域的一种独立并且完善的软 件开发平台。 1 2 论文的主要内容 s m a r t o s e k i d e 是国内第一个基于模型的面向汽车电子行业的,可视的、图 形的、层次化的集成开发环境。当前s m a r t o s e ki d e 以及推出了3 0 版本。 本文主要设计和实现s m a r t o s e ki d e 3 0 的总体架构及其各个功能模块,其 中,着重介绍了模型验证工具s m a r t v e r i f i c a t o r 、可调度性分析工具s m a r t a n a l y z e r 和协同工作工具s m a r t c o d e s i g n e r 。 1 3 论文的主要创新点 s m a r t o s e ki d e 3 0 在设计和实现上有以下几个创新点: 1 ) 在建模环境中引入了两层构件的机制。针对汽车电子分布式应用的需求, s m a r t o s e ki d e 30 实现了两种层次的构件架构,即是系统层中出现的构 建和任务、子任务层中出现的组件,它们分别支持软件的部署和算法的 复用。 2 ) 提供了软件复用和共享的机制。s m a r t o s e k i d e 3 0 实现了模型库,这个 2 浙江大学硕士学位论文 第1 章引言 模型库包括驱动库、服务库和数学函数库,能够保存用户的设计并且复 用这些设计:同时,s m a r t o s e ki d e 3 0 还提供了协同工作的机制,能够 使得多个开发人员同时对汽车电子软件进行设计和实现。 3 ) 提出了基于模型的模拟仿真的可调度性分析方法。基于模型的模拟仿真 方法是作者为了实现可调度性分析工具而设计的它的主要思想是通过 对模型的模拟执行,得到模型执行序列,通过对执行序列的分析可以得 到模型的可调度性。基于模型的模拟仿真的可调度性分析方法可以分为 一般情况下的可调度性分析,得到精确执行时间下的可调度性分析和最 差情况下的可调度性分析三个部分。 4 ) 实现了模型到时间状态自动机的转化。s m a r t o s e ki d e 3 0 将模型中每个 任务的状态划分为执行态,等待态和就绍态,通过对模型的分析将模型 的转化层由这三种状态组成的时问状态自动机从而对模型的状态进行 分析 1 4 论文组织结构 第一章( 引言) 介绍整个项目大的背景,以及整个论文的创新所在 第二章( 关键技术) 介绍了本文所使用到的一些关键的技术和理论,同时也 总结了几个在国内外比较流行的面向汽车电子的集成开发环境。 第三章( 总体介绍) 将系统的介绍s m a r t o s e ki d e 3 0 的整体结构以及它的发 展历史,同时将s m a r t o s e k i d e 3 0 中的各个功能模块作了简要的介绍。 第四章( 状态验证) 设计和实现了s m a r t o s e ki d e 3 0 中的状态验证部分,包 括模型错误检查部分。 第五章( 协同开发) 设计和实现了s m a r t o s e ki d e 3 0 中的协同工作部分 第六章( 可调度性分析工具) 设计和实现了s m a r t o s e ki d e 3 0 的可调度性分 析工部分同时,还研究了国内外的可调度性分析方法的技术现状,提出了一种 基于模拟的模拟仿真的可调度性分析方法。 最后一章( 总结和展望) 将预测s m a r t o s e ki d e 的未来,指出一些可能的发 展方向 浙汀大学硕上学位论文 第2 章技术背景和国内外研究现状 第2 章技术背景和国内外研究现状 2 1 基于模型的软件设计方法 基于模型的方法足嵌入式领域一种先进的开发方法,它的核心思想是利用 图形化的模型,利用可视化编程语言,进行开发和设计的工作。 所谓模型化( m o d e l i n g ) 是从形式上描述一个系统或者一个应用程序。一 个模型可以是数学意义上的模型,它由一系列系统的子系统构成,子系统再由进 行相关配置的图形元素构成。它也町以是架构意义t :的,用来描述一个系统对系 统外激励的响应情况p ”。 基于模型的设计思想就是将软件设计的整个过程用模型作为巾介联系起 来,同时将模型作为各个阶段进行交互的媒介1 4 0 1 。在需求设计阶段,基于模型的 设计进行需求建模,这一过程产生的成果是需求模型,同时,通过一定的手段对 需求模型进行验证;在系统设计阶段,基于模型的设计进行系统建模,这一过程 产生的成果是系统模型,也需要有一定的措施来保证系统模型的正确和与需求模 型的一致性;在系统的实现阶段,给予模型的设计进行实现模型的建模,这一过 程参数实现模型,通过对实现模型的检查和验证就可以完成对应用程序的基于模 型设计的整个过程。基于模型的设计流程和一般软件设计流程的比较如图2 - l 所 示。 图2 - - i 基于模型的设计流程和一般软件设计流程的比较 基于模型的设计应用到嵌入式开发类似于传统软件中的组件技术首先应 将系统根据功能模块分割成多个嵌入式组件;再确定各个组件之间的关系;最后 再对各个嵌入式组件设计完成嵌入式组件除了符合通用软件组的封装性、可重 用性要求外,还必须能够充分体现出嵌入式系统资源有限、并发特性、时间要求 以及硬件相关等固有特性;还应该能够适应目标平台。这些组件还需有类库支持。 组件内部是封装数据和实现功能的函数,外部是定义明确的接口 4 浙汀大学硬上学位论文 第2 章技术背景和国内外研究现状 2 2 基于m v c 结构的g e f 技术 g e f ( g r a p h i c a le d i t i n gf r a m e w o r k ) 是用来开发图形界面的一个插件 ( p l u g i n ) 。几乎任何丰富的图形界面都町以通过g e f 开发。g e f 插件图形界面 通过d r a w 2 d 框架来开发。d r a w 2 d 框架是一个标准的二维图形开发框架。g e f 和d r a w 2 d 的关系紧密,要深刻理解g e f 并利用g e f 开发图形编辑框架,必 须精通d r a w 2 d 。 标准的m v c ( m o d e l v i “v - c o n t r 0 1 ) 结构,如错误1 未找到引用源。所示。 从图中町以看到,整个系统町以分为m o d e l 、v i e w 和c o n t r o l 三个部分,其中m o d e l 部分负责存贮模型的数据,v i e w 部分负责模型的现实,c o n t r o l 部分负责m o d e l 部分和v i e w 部分的交互 一 图2 - 2 标准的唧c 结构 g e f 的优势是提供了标准的m v c ( m o d e l v i e w - c o n t r 0 1 ) 结构,开发人员可 以利用g e f 来完成以上这些功能,而不需要自己重新设计与其他一些m v c 编 辑框架相比,g e f 的一个主要设计目标是尽量减少模型和视图之间的依赖,好处 是可以根据需要选择任意模型和视图的组合,而不必受开发框架的局限。 模型:g e f 的模型只与控制器打交道,而不知道任何与视图有关的东西为 了能让控制器知道模型的变化,应该把控制器作为事件监听者注册在模型中,当 模型发生变化时,就触发相应的事件给控制器,后者负责通知各个视图进行更新。 典型的模型对象会包含p r o p e r t y c h a n g e s u p p o r t 类型的成员变量,用来维护监 听器成员即控制器;对于与其他对象具有连接关系的模型,要维护连入连出的连 接列表:如果模型对应的节点具有大小和位置信息,还要维护它们这些变量并 不是模型本身必须的信息,维护它们使模型变得不够清晰,但你可以通过构造一 些抽象模型类来维持它们的可读性。 控制器:我们知道,在m v c 结构里控制器是模型与视图之间的桥梁,也是 浙江大学硕士学位论文 第2 章技术背景和国内外研究现状 整个g e l :的核心它不仅要监听模型的变化,当用户编辑视图时,还要把编辑结 果反映到模型上举个例子来说,用户在数据库结构图上删除一个表时,控制器 应该从模型中删除这个表对象、表中的字段对象、以及与这些对象有关的所有连 接。当然在g e f 中这些操作不是由直接控制器完成的 g e f 中的控制器是所谓的e d i t p a r t 对象,更确切的说应该是一组e d i t p a n 对 象共同组成了g e f 的控制器这部分,每一个模犁对象部对应一个e d i t p a r t 对象。 你的应用程序中需要有一个e d i t p a r t f a c t o r y 对象负责根据给定模型对象创建对应 的e d i t p a r t 对象,这个工厂类将被视图利用。 r o o t e d i t p a r t 是一种特殊的e d i t p a r t ,它和你的模型没有任何关系,它的作用 是把e d i t p a r t v i e w e r 和c o n t e n t s ( 应用程序的最上层e d i t p a r t ,舣代表一块画布) 联系起来,可以把它想成是c o n t e n t s 的容器e d i t p a r t v i e w e r 有一个方法 s e t r o o t e d i t p a r t 0 专门用来指定视i 冬l 对应的r o o e d i t p a r t 图2 - 3 控制器对象( e d i t p a r t ) 的结构和作用 用户的编辑操作被转换为一系列请求( r e q u e s t ) ,有很多种类的请求,这些 种类在g e f 里被称为角色( r o l e ) ,g e f 里有图形化和非图形化这两大类角色, 前者比如l a y o u tr o l e 对应和布局有关的的操作,后者比如c o n n e c t i o nr o l e 对应 和连接有关的操作等等。角色这个概念是通过编辑策略( e d i t p o l i e y ) 来实现的, e d i t p o l i c y 的主要功能是根据请求创建相应的命令( c o m m a n d ) ,而后者会直接操 作模型对象。对每一个e d i t p a r t ,你都可以”安装。一些e d i t p o l i c y ,用户对这个 e d i t p a r t 的特定操作会被交给已安装的对应e d i t p o l i c y 处理。这样傲的直接好处是 可以在不同e d i t p a r t 之间共享一些重复操作。 视图:前面说过,g e f 的视图可以有很多种,g e f 目前提供了图形 ( g r a p h i c a l v i e w e r ) 和树状( t r e e v i e w e r ) 这两种,前者利用d r a w 2 d 图形( i f i g u r e ) 6 浙江大学硕士学位论文 第2 章技术背景和国内外研究现状 作为表现方式。多用于编辑区域,后者则多用于实现大纲展示视图的任务同样 繁重,除了模型的显示功能以外,还要提供编辑功能,回显( f e e d b a c k ) 、工具提 示( t o o l t i p ) 等等。 g e f 使用e d i t p a r t v i e w e r 作为视图,它的作用和j f a c e 中的v i e w e r 十分类似, 而e d i t p a r t 就相当于是它的c o n t e n t p r o v i d e r 和l a b c l p r o v i d e r ,通过s e t c o n t e n t s 0 方法来指定。我们经常使用的e d i t o r 是一个g r a p h i c a l e d i t o r w i t h p a l e t t e ( g e f 提 供的e d t t o r ,是e d i t o r p a r t 的子类,具有l 冬1 形化编辑区域和一个工具条) ,这个e d i t o r 使用g r a p h i c a l e d i t v i e w e r 和p a l e t t e v i e w e r 这两个视图类,p a l e t t e v i e w e r 也是 g m d h i c a l e d i t v i e w e r 的子类。开发人员要在c o n f i g u r e g r a p h i e a l v i e w e r ( ) 和 i n i t i a l i z e g r a p h i c a l v i e w e r 0 这两个方法里对e d i t p a r t v i e w e r 进行定制,包括指定它 的c o n t e n t s 和e d i t p a r t f a c t o r y 等等。 2 3x m l 及其解析技术 x m l ( e x t e n s i b l em a r k u pl 锄g u a g c ) 即可扩展标记语言,描述了一类称为咀一 文档的数据对象同时也部分地描述了处理这些数据对象的计算机程序的行为 x m l 是s g m l ( 准通用标记语言 i s o8 8 7 9 1 ) 针对应用的一个子集,或者说是s g m l 的一种受形式。根据定义,帆文档是合乎规范的s g m l 文档。1 2 ;1 鲫瞄1 。 2 3 1 ) 凸几的特点 x m l 是一种有效的信息表达技术,它的主要特点有: 1 ) 简单性。比s g m l 简单,易学,易用。x m l 经过精心设计的,整个规 范简单明了,它由若干规则组成,这些规则可用于创建标记语言,并能 用一种常常称作分析程序的简明程序处理所有新创建的标记语言x m l 能创建一种任何人都能读出和写入的世界语,这种创建世界语的功能叫 做统一性功能。如x m l 创建的标记总是成对出现,以及依靠称作统一代 码的新的编码标准。 2 ) 可扩展性可扩展性表现在两个方面:一方面,x m l 文件中名称空阃的 使用,使x m l 标记可以通过互联网被其他组织或个人使用,这样就可以 使用统一的数据查询和操作模式,而不必考虑数据所在的具体应用环境。 另一方面,x m l 可以在不破坏现有结构和系统的情况下增加新的数据字 段。若改变数据模型,只需改变数据模式定义,如d t l i 等,不需要重 新编码现有的程序。例如i e p r w s 系统中,若模板增加新的模板数据字 7 浙江大学硕上学位论文第2 章技术背景和嗣内外研究现状 段,只要改变相应的d t d 即可。而程序不需作任何改变,仍可以正确运 行这在很大程度上提高了系统的可维护性和可扩展性 3 ) 开放性。尽管还有一些关于x i v l l 的疑问,但这个标准自身在w e b 上却 是完全开放的,可以免费获得。x m l 文档自身也较为开放,任何人都可 以对一个结构良好的x m l 文档进行语法分析,如果提供了d t d ,还可 以校验这个文档。公司仍然用特定方式创建用于它们的应用的x m l ,而 x m l 文档中的数据却是任何应用都可使用的。x m l 并不禁止创建私有 格式,但它的开放性是它最人的优点之一 4 ) 国际化。标准国际化,且支持世界上大多数文字。这源于依靠它的统一 代码的新的编码标准,这种编码标准支持世界上所有以主要语言编写的 混合文本。在h t m l 中,就大多数字处理而言。一个文档一般是用一种 特殊语言写成的,不管是英语,还足开语或阿拉伯语,如果用户的软件 不能阅读特殊语言的字符,那么他就不能使用该文档但是能阅读x m l 语言的软件就能顺利处理这些不同语言字符的任意组合。因此,x m l 不 仅能在不同的计算机系统之间交换信息,而且能跨国界和超越不同文化 疆界交换信息。 5 ) 操作性:x m l 可以在多种平台上使用并且x m l 文档的结构是相容的。 因而解析器可以容易地实现。 6 ) 支持u n i c o d e x m l 从本身设计的开始就支持万国码u n i c o d e ( u n i c o d e 是将a s c i in o 5 及i s o1 0 6 4 6 整合并改良的字符集,其目的是想包含全 世界的编码方式1 ,因此,不存在x m l 文档国际化的问题。 2 3 2x 肌文档的解析技术 l 、d o m d o c u m e n to b j e c tm o d e l ( 文档对象模型) 简称为d o m ,是w 3 c 公布的一种跨 平台、与语言无关的接口规范,是对w e b 文档进行应用开发、编程的应用程序接 口( ( a f t ) d o m 提供了在不同环境和应用中的标准程序接口,可以用任何 语言实现。 d o m 采用对象模型和一系列的接口来描述x m l 文档的内容和结构,即利 用对象把文档模型化。这种对象模型实现的基本功能包括: 1 ) 描述文档表示和操作的接口; 2 ) 接口的行为和属性 浙托大学硕上学位论文第2 章技术背景和国内外研究现状 3 ) 接口之间的关系以及互操作 d o m 对结构化的x m l 文档进行解析,文档中的指令、元素、实体、属性 等所有内容个体都用对象模型表示,整个文档的逻辑结构类似一棵树,生成的对 象模型就是树的节点,对象同时包含了方法和属性。其后对文档的所有操作都是 在对象树上的进行。 利用d o m ,开发人员可以动态地创建x m l 文档,遍历结构,添加、修改、 删除内容等等。其面向对象的特性,使人们在处理x m l 解析相关的事务时节省 大量精力,是一种符合代码重用思想的强有力编程工具 2 、s a x 与d o m 处理x m l 的方式不同,s a x 解析器不是将d o m 树解析和表现为 输出,它足基丁事件的,所以在x m l 被解析时,事件被发送给引擎。 s a x 是一种事件驱动的通道,它的基本原理是由通道的用户提供符合定义 的处理器,x m l 解读时若遇到特定的事件,就会去使用处理器中的特定事件的 处理函数。一般来说s a x 都是以j a v a 为基础,但o h 也可以使用s a x 通道。 s a x 可以在文档的开始接收事件,也可以接收文档中的元素。使用这些事件 可以构建一种结构。通常构造d o m 树:然麻也可以构建包含x m l 文档的所有节点 的j a v a u t i l c o l l e c t i o n 实现。如图2 - 4 现实了s a x 解析器处理的过程。 陶一圆围国 图2 - 4s a x 解析器处理的过程 9 雪 浙江大学硕上学位论文第2 章技术背最和国内外研究现状 $ a x 虽然对系统瓷源要求低、速度快,但对文档的操作是只读的相对于 s a x ,d o m 的处理能力更强大。尽管要求大量的系统资源,尤其足对于大的x m l 文档。由于在系统中也需要有处理写x m l 文档的情况,较适用于用d o m 解析。 因而,本位采用d o m 作为x m l 文件的解析器。 2 4 建模语言s m a r t c s m a r t c 是由浙江大学嵌入式系统工程实验宅( e s e ) 自主开发的,国内第一 个面向控制领域的并行语言。s m a r t c 语言有图形和代码两种表达方式,这两者表 达方式之问可以实现相互的转化。s m a r t c 语言具有多种针对汽车电了嵌入式软件 开发的特点,包括支持层次化的建模、两级构件设计方法,基于消息的安全通信 机制、支持并发机制、支持多种计算模型、支持o s e k v d x 标准以及支持a u t o s a r 软件架构体系等特点,能够满足复杂分布式汽车电子嵌入式软件开发的需求1 2 6 。 s m a r t c 是一种建模语言,一种中间语言不能直接在e c u 上运行,要通过 生成c 代码才能最终完成应用程序设计 2 4 1s m a r t c 的主要内容 s m a r t c 的主要内容包括:层次化的建模环境,并发和消息通信,两极构件结 构,支持o s e k v d x 和a u t o s a r 和s m a r t c 库其中建模环境和s m a r t c 库两部分将 在第三章3 3 节中介绍 1 、并发和消息通信 并发是嵌入式系统的重要特征。在s m a r t c 语言中,s m a r t c 不仅支持任务作 为独立调度的单位和拥有资源的基本单位,支持子任务作为调度的基本单位,而 且还支持任务在进程级和予任务在线程级的调度 s m a r t c 通过底层的s m a t t o s e k 操作系统的支持,提供了抢占式、非抢占式、 混合式以及轮转式调度方式;s m a r t c 提供了事件机制、消息机制以及定时器等多 种同步机制支持系统并发的实现t 2 6 1 。 同时为了实现任务之间在共享资源是的并发,s m a r t c 还实现了对共享资源 的互斥操作,为了保持数据的一致性,s m a r t c 还实现了数据的回写和写通的机制 2 、两极构件结构 s m a r t c 是支持构件的建模语言。s m a r t c 把构建分为系统级的构建和算法级 的构建两种,为了描述的方便分别称他们为构建和组件 构建足组成系统的基本单位,它只有逻辑上的意义,在生成c 代码的时候 1 0 浙江大学硕士学位论文 第2 章技术背景和国内外研究现状 没有任何体现。 组件足组成子任务和任务的单位。组件可以分为全局组件和本地组件,全 局组件支持算法设计的复用,存放在s m a r t c 库巾,而本地组件是代码序列的集合。 是为了开发者建模是图形表达的方便性而提出的组件是由实际意义的实体。在 代码生成时,每个组件都是一个函数。s m a r t c 语言的两级构件体系结构满足了汽 车电子软件应用的功能设计的需求和算法设计的需求,与其它的构件化软件设计 方法相比,具有更强的领域特征 2 6 1 。 3 、支持o s e k ,v d x 和a u t o s a r o s e k v d x 标准是欧洲汽车电子行业的主流标准,浙江大学嵌入式系统工 程实验室( e s e ) 开发了国内第一个符合o s e k v d x 标准的操作系统一一 s m a r o s e ko s 。s m a r t c 语言通过支持s m a r t o s e ko s 来支持o s e k v d x 标准 s m a r t c 中的所有对象和图形元素以及他们的属性和方法都足从s m a r t o s e ko s 中提取出来的,最终生成的c 代码也是基于s m a r t o s e ko s 的,因此,s m a n c 是符合s m a r t o s e ko s 的,也就是说s m a r t c 是符合o s e k v d x 标准的。 a u t o s a r 是这几年国际汽车电子行业提出来的新的软件架构。s m a r t c 通过 以下方式支持a u t o s a r : 首先,s m a r t c 支持基于构件的软件开发方法,这是a u t o s a r 软件体系结构 的重要特征; 其次,s m a r t c 支持平台无关的应用设计,使得开发者通过s m a r t c 设计的软 件可以被部署到不同的处理器上: 最后,通过s m a r t c 可以将软件的开发和软件的实现紧密的结合在一起,实 现了a u t o s a r 的开发目标。 2 4 2s m a x t c 的语义 s m a r t c 的具体语法,这里不作具体的介绍,读者可以参阅陋】的1 5 0 - 1 7 7 ,附 录:s m a r t c 语言规范部分。这里只对s m a r t c 的语义进行介绍。 l 、s m a r t c 的构件 基

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论