一种基于MARTE建模语言和Theme方法的嵌入式系统建模方法与流程

文档序号:12041123阅读:430来源:国知局
一种基于MARTE建模语言和Theme方法的嵌入式系统建模方法与流程
本发明涉及计算机软件建模领域,主要涉及一种基于MARTE建模语言和Theme方法的嵌入式。

背景技术:
随着信息化、智能化的发展,嵌入式实时系统广泛应用于工业控制、航空航天和通信等领域,在我们的日常生活中也随处可见。所谓“实时”,要求不仅逻辑结果要正确,更重要的是在截止期限之前就产生结果,否则,根据系统对“实时”要求的程度,轻则会导致系统失效,重则引起灾难性的后果。模型驱动工程是近年来在模型驱动架构的背景下活跃起来的一个概念。在2003年OMG组织颁布了Model-DrivenArchitect规范以后逐渐成为一个主流的面向对象的开发模式。模型驱动(ModelDriven)的方法通过PIM(platformindependentmodel)和PSM(platformspecificmodel)的分离,通过模型转换的方法解决了实现技术、平台的改变对软件系统的影响问题,降低了系统开发的难度,提高了软件的可重用性和可维护性。不同的平台,对于同一个系统的实现也不相同。这给系统的重用造成了很大的困难。模型驱动的方法使用PIM,抽象的描述出于平台无关的解决方法,然后根据不同实现平台,提供自动的模型转换的技术,将PIM装换成相应的PSM,很好的解决了平台异构的问题,同时提高了代码质量。在对嵌入式系统的设计上,传统的模型驱动的方法着眼于高抽象层次,使用易于检验的形式化模型来描述系统行为,然后结合具体的实现硬件和软件,设计具体的模型和代码。OMG组织的另外一个标准UML,是统一的可视化建模标准,强调建模的灵活性和实用性。UML有自己的核心元模型,基于核心元模型构造建模语言,支持对系统静态。关注点分离是软件工程中的重要概念。过去的四十多年中,在软件系统的发展和演化过程中,这一领域出现了很多关键的研究,转变了我们对关注点分离及其模块化方法的认识,推动了软件工程的发展。研究者们从多个角度提出了针对不同系统的解决方法。面向对象技术、模型驱动的开发方法都从不同角度实现关注点分离的理念和模块化的思想。考虑到实时嵌入式系统的特殊性,人们又从新的角度研究合适的建模与开发方法,其中以面向方面(AspectOriented,AO)技术在降低实时嵌入式系统开发复杂性方面成效最为显著。它从系统层入手,将分散在整个系统中的横切关注点从核心关注点中分离出来,将其单独模块化并实现,然后利用一个相当于编译器的方面编织器(aspectweaver)合并核心模块和横切模块,组合成整个系统。然而,随着软硬件的不断发展交替,分布式系统和实时嵌入式系统开发的复杂性不断增加,且这类系统要求较强的时间约束,对可靠性要求甚高,很多特征元素或属性,分散在整个系统中,不利于模块化。单纯依靠传统的模型驱动的方法已经很难解决这个问题。考虑到之前的UML(建模语言)标准适合实时嵌入式系统建模的元素较少,OMG组织于2007 年底发布了一个新的UMLProfile:MARTE(ModelingandAnalysisofReal-TimeEmbeddedSystem),MARTE为取代之前的针对调度、性能和时间的UMLProfile:SPT(Schedulability,PerformanceandTime)而提出,是针对嵌入式实时系统进行建模的正式规范。它增强了UML对实时嵌入式系统建模的能力,不仅支持嵌入式系统的软硬件建模,同时与UML2.0标准和MDA兼容。

技术实现要素:
本发明目的是,鉴于上述问题,本发明旨在提供一种新的对嵌入式系统的建模方法,使用OMG组织新发布的希望成为实时嵌入式系统建模标准语言的MARTE建模语言(嵌入式实时系统,结合面向方面的思想,使用Theme方法(面向方面的分析和建模方法),对嵌入式系统进行系统的建模。这样的建模方法,很好的处理了嵌入式系统中关键的时间元素,将时间相关行为,使用MARTE建模语言和Theme方法结合的处理方式,详细描述系统中的时间约束,完成嵌入式系统的建模。本发明是通过以下的技术方案实现的:基于MARTE建模语言即嵌入式实时系统建模语言和面向方面的分析和建模Theme方法的嵌入式系统建模方法,步骤10:根据嵌入式系统的需求说明书分析可能的实体和可能采用的面向方面的分析和建模Theme;步骤11:确定最终的类和实体;步骤12:确定最终的Theme,并分别哪些是基础的面向方面的BaseTheme,哪些是面向方面的横切的AspectTheme;分析横切Theme与相关实体的横切关系,确定横切点和关联方法;分析时间相关行为关联的Theme和实体,对时间相关行为进行建模;步骤13:确定时间相关行为,使用MARTE建模语言对需要的时钟进行建模;步骤14:对基础的面向方面的BaseTheme进行建模;步骤15:使用设计好的时钟,将时间相关行为作为AspectTheme进行建模;步骤16:根据合并、覆盖等Theme整个规则,分析Theme之间关系,对Theme进行整合编织,形成完整的嵌入式系统的模型。其中步骤13所构造的必须的时钟(如图3所示),根据嵌入式系统的需求说明中的时间约束要求,使用MARTE建模语言中的时间包中的建模元素构造;对时钟进行建模的过程包括:步骤20:使用MagicDraw建模工具中,构造对象图,图3;步骤21:添加一个IdealClock的对象idealClk,确定理想时钟;步骤22:添加ChronometricClock类的两个不同粒度的对象clk1和clk2;步骤23:为相关时钟添加ClockConstraint元素,确定时钟的单位、频率等元素;MagicDraw是MARTE建模语言常用的商业建模工具,IdealClock为MARTE建模语言中的时间建模元素,其对象idealClk用来模拟现实世界中的连续时间;建模元素ChronometricClock(实例化为clk1和clk2)为物理时钟,通过在idealClk进行不同周期的取样获得;建模元素ClockConstraint定义连续始终和物理始终的功能和非功能约束,包括单位,取样周期和粒度等。步骤13中确定时间相关行为的步骤:将时间相关行为,作为横切关注点进行建模,先要确定横切点及其要关联的类和实体,具体步骤包括:步骤30:分析系统中所有具有时间约束的实体;步骤31:区分这些实体中时间相关的行为,和时间无关的行为;步骤31:总结时间相关行为的共同点;步骤14中对BaseTheme进行建模;步骤40:使用包图、类图等静态结构建模系统中设计到的实体、类及其之间的结构关系;步骤41:使用顺序图对Basetheme中的实体之间交互行为进行建模;使用设计好的时钟,将时间相关行为作为AspectTheme进行建模,最终建好的模型如图6所示;根据手机电话模型系统为例,具体执行过程包括:步骤50:将嵌入式系统需求说明书中的时间约束中的时间作为横切点,抽象成TimedClass;步骤51:确定时间横切点关联的类和实体,即分析需求说明书中涉及到的时间约束相关的实体;步骤52:将这些关联的抽象建模成为统一的父类TimedClass的子类;步骤53:将这些实体的时间约束作为TimedClass与Timer之间的交互行为:包括触发时钟计时和触发时钟结束行为,进行建模;步骤54:确定触发机制,和绑定原则,还原实体原始的时间约束;根据合并、覆盖等Theme整个规则,分析Theme之间关系,对Theme进行整合编织,形成完整的嵌入式系统的模型。本发明的有益效果是,本发明旨在提供一种新的对嵌入式系统的建模方法,使用OMG组织新发布实时嵌入式系统建模标准语言的MARTE建模语言,结合面向方面的思想,使用Theme方法(面向方面的分析与程序设计方法),对嵌入式系统进行系统的建模。这样的建模方法,很好的处理了嵌入式系统中关键的时间元素,将时间相关行为,使用MARTE建模语言和Theme方法结合的处理方式,详细描述系统中的时间约束,完成嵌入式系统的建模。适应分布式系统和实时嵌入式系统开发的复杂性不断增加,解决单纯依靠传统的模型驱动的方法。附图内容图1为基于MARTE的实时嵌入式系统建模过程;图2为需求分析过程;图3为合适粒度的时钟建模;图4为抽象后的时间相关元素;图5为BaseTheme模型;图6为AspectTheme模型。具体实施方式下面通过附图对本发明的技术方案做进一步的详细描述。本发明主要的方法是利用基于MARTE的实时嵌入式系统的建模方法,其主要的过程有:1):根据与用户沟通生成的嵌入式系统需求说明书;2):分析需求说明中的功能需求,识别可能的实体和Theme;3):确定最终的实体和类;4):鉴别一般Theme和横切Theme;5):分析需求说明中的时间相关行为,确定所需的时间建模元素;使用MARTE建模语言,设计基础时钟;6):对一般的传统Theme进行建模;7):分析横切Theme与相关实体的横切关系,确定横切点和关联方法;8):分析时间相关行为关联的Theme和实体,对时间相关行为进行建模;将时间相关行为作为横切关注点进行建模;将时间约束作为相关实体和时钟之间的交互行为进行建模;9):对横切Theme进行建模;10):根据Theme之间关系和合并、覆盖的原则,整合Theme;7)中,确定横切关注点中的横切点和关联方法,包括:分析时间约束;将时间约束作为实体与时钟之间的触发机制进行建模;确定什么行为触发时钟开始计时,什么行为触发始终结束计时,以及其中的其他相关时间约束对应的触发行为;7)中,所述的将时间相关行为作为横切关注点进行建模;将时间相关行为作为横切关注点进行建模,包括:分析需求中时间相关行为关联的时间约束和实体;分析时间约束,确定合适的时钟参考;使用MARTE建模语言确定理想的连续时钟;根据时间约束的粒度,确定系统需要的合适逻辑时钟和物理时钟;9)中,对横切Theme进行建模过程包括:绘制时间横切关注点的顺序图;将所有时间相关行为抽象为TimedClass类,时钟则抽象为Timer类;每个时间约束建模为TimedClass触发Timer开始和结束的动作集;使用注释或选择、判断结构描述其他时间约束;结束本次时间相关行为的面向方面建模;对时钟进行建模的过程,使用MARTE对时钟进行建模,包括:建立一个离散的时钟类,采用<<ClockType>>构造型表明该类是一个时钟类,并在约束中描述相应的标记值来定义其他特征;导入MARTE库中的idealClk实例,代表实际物理时间的连续时钟;定义离散时钟类的两个实例(clk1,clk2);步骤如下:步骤20:使用MagicDraw建模工具中,构造对象图;步骤21:添加一个IdealClock的对象idealClk,确定理想时钟;步骤22:添加ChronometricClock类的两个不同粒度的对象岔clk1和clk2;步骤23:为相关时钟添加ClockConstraint元素,确定时钟的单位、频率等元素;附图4为抽象后的时间元素模型。时间被抽象为具体的时间实体,时间相关元素被抽象为时间相关实体的子类,时间约束被抽象为时间相关实体与时间之间的信息交互。附图5为BaseTheme模型,主要步骤有;步骤40:使用包图、类图等静态结构建模系统中设计到的实体、类及其之间的结构关系;步骤41:使用顺序图对Basetheme中的实体之间交互行为进行建模;附图6为AspectTheme模型,根据手机电话模型系统为例,具体执行过程包括:步骤50:将嵌入式系统需求说明书中的时间约束中的时间作为横切点,抽象成TimedClass;步骤51:确定时间横切点关联的类和实体,即分析需求说明书中涉及到的时间约束相关的实体;步骤52:将这些关联的抽象建模成为统一的父类TimedClass的子类;步骤53:将这些实体的时间约束作为TimedClass与Timer之间的交互行为:包括触发时钟计时和触发时钟结束行为,进行建模;步骤54:确定触发机制,和绑定原则,还原实体原始的时间约束;根据合并、覆盖等Theme整个规则,分析Theme之间关系,对Theme进行整合编织,形成完整的嵌入式系统的模型。最后应当说明的是:以上步骤仅用于说明本发明的技术方案而非对其限制。尽管上述步骤对本发明进行了详细的说明,相关领域的技术人员应当理解,依然可以对本发明的具体技术进行修改或者对部分技术进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1