(计算机软件与理论专业论文)基于uml和形式化方法的面向方面实时系统模型.pdf_第1页
(计算机软件与理论专业论文)基于uml和形式化方法的面向方面实时系统模型.pdf_第2页
(计算机软件与理论专业论文)基于uml和形式化方法的面向方面实时系统模型.pdf_第3页
(计算机软件与理论专业论文)基于uml和形式化方法的面向方面实时系统模型.pdf_第4页
(计算机软件与理论专业论文)基于uml和形式化方法的面向方面实时系统模型.pdf_第5页
已阅读5页,还剩87页未读 继续免费阅读

(计算机软件与理论专业论文)基于uml和形式化方法的面向方面实时系统模型.pdf.pdf 免费下载

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

文档简介

摘要 摘要 关注分离在软件工程上是一种广泛应用的原理,认为难于理解的复杂问题应 该被划分为一系列容易理解的简单问题。这些简单问题能够容易解决和集成到原 处,从而解决原来复杂的问题。由于问题被分解为人容易理解的小单元,而且适 合于各种需求的变化,因此这种软件开发方式能够给程序带来更好的可理解性、 维护性、适应性和重用性。 实时系统己经广泛应用于各个领域,但是实时系统具有很多非功能需求( 例 如实时性) ,且这些非功能需求往往横切整个系统模块,引起代码混乱和代码分散 等问题,导致系统难于设计、重用和维护,严重影响系统的性能。 面向方面编程作为一种基于关注分离的新软件开发范例,能够通过引入实现 横切关注点的方面来获得更高的功能性和非功能性关注点的分离,而且系统不同 的方面能够进行单独的设计,并织入系统。它不仅能够解决面向对象编程在设计 横切关注点时陷入的“应该设计不足还是宁可过分设计”的两难境地,还能够很 好的解决上述遇到的问题。 目前面向方面编程的实现语言已经不少,例如a s p e c t j 等,但仍然没有适用面 向方面程序设计的建模语言。因此,我们利用u m l 和形式化方法来设计面向方 面程序,并建立相应的面向方面软件设计模型来设计实时系统。 本文分析介绍了实时系统、面向方面软件设计以及u m l 等技术:总结了u m l 建模实时系统现有的方法;论述了扩展u m l 建立的时间模型;提出一种新的基 于u m l 的面向方面软件设计模型( a o s d m u m l ) ,通过扩展u m l 表达a o p 的 相关概念,在u m l 的元模型层次上设计a o s d 的模型框架,从结构模型、行为 模型和方面织入等几部分建立面向方面的设计模型,并结合实例说明整个建模过 程。即利用u m l 的类图实现方面的结构模型、方面与核心组件以及方面之间的 静态关系,协作图表达方面与核心组件之间的动态行为,最后通过状态图细化系 统的动态行为,实现在状态图中表达方面与核心组件以及方面之间的织入关系。 接着进一步结合形式化语言实时逻辑对a 0 s d m u m l 进行实时扩展,并通过电 梯例子来说明实时系统的建模过程。 广东工业大学工学硕士学位论文 为了从形式化方法的角度来设计实时系统,本文根据a o p 技术把系统不同的 方面利用不同的形式化语言来表示,用l o t o s 描述实时系统的功能性方面,而 实时方面用随机实时时序逻辑s q t l 表达,并通过定义迁移系统l t s 和事件调度 器利用时间自动机来实现方面的织入。根据分布式实时系统的特性,还进一步提 出把时间方面划分为确定的、不确定的和模糊的时间子方面,并且把不同的时间 子方面分别利用随机实时时序逻辑( s q t l ) 和模糊时间p e t r i 网( f t n ) 来设计,然后 各个时间子方面都转化为时间自动机组合到系统中,实现系统的实时特性。 关键词:面向方面编程;面向方面软件开发;实时系统;u m l ;形式化方法 i i a b s t r a c t 5 印8 r 盯f f d 咒口,c d 行c 已m ji s ac o m m o n , w i d e l y u s e d p r i n c i p l e i ns o f t w a r e e n g i n e er i n g i ts u g g e s t st h a tac o m p l e xp r o b l e mt h a ti sh a r dt ou n d e r s t a n db ed i v i d e d i n t oas e r i e so fs m a l l e rp r o b l e m st h a ta r e1 e s sc o m p l e xa n de a s i e rt oc o m p r e h e n d t h e s es m a l l e rp r o b l e m sm a yt h a nb es 0 1 v e do n ea tat i m ea n df i n a l l ym a yb ep u tb a c k t o g e t h e ra g a i nt os o l v et h eb i gp r o b l e m d e v e l o p i n gs o f t w a r et h i sw a yl e a d st oa g r e a t e rc o m p r e h e n s i b i l i t y ,m a i n t a i n a b i l i t y ,a d a p t a b i l “y ,a n dr e u s a b i l i t yo fp r o g r a m s s i n c ep r o b l e m sa r ec u td o w nt ou n i t sw h o s es i z ei sp e r c e p t i b l eb yh u m a nm i n d sa n d t h a tm a yb eg e n e r a l i z e dt os u i tv a r i o u sn e e d s r 已口f - n m 已5 ”f e m sh a v eb e e na p p l i e di ne v e r ya r e aw i d e l y ,b u tt h e yh a v em a n y n o n f u n c t i o n a if e q u i r e m e n t s ,s u c ba st h e ,p 口,砌p ,p g “j ,苫,甩占砧f ,w b j c hc r o s sc u t h e w h o l es y s t e mm o d u l e s t h a tm a yc a u s et h ec o d et a n g l ea n ds c a t t e r ,m a k et h es y s t e m s h a r dt od e s i g n ,r e u s ea n dm a i t a i n ,a n da f f e c tp e r f o r m a n c eo fs y s t e m sb a d l y a o pi san e ws o f t w a r ed e v e l o p m e n tp a r a d i g m ,w h i c hc o u l da t t a i nah i g h e rl e v e l o f j 印口m f i 口nd , c 伽c p m si nb o t hf u n c t i o n a la n dn o n f u n c t i o n a lm a t t e r s b y i n t r o d u c i n g 以j p e c f ,f o rt h ei m p l e m e n t a t i o no fc r 口s j c “f f f h gc o n c e r n s d i f f e r e n t 置p p c f s c a nb ed e s i g n e ds e p a r a t e l y ,a n dw o v e ni n t os y s t e m t h i sw a yc a nn o to n l ys o l v et h e a r c h i t e c t s u n d e r o v e r d e s i g nd i l e m m ao fc r o s s c “f f i h gi no o p ,b u t “s os o l v et h e p r o b l e m ss t a t e da b o v e t h e r ea r em a n yf m p 地小已川乜f f d n so fa s p e c t - o r i e n t e dp r o g r a m sr e c e n t l y ,s u c ha s a s p e c t j ,b u tn om o d e l i n g1 a n g u a g ei sa v a i l a b l ef o rt h ed 已s f g no fa o p s ow ee x p r e s s t h ea o p u s i n gu m la n d ,扫r ,n n z ,挖p f 矗d d s ,a n de s t a b l i s ht h ea s p e c t o r i e n t e ds o f t w a r e d e s i g nm o d e lc o r r e s p o n d i n g l yt om o d e lr 已口f r f m e 掣s 把m j f i r s t l y , w ei n t r o d u c et h et e c h n 0 1 0 9 i e so fr p n z f 由竹p s y s f p ,n j ,n 置p p c f d r f e n f p d s q 疗w n 理如5 i g n ,a n du m l ,s u m m a r i z et h ee x p r e s s i o no f 陀酬f f m e i nu m l ,a n d d i s c u s st h et i m em o d e lo fu m l s e c o n d l y , w ep r o p o s ean e wa s p e c t o r i e n t e ds o f t w a r ed e s i g nm o d e lc a l l e d a o s d u m lw h i c he x p r e s s e st h ea o pb ye x t e n d i n gu m l ,d c s i g n sp r q 厂f ko fa o s d i i i 一:一,一,:。一,。墼些奎兰:三兰堡圭兰竺兰圣! ,一, i nt h em e t a m o d e lo fu m l ,a n dm o d e lt h ea s p e c t o r i e n t e ds y s t e m sf r o ms e v e r a lp a r t s s u c ha ss t r u c t u r e ,b e h a v i o ra n da s p e c tw e a v i n ga n ds oo n f o rd e m o n s t r a t i o np u r p o s e s , as i m p l es a m p l ea p p l i c a t i o ni sm o d e l e di nt h i sw o r kw i t ht h eh e l po fa o s d u m l c 饧时如占瑚牌jm o d e l h es t f u c u r e 埘d d e 】o fa 5 p e c t s ,5 妇t j cr e 】a t j o n s h i pb e w e e n a s p e c t sa n dc o r ec o m p o n e n t ,a n dr e l a t i o n s h i pa m o n ga s p e c t s c d ;f 扫d r n f f d 珂矗f 盘g r n m s d e s i g nd y n a m i cb e h a v i o r so fa s p e c t sa n dc o r ec o m p o n e n t ,w h i l ej r 盘f 已c n r 坫r e f i n e t h o s eb e h a v i o r sa n dr e a l l z et h ea s p e c t sw e a v i n g i no r d e rt om o d e lr 已口f f f ,l es ) ,j f e m 5 , w ee x t e n dt h er e a lt j m ei n t oa o s d m u m lw i t hj n t e g r a t j n gr 口拉f f f ,n f z 口占i f ,a n da n e l e v a t o re x a m p l ei l l u s t r a t e st h em o d e l - f i n a u y ,i no r d e rt om o d e lr e a l t i m es y s t e m sw i t hf o r m a lm e t h o d s ,w ed e s i g nt h e d i f f e r e n ta s p e e t so ft h es y s t e m b yd j f f 色r e n tf o r m a ll a n g u a g e sa c c o r d i n gt ot h e a s p e c t o r i e n t e dt e c h n o l o g y t h ef u n c t i o n a la s p e c t sc a nb ed e s c r i b e db yl o t o s ,w h i l e t h en o n f u n c t i o n a la s p e c t sb ys q t l a1 a b e l e dt r a n s i t i o ns y s t e ma n de v e n ts c h e d u 】e r c a nb ed e 矗n e dt ow e a v et h ea s p e c t sw i 出f i m e d 口删d 腕琏m a c c o r d i n gt oc h a r a c t e r i s t i c o fd i s t r i b u t e dr e a l - t i m es y s t e m s ,w es e p a r a t et h et i m ea s p e c ti n t ot h r e es u b a s p e c t si n a d v a n c e ,w h i c ha r ed e t e r m i n i s t i ct i m es u b a s p e c t ,u n d e t e r m i n i s t i ct i m es u b - a s p e c ta n d f u z z yt i m es u b - a s p e c t t h o s s u b - a s p e c l sa r ed e s i g n e db ys q t la n df t ne t c a f t e r a 1 1t h es u b a s p e c t sa r ei m p l e m e n t e d ,t h e ya r et r a n s l a t e di n t of 西咒p dn “d m f a n d w o v e ni n t ot h es y s t e m ,a n dr e a l i z et h er e a l 一t i m ef e a t u r e k e y w o r d s : a o p : a o s d : r e a l t i m es y s t e m s :u m l :f o r m a lm e t h o d s 第一章绪论 1 1 选题的背景及意义 第一章绪论 计算机解决现实世界问题是通过对问题域进行分析建立相应模型,并利用编程 语言提供的语法机制进行编码解决问题。其过程如下所示“: 现实世界问题域_ 建立模型_ 编程实现- 计算机世界执行求解 问题域模型的建立是关键的一个环节,它直接决定了问题是否正确的被解决。 面向对象( o b j e c t o r i e n t e d ,0 0 ) w 设计方法利用“对象”的概念模型建立一个针对 于问题域的模型,而人类趋向于用“对象”的观点或“方法”来认识问题,分析 问题以及解决问题,因此,用基于“对象”的概念模型来建立问题域模型自然成 为系统分析员与用户交流的有效工具。近年来,面向对象方法受到广泛的应用和 发展。但是从软件工程的整个软件开发周期来看,面向对象还有一些不足之处n “: ( 1 ) 设计阶段:由于以类为单位组织模块,因此它不能全面反映系统需求; ( 2 ) 编码阶段:o o p 将所有数据和方法都封装到相应的类中,这有利于增强数 据的安全性和模块化,但也有一些数据和方法是特定于具体应用的,因此 这种封装同时也减少了代码和模块重用的可能性; ( 3 ) 维护阶段:由于类中央杂了其它各种特定于应用的代码,使得类的功能变 得模糊,维护人员也难以理解。此外,由于完成某个特定需求( 如日志、 安全) 的代码分散在各个类中,当这些代码需要改变时,很难把它们全部 找出,这就给程序的健壮性带来了隐患。 因此,需要研究一种新的软件开发方法,来解决上述问题。这种方法就是面 向方面软件开发( a s p e c t o r i e n t e ds o f t w a r ed e v e l o p m e n t ,a o s d ) 方法,它将按 功能或对象划分程序模块的传统方法转化为按系统关注点来划分程序模块。面向 方面编程( a s p e c t o r i e n t e dp r o g r a m m i n g ,a o p ) 曾被m i t 技术评论杂志评为2 1 世纪十种对经济和人类生活工作方式最具影响力的技术之一“”。 面向方面编程是一种基于关注分离的新技术,系统不同的关注能够分离并单 广东工业大学工学硕士学位论文 独的设计,可以解决面向对象编程难于解决的复杂问题。例如在以往的过程化程 序设计和面哥对象编程技术中,某些程序设计代码分散在系统各个模块中,从而 导致系统难以开发和维护,面向方面编程技术就能很好的解决这个问题,并提高 了模块的重用性。面向方面软件设计把系统建模分成两部分:核心组件( 基本元 素) 和方面。 面向方面建模技术允许系统开发者在系统设计时,从核心功能性的需求中分 离出不同的关注,例如实时性、安全性、错误和异常处理、日志、同步控制、调 度、性能优化、通信管理、资源共享、分布式管理等”1 。同时通过支持方面的组 合和绑定来实现系统的集成。关注分离可帮助改进系统的设计,开发者只需要实 现单独的方面而不必过多考虑其它方面和系统的核心组件。实时性是实时系统的 最重要特性,可以利用a o p 技术把实时系统的实时性作为开发系统的一个独立的方 面,并建立相应的时间模型来实现时间方面,从而方便实时系统的设计和开发, 确保系统的实时性。 但是a o p 技术目前还不成熟,还没有形成统一的标准建模方法。现有的方法 都比较零散,主要针对软件设计的某个阶段,特别是编码阶段来讨论,没有把a o p 技术应用到软件设计的整个过程,发挥a o p 技术的优势,而且每种方法之间又可 能产生不兼容,产生混乱的局面。因此,非常需要探索一种比较完善的面向方面 的软件建模方法,这也是本课题研究的目的。 u m l 是面向对象的工业化标准建模语言,目前已经广泛的被运用于各个应用领 域的建模,具有丰富的模型分析和设计技术,能够利用不同的视图来构造系统的 结构和行为模型,在整个软件生产过程中都能很好地对软件系统进行建模。u m l 本身就是一种可扩展的建模语言,从而满足不同领域的建模需要。因此,利用u m l 来建立基于面向方面的实时系统模型,更容易接近于应用和为人们所掌握,也更 能体现a o p 和o o p 技术的结合优势。 形式化方法是建立在严格数学基础上、具有精确的数学语义的开发方法。从 广义角度,形式化方法是软件开发过程中分析、设计及实现的一种系统工程方法。 狭义地,形式化方法是软件规格和验证的方法。 实时系统非常复杂,对正确性、安全性、健壮性具有很高的要求,在开发过 程应尽量使规约具有精确性和无二义性,形式化方法以其数学上的精确性、固有 的推理证明机制和精化机制成为实时系统开发中的一种重要的方法。由于形式化 第一章绪论 方法的数学基础是相通的,可以将具有不同特点的、适用于不同方面的形式化方 法结合,构成有利于解决领域问题的综合形式化方法,这与面向方面技术中的不 同方面可以用不同方法描述的思想相一致。因此,可以把面向方面开发方法与形 式化方法相结合,进行实时系统的建模,从不同的角度分析问题,将复杂问题简 化为多个简单方面的组合,从而进一步保证实时系统的q o s 需求。 1 2 对国内外研究现状的分析 a o p 的概念是g r e g o rk i c z a l e s 在x e r o xp a r c 团队于2 0 世纪9 0 年代后 期首先提出的。从那时起,在各个编程领域已经涌现出许多a o p 框架,例如 a s p e c t j 。l 、a s p e c t c + p 。,和h y p e r ,j m ,等。目前,大多数面向方面软件设计主要是研 究与u m l 的相结合,即对u m l 进行扩展来进行面向方面建模的研究。有些是对 特定方面语言a s p e c t j 的u m l 扩展m “,有些通过扩展u m l 符号来表达面向方 面的概念,把方面表达为类元并实现构造型表达横切关注、绑定、连接点等概念 m w ,或者从结构方面mr w 和行为方面来建模方面n w 等等。这些方法都没有涉及 软件设计的整个过程,不能满足a o s d 各个阶段的需求。因此,有必要构建一个 具有较完整体系的方面模型,表达a o s d 的语义,并实现从多方面多角度来描述 a o s d 。这种模型与u m l 一样具有一系列的扩展机制适应不同的面向方面系统建 模,并与u m l 语义相一致,即能表达a o s d 又不会改变u m l 元模型。文献【2 4 ,2 5 】 虽然提出了一种用于面向方面建模的u m l 框架,但只是很简单的框架,没有细 化内部的内容。而且上述研究基本上都不是基于实时系统的研究,没有突出实时 性,不能直接进行实时系统的设计。 目前利用形式化方法来设计a o p 的研究主要有基于基于进程代数“、 g a m m a 语言n ”“、时序逻辑m ”,和两种形式化语言的结合”等形式化方法。文 献 2 6 】根据a o p 特性建立相应的进程代数语言,并实现对应的织入算法。文献 2 7 ,2 8 通过对g a m m a 语言进行实时扩展来定义时间方面。文献 2 9 ,3 0 以基于动 作时序逻辑t l a 的d i s c o 为基础从三个部分来开发系统,即规范、证明和验证, 并把d i s c o 实例规范转换为时间自动机,实现利用有效工具进行实时规范的验证。 文献 3 l 一3 5 】主要基于面向方面思想结合l o t 0 s 和时序逻辑来设计分布式多媒体 系统。根据分布式实时系统的特点,可以利用l o t o s 的并发特性来描述系统的 。一:,一, :童三兰奎茎三兰堡圭茎堡篁兰! 。,:,。! 。, 行为方面,而时序逻辑来表达实时方面,体现面向方面思想的优越性和灵活性。 上述建模实时系统的形式化方法都是把时问作为一个整体的方面来分析,而实时 系统通常是比较复杂,特别是分布式实时系统,一个系统的时间可能包括精确时 间、概率时问和模糊时间等。因此,还可以把时间方面进一步分为精确时间子方 面、概率时河予方面和模糊时间子方面,使时问方面能更准确的表达系统的实时 需求。 1 3 论文的主要工作及组织方式 1 3 1 论文的主要内容 本文研究的主要内容有:对u m l 进行面向方面的扩展;从系统框架、结构模 型、行为模型和方面织入等几部分来建立面向方面软件设计模型a o s d m u m l ; 结合形式化语言r t l 来扩展a o s d m u m l 模型迸行实时系统建模;基于面向方 面利用形式化语言l o t o s 和随机实时时序逻辑s q t l 对实时系统进行形式化建 模,并进一步细化时间方面,把时间方面分为确定时问子方面、不确定时间子方 面以及模糊时间子方面,不同个子方面通过不同的形式化语言实现,并转换为时 间自动机结合到系统中。 1 3 2 论文的组织方式 本文的结构组织方式如下: 第一章介绍本文选题的背景及意义和国内外研究的现状。 第二章主要介绍本文涉及到的相关技术简介,首先从实时系统的定义、特征 及要求、开发过程、建模方法和应用几个方面介绍实时系统;其次对u m l 的扩 展机制和现有的实时扩展方法进行总结;然后是对时间约束语言r t l 进彳亍简要的 概述;最后介绍a o p 的概念、实现原理、横切模型以及现有的a o p 框架。 第三章主要阐述u m l 的时间模型,从基本时间模型、定时机制模型、时间事 件模型和时间服务模型等几个方面讨论时间的建模方法。 第四章主要论述如何利用u m l 来建立面向方面软件设计模型a o s d m u m l 。 4 第一章绪论 首先讨论面向方面系统建模的u m l 框架,然后对u m l 进行扩展来表达面向方面 的概念:其次根据系统的静态和动态特性建立相应的结构及行为模型;最后讨论 a o p 的方面织入技术。 第五章是以a o s d m u m l 模型为基础来建模实时系统。首先是对 a o s d m u m l 模型进行实时扩展,并结合实时逻辑语言( r t l ) 来描述时间约束; 然后通过一个例子来描述实时a 0 s d m u m l 模型的建模过程。 第六章主要从形式化方法的角度来设计实时系统。根据a o p 技术能够把系统 不同的方面使用不同的语言表示的特点,利用l o t o s 描述实时系统的功能性方 面,而实时方面用随机实时时序逻辑s q t l 表达,并通过定义迁移系统l t s 和事 件调度器实现两种形式化语言的组合,把不同的形式化语言转换为时间自动机, 利用时间自动机来完成各个方面的织入。最后通过一个例子来分析设计过程。 第七章讨论如何利用a o p 技术和形式化方法来细化时间方面。根据分布式实 时系统的特点可以把系统的时间方面进行划分为确定的、不确定的以及模糊的时 间等多个子方面,不同的时间子方面使用不同的形式化语言设计,然后通过把各 个子方面转换为时间自动机结合到系统中,实现各个时间子方面的组合。本章利 用s q t l 设计确定的时间子方面和不确定的时间子方面,f t n 来建模模糊的时间 子方面。 2 1 实时系统 第二章相关技术 实时系统不同于分时系统,在分时系统中用户是通过计算机终端使用计算机 系统,允许多个用户同时与计算机系统进行一系列的交互,但每个用户都感到自 己拥有计算机系统的全部资源。而实时系统是计算机系统接收到外部信号后必须 能及时的进行处理,以及在严格规定的时间内完成,并能给出正确的处理结果的 系统。 2 1 1 实时系统的定义及时间约束 实时系统没有一个公认的定义,许多学者都根据自己的理解提出自己的定义。 j o h na s t a n k o v i c m ,认为实时系统具有一下的性质:即如果系统的逻辑正确性 和时间正确性不被满足的话,将会导致灾难性的后果,也就是说实时系统的正确 性不仅依赖计算结果的f 确性,而且依赖计算结果产生的时间。w o l 地a n ga h a l a n g 认为实时系统区别于其它系统就在于它包括了时间范围。z e p h o r 把实时 系统描述为:硬实时系统是一个在时间要求得不到满足的情况下会发生失败的系 统,不能响应将会引起灾难性后果,其响应时间必须是可以预知的,并且独立于 操作系统的其他活动;软实时系统可以容忍操作系统服务( 例如:中断、计时器 和调度) 在交付时的大范围的时间变动,它只要求对事件的响应足够快,并且每 次的响应时问具有足够的一致性来满足具体应用的需要即可。d o n a l dg 订1 i e s 提 出的更加为大家接受的定义是:一个实时系统是指计算的正确性不仅取决于程序 的逻辑正确性,也取决于结果产生的时间,如果系统的时间约束条件得不到满足, 将会发生系统出错m ,。牛津计算字典的解释是这样的:实时系统是这样的一些 系统,在这些系统中,产生输出结果的时间是至关重要的。这是因为输入时间往 往对应着物理世界中的某种运动,输出则必须针对同一运动。因此,从输入到输 出的延迟必须小于一个可以接受的界限。 6 第二章相关技术 这些定义都有一个共同的特点就是都承认实时系统的响应时间( 输入到输出 的时间) 是极其重要的。因此,我们在此可以认为实时系统是指时效性对于保证 正确性及其重要的系统,系统的正确性不仅依赖于计算结果的正确性,而且依赖 于计算结果产生的时间是否满足给定的约束。在极端的情况下,这种约束被指定 为时限,即一个时间值( 从一个起始激励开始指定) ,在这个时间之前结果动作必 须完成。实时系统常用的三种实时约束为:硬( h a r d ) 、软( s o f t ) 和严格( f i r m ) m ,: ( 1 ) 硬实时约束:滞后的响应是不正确的且说明系统出错,如果所产生的结果 不符合时间约束,那么,由此带来的错误将是严重的和不可恢复的。超时 响应可能会带来灾难性的后果。如核反应堆控制系统。 ( 2 ) 软实时约束:用平均响应时间来说明时间要求。即如果一个计算滞后,一 般并不产生显著的影响,但如果持续计算滞后则导致系统出错。如通信系 统v o i p 。虽然结果的产生不符合时间约束,但由此带来的错误是可以被 接受和恢复的。 ( 3 ) 严格实时约束:是硬和软时间限制的结合。允许偶尔错过截止时间,但超 时的计算结果必须丢弃。 实时约束规范需要通过增加注释和逻辑表达式,使用时序逻辑或在时序上构 造形式化规范语言来对编程语言的扩展。时间可以是稠密的( d e n s e ) 或者离散的 ( d i s c r e t e ) ,因此,需要有不同的方法来合成和检验实时系统。 一般地,检验一个系统是否满足实时性能目标主要可以从以下三步m - : ( 1 ) 保证每一个应用的定时约束同实时系统的高层需求不矛盾,并保证各个独 立组件的定时约束彼此一致。 ( 2 ) 如果各个组件所要求的资源都具备的话,要保证所有组件单独执行都能满 足他们的定时约束。 ( 3 ) 当把所有的应用放在一起竞争系统所有可用资源,并按照现时操作系统和 网络所用的算法一起调度时,要保证这些应用总能满足定时约束。 总之,在实时系统中,时间是一种重要的资源,对外部事件的响应和任务执 行都必须在限定的时间内完成。在分布式系统中,还必须在限定时间内完成消息 的发送和接收。实时系统输出结果的正确性不仅取决于计算所形成的逻辑结果, 还要取决于结果产生的时间。 2 1 2 实时系统的特征及要求 实时系统不但具有一般系统的特性,而且还具有自身特征: ( 1 ) 嵌入式:实时系统经常是嵌入式系统,一般嵌入式系统都必须满足一定的实 时要求。 ( 2 ) 与外部环境交互:实时系统必须能够接收外部环境的信号输入,然后在特定 的时间范围内完成事件的处理,并给出正确的处理结果到外部环境。 ( 3 ) 时间约束:实时系统必须在给定的时间范围内对输入事件做出响应,进行处 理,不满足时间约束的处理被认为是错误的,可能会导致灾难性的后果。例 如在飞机调度系统中,超时响应可能会导致两架飞机在半空中相撞,造成灾 难性的后果。 ( 4 ) 实时控制:实时系统有时不需要人为的于预,而要求系统能自动根据输入数 据做出控制决定。例如在汽车自动驾驶系统中,在设定为“保持车速”的状 态下,系统能够自动检测车速调整油阀门的大小来保持车速。 ( 5 ) 响应式系统:实时系统往往是事件驱动的系统,在外部事件激励下,系统能 根据自身的状态做出响应。 同时,实时系统还必须满足以下的要求: ( 1 ) 实时性:实时性是指系统的功能正确性不仅依赖于产生正确的逻辑结果,而 且依赖于结果产生的时间,亦即系统必须在预定的时限内对某些输入做出反 应。在实时系统中,每个任务都有一个截止时间,任务必须在这个截止期之 内完成,以此来保证系统所产生的结果在时间上的正确性。 ( 2 ) 同时性:一般来说,一个实时系统常常有多个输入源,这就要求系统具有并 行处理的能力,以便能同时处理来自于不同源点的输入。 ( 3 ) 可预测性:这是指实时系统的行为必须在一定的限度内,而这个限度是可以 从系统的定义而获得的。这意味着系统对来自于外部输入的反映必须全部是 可预测的,尽管在最坏条件下,系统也要严格遵守时间约束。因此,在出现 过载的时候,系统必须要能以一种可预测的方式来降低其性能。 ( 4 ) 可靠性:可靠性是指系统的正确处理能力,即系统所产生的结果不仅在值上 是正确的,而且在时间上也是正确的。 第二章相关技术 ( 5 ) 健壮性:健壮性是指系统的容错能力, 不符,系统仍然可以处于可预测状态, 2 1 3 实时系统的开发过程 即系统出现了错误或外部环境与定义 仍可以安全地带错运行或降级。 一般系统的开发,可以分为以下几个阶段:分析和定义、设计、编码、测试 和交付等。设计实时系统有两个相对的目标,一是保证严格的时间限制:二是易 于验证、有效地利用资源并适应变化的环境。为了达到这两个目标,应当使用清 晰的结构化的设计方法,并采用重用和增量式设计,才能符合软件发展的本质m ,。 r 一一一一。一一一一一一 整体测试输入 问题定义 与计算模型结合 执行环境特性li 执行分析 静态分析 一 增强功能 图2 1 实时系统设计的瀑布模型m f i g u r e2 1w a t e r f a 儿m o d e lo fr e a l - t i m es y s t e m sd e s i g n “瀑布模型”软件开发方法是最简单,而且应用最多的开发方法,它所定义的软 件开发过程如下: ( 1 ) 需求分析和规格说明:决定系统要干什么。 ( 2 ) 结构设计:分解系统成任务或模块并决定系统的行为。 ( 3 ) 详细设计:决定系统各个部分细节。 广东_ _ f 二业大学工学硕士学位论文 ( 4 ) 编码:给各个部分编码。 ( 5 ) 单元测试:钡9 试系统各个模块。 ( 6 ) 联合测试:组合各个测试的模块进行集中测试。 ( 7 ) 系统测试:测试整个软件和硬件系统。 ( 8 ) 验收测试:由用户方接收系统时测试。 因此,可以对“瀑布模型”进行适当的改进,使其满足实时系统的设计要求, 建立适合实时系统软件开发的设计框架,就能够较好地解决了上述问题“2 ,实 时系统的瀑布模型设计框架如图2 1 所示。 瀑布模型的设计框架,能够尽量使用早期的静态实时分析代替后期的动态分 析,极大地减少了由于调度分析、时间预测和时间测量错误导致整个设计结构改 变的可能性。 2 1 4 实时系统的建模方法 在实时系统的开发过程中,每个阶段的出错都将导致系统开发的失败,特别 是分析和设计尤为重要。如果分析和设计阶段的出错,会导致更大的开发代价, 有时甚至导致整个系统的失败。因此,设计者应该把重点放在系统的早期开发阶 段,建立适当的系统模型,确定分析和设计的结果,提高系统的可靠性。 实时系统的建模方法可以分为两类:形式化方法和非形式化方法。不同的实 时系统的采用不同的建模方法,例如p e t r i 网、时间自动机、进程代数和面向对 象方法等。 1 p e t ri 网 定义1 一个标准的p e t r i 网是一个5 元组( 只t 五以蚴,其中 户 p ,伽,a ) 是一个库所的有限集合,表示系统的状态; 产 f 。,如,) 是一个变迁的有限集合,表示系统的事件尸u 弹中,且尸n 仁 中! 厶( r 力一 腥一个连接库所到变迁有向箭头的有限集合,表示系统的输入; 凸( 晟7 ) 一 腥一个连接变迁到库所的有向箭头的有限集合,表示系统的输出; :户 腮一个初始标记,用来标记库所中的令牌。 以往p e t r i 网建模实时系统是对标准p e t r i 网进行时间上的扩展,以适合实时 l o 第二章相关技术 系统建模的需要。p e t r i 网的扩展可以有多种方法,这里我们定义了一种定时约束 p e t r i 网( t i m i n gc o n s t r a i n tp e t r in e t ) 。 定义2 1 定时约束p e t r i 网( t c p n ) 是一个7 元组( p ,丁,d , ,c ,d ) 。其中 ( p ,l ,d ,肘o ) 是一个标准p e t r j 网; c 是一个整数对( z e 胁p 0 ) ,丁c p 0 ) ) 集,丁c m p 0 ) 心。p ) ,舶可以是一个 库所( p l a c e ) 或一个变迁( t r a n s i t i o n ) ; d 是一个点燃时段( f i r i n gd u r a t i o n ) 集 f 豫e 加巾0 ) ) 。 一个具有时间对( 阳。i 。( 巧) ,z 。,( 0 ) ) 的变迁0 ,如果它对应的每个输入的库所至 少都有一个令牌,那么它就是使能的。一个变迁是使能的,它就能在时间段( f + 7 c m ( ) ,f + 丁c 。( 0 ) ) 被点燃,但不能保证点燃顺利的完成,因为一个变迁的点 燃需要花费丌刚。,( j ) 的时问。 2 时间自动机 当实时系统是面向控制时,能用时问自动机t a ( t i m e da u t o m a t a ) 建模。时间 自动机t a 是对有限状态自动机的扩展。 定义3 1 时间自动机t a 是一个8 元组a = ( 肛秽,e 毋丑ez 励,其中 腚一个有限模式集合,矿e 腥初始模式; 缇一个时钟变量集合; 腚一个离散变量集合; j :肛 口( 功是一个标志模式状态为t r u e 的不变式; 廷觚幌一个迁移集合; ,:手 口( 功定义了迁移的触发条件; 月:伊 2 “”是一个分配函数,用于映射迁移到任务集。 实时系统经常用通信网络的时间自动机来建模。时间自动机共享包括时钟和 离散的全局变量,时间自动机建模的实时系统的状态空间非常大,并且通过一个 较大的时间常数和系统并发度以指数级增长。 3 进程代数 1 9 8 8 年,p a c z e l 等人首次使用共代数方法给出了c c s ( c a l c u l u so f c o m m u n i c a t i n gs y s t e m s ) 中进程代数( p r o c e s sa l g e b r a ) 的语义,进程代数是一种基于 词汇的系统设计和分析的形式化规范语言。通过对c c s 的扩展来实现实时系统的 建模,产生了实时进程代数。一种实时动态优先级的c c s 定义如下m 一: 广东工业大学工学硕士学位论文 p := d xn :p ip + pp pip bj 口【, i p li 肛工p ,其中 z 是可计算领域v 的一个变量; 是一个动作; ,为整数; ,a a 是一个重新标记( r e l a b e l i n g ) : l 酉、( r ) 是一个约束集合,a 是所有动作的集合,r 是内部动作; 在二进制操作,+ 是不确定选择操作符: 是失效( d i s a b l i n g ) 操作符; l 是并行操作符; 、是减操作符。 一般可以通过动作迁移和时钟迁移来定义语义。因此,在实时c c s 中,n : _ 口 是指动作日有一个与它相关的女个时间单元的延迟,并导致进程p 。在动态优先级 c c s 中,: p 是指动作有一个优先级女与它相关,并且优先级能被动态的改变。 一个进程p 的迁移系统定义为一个4 元组( p ,a u l ,一炉) 。其中 ,是状态集; a u ( 1 ) 是字母表; 一是迁移; p 表示开始状态。 4 面向对象模型 实时系统经常用面向对象方法建模。在实时系统中,每个过程的线程和资源 都能够用一个类来建模,把数据和时间封装在一个类里面,能构造一个即容易升 级又安全的系统。通过对标准的面向对象建模语言u m l 的扩展,实现对实时系统建 模的支持。我们将在2 2 小节对u m l 进一步说明。 2 1 5 实时系统的应用 目前实时系统已经渗透到了社会生活的各个领域,在工业、商业和军事等领 域都有非常广泛的用途,如在工业控制、敏捷制造、核反应堆、数据通信、信息 家电、航空航天、生物医学电子、船舶工程、计算机外设、电信设备、交通运输、 国防武器控制和电讯业上都发挥了重要的作用。嵌入式计算机系统也是实时系统 的一种应用,而信号分析仪、智能终端、飞机导航系统等都是嵌入式系统。实时 嵌入式系统己经成为i t 产业争夺的重点领域。 第二章相关技术 2 2u m l 相关概述 2 2 1u m l 简介 u m l 作为面向对象的标准建模语言,它统一了b o o c h 、r u m b a u g h 和j a c o b s o n 的表示方法。u m l 的定义包括u m l 语义和u m l 表示法两个部分: ( 1 ) u m l 语义:描述基于u m l 的精确元模型定义,支持对元模型的扩展定义。 ( 2 ) u m l 表示法:定义u m l 符号的表示法,在语义上它是u m l 元模型的实例。 u m l 有用例图、类图、状态图、顺序图、合作图、构件图、配置图、组件图和 活动图9 类图,能够很好的支持系统建模的各个阶段。一个u m l 框架包括“5 1 : ( 1 ) 参考元模型中元素的选择。 ( 2 ) 扩展机制。 ( 3 ) 框架语义的描述。 ( 4 ) 相应的图形符号。 ( 5 ) 模型迁移、验证和表示的规则。 u m l 由上述的9 类图和元模型组成,元模型定义u m l 对象模型的语义,图形表达 对象的结构和行为。u m l 元模型的概念框架是一个基于四层的体系结构“”,如图 2 2 所示。其

温馨提示

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

评论

0/150

提交评论