Aadl2tasm模型转换方法

文档序号:6349462阅读:449来源:国知局
专利名称:Aadl2tasm模型转换方法
技术领域
本发明涉及AADL2TASM模型转换方法,尤其涉及将AADL模型转换为TASM模型的方法。
背景技术
复杂嵌入式实时系统广泛应用于航空电子、航天器、汽车控制等领域,这些系统具有资源受限、实时响应、容错、专用硬件等特点,对实时性、可靠性等性质有较高的要求,由于计算精度、实时响应的要求,这类系统变得越来越复杂,如何设计与实现高质量的复杂嵌入式实时系统,并有效控制开发时间与成本,是大家共同关心的一个问题。模型驱动开发方法(Model Driven Development,简称MDD)能够在早期阶段对系统进行分析与验证,有助于保证系统的质量属性,并有效控制开发时间与成本。模型转换为模型驱动设计开发方法的核心,它是指将一种语言描述的模型转换成另外一种语言描述的模型。它被认为是基于模型驱动的复杂嵌入式实时系统设计与实现的基础。AADL是针对复杂嵌入式实时系统而提出的一种体系结构分析与设计语言。它认为是基于模型驱动的复杂嵌入式实时系统设计与实现的基础。目前已有很多基于AADL的模型转换。法国Verimag实验室提出了 AADL到 BIP (Behavior Interaction Priority)的模型转换,,BIP 是 Verimag 提出的实时系统建模语言,采用自动机的方式描述行为,并支持异构构件之间的组合;Pennsylvania大学提出AADL到时间进程代数ACSR的模型转换,。ACSR的优点是能够支持资源竞争的描述,使其能够支持更精确的可调度分析。但对线程层次的语义还不够完整,也不能支持模式变换、 分区、BehaviorAnnex的转换;Verimag实验室将AADL转换到同步语言Lustre,其它的转换还包括AADL到IF模型的转换、AADL到Petri Net的转换、AADL到Fiacre的转换、AADL到 UMLMarte的转换,等。下表是各基于AADL的模型转换的对比。AADL模型转换对象比较
权利要求
1.AADL2TASM模型转换方法,用于将AADL模型转换为TASM模型,其特征在于 使用KM3描述源语言AADL的元模型;使用KM3描述目标语言TASM的元模型;针对AADL模型中的线程构件、分发器、模式变换、调度器,分别使用线程构件的转换方法、分发器构件的转换方法、模式变换的转换方法和调度器构件的转换方法,将AADL模型转换为TASM模型。
2.根据权利要求1所述的模型转换方法,其特征在于所述AADL的元模型包括 AadlSpec =AADL模型的根节点,包括25个属性,其中包括AADL模型的名字等基本信息以及该模型中所有构件的类型(type)和实现(implementation); SystemType 描述系统的基本信息;SystemImpl 与SystemType等级相同,都是AadlSpec的分支节点,该节点是对之前声明的SystemType进行实例化,该节点声明该系统实例中包含的子构件和连接,所包含的子构件包含硬件构件和/或软件构件,硬件构件包括用户定义的设备和处理器,软件构件主要是线程,所声明的连接是端口到端口的数据通信,此外还定义处理器与线程的绑定关系, 规定线程在系统运行时对应的处理器;ProcessorType =AadlSpec下的分支节点,主要描述声明的处理器的基本信息; ProcessorImpl 与ftOcessorType等级相同,都是直属于AadlSpec的分支节点,是对 ProcessorType 的实例化;ProcessType =AadlSpec下的一个分支节点,主要描述声明的进程的基本信息; ProcessImpl 与ftx)cessType等级相同,都是直属于AadlSpec的分支节点,是对 ProcessType的实例化,定义该线程实例中包含的线程、线程组以及数据端口间的通信关系;ThreadType =AadlSpec下的一个分支节点,定义一个线程的属性,包括该线程的调度协议,如果是周期性线程,还包括计算执行时间、时间限和周期表,定义线程的输入输出端 Π ;ThreadImpl 与ThreadType等级相同,都是直属于AadlSpec的分支节点,是对 ThreadType的实例化。
3.根据权利要求1所述的模型转换方法,其特征在于所述TASM的元模型包括 tasm =TASM模型的根节点,其属性中包括该TASM模型的版本信息;Project :tasm下辖的节点,包含TASM模型名称、模型描述、模型ID号; Environment :tasm下辖的节点,是保存TASM模型的类型、资源、管道、变量的部分,其下辖的节点为types 用户自定义的类型;tsrcs 用户定义的资源;chans 用户定义的管道;vars 用户声明的变量,并且初始化;Systems :taSm下辖的节点,保存TASM模型主状态机(Main Machine)和变量的初始化 fn息;Mainmachines :tasm下辖的节点,是Main Machine的集合,下辖一定数量的MainMachine 节点Machineasm, 其中Machineasm下的各主要节点为 cvars =Main Machine有权限修改的变量; mvars =Main Machine有权限读取的变量; ivars :Main Machine 的内部变量; cons :Main Machine 的构造公式; rls :Main Machine 的规贝Ij集;Submachines :taSm下辖的节点,是子状态机(Sub Machine)的集合,下辖一定数量的 Sub Machine节点Submachines,其中Submachines下的各主要节点为 cvars :Sub Machine有权限修改的变量; mvars :Sub Machine有权限读取的变量; ivars :Sub Machine Wft^^fi ; cons :Sub Machine 的构造公式; rls :Sub Machine 的规则集;Functionmachines :tasm下辖的节点,是功能状态机(Function Machine)的集合,下辖一定数量的 Function Machine 节点 Functionmachines,其中 Functionmachines 下的各主要节点为cvars function Machine有权限修改的变量; mvars function Machine有权限读取的变量; ivars function Machine 的内部变量; cons :Function Machine 的构造公式; rls function Machine 的规贝Ij集;上述三禾中状态机 Mainmachines、Submachines 禾口 Functionmachines 均具有规贝 1J 集 rls, 规则集rls节点下辖若干规则节点rl,其中rl下的主要节点为rtime 执行该规则所消耗的时间,可以是固定值、区间值或者关键字next ;rrscs 执行该规则时所消耗或占用的各种资源;guard 规则的If条件语句;effect 满足规则If条件语句时执行的动作。
4.根据权利要求1所述的模型转换方法,其特征在于所述线程构件的转换方法将一个线程表示成一个状态机,该状态机包含以下规则hitialization规则用来处理系统加载进程,表示线程初始化的状态变迁; Acitvation规则用来处理线程和模式变换的同步关系,处于当前模式的线程为激活 Active状态,否则处于非激活hactive状态;Dispatch规则用来处理线程等待分发的情况; Waiting Execution规则用来处理线程等待调度的情况;Execution规则此规则的执行时间为最长执行时间(WCET),所述WCET为AADL模型中线程构件的一个属性,其值表示线程一个周期内最长执行时间,该规则抽象表示线程执行;Write Dtate规则线程执行完成之后,直接将输出端口的数据写入接收线程的的输入端口当中;Waiting Next Event规则用于处理当条件不满足而需要等待的情况。
5.根据权利要求1所述的模型转换方法,其特征在于所述分发器构件的转换方法包括以下规则dispatch规则在分发器处于可被分发(dispatched)状态时,分发线程,并让该自动机重新进入不可被分发(imdispatched)状态;required规则主要用于分发器在imdispatched状态时,重新等待分发条件的满足; mode_change规则用于当分发器处于dispatched状态时,判断是否已离开当前状态,如果是,则进入到非当前模式(unactivation)的状态,Wunactivation的状态到 dispatched状态变迁在模式自动机里有表示; waiting规则用于与其它状态机同步。
6.根据权利要求1所述的模型转换方法,其特征在于所述模式变换的转换方法包括以下规则hyperperiod规则表示旧模式的超周期,执行时间为旧模式下所有关键线程周期的最小公倍数;oldmode_has_mcr规则在同步点检测到有模式变换请求,并将系统状态变到模式变换过程中,使旧模式下的线程的状态设为不处于当前模式状态,新模式下的线程的状态设为处于当前模式状态;oldmode_hasnot_mcr规则在同步点检测到没有模式变换请求到来,重新开始新一次旧模式的超周期;inprogress规则表示从旧模式到新模式的模式变换过程,执行时间为模式变换超周期,即新模式下关键线程的周期与删除僵尸线程的时间之和。
7.根据权利要求1所述的模型转换方法,其特征在于所述调度器的转换方法包括以下规则schedule规则表示线程能被执行,将处理器分发给该线程; pass规则表示线程不能马上执行,需要将令牌分发下去。
全文摘要
本发明涉及一种模型转换方法,用于将AADL模型转换为TASM模型,使用KM3描述源语言AADL的元模型,使用KM3描述目标语言TASM的元模型,针对AADL模型中的线程构件、分发器、模式变换、调度器,分别使用线程构件的转换方法、分发器构件的转换方法、模式变换的转换方法和调度器构件的转换方法,将AADL模型转换为TASM模型。
文档编号G06F9/44GK102520925SQ201110369259
公开日2012年6月27日 申请日期2011年11月18日 优先权日2011年11月18日
发明者姜泮昌, 张腾, 杨志斌, 胡凯, 蒋树, 顾彬 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1