[发明专利]AADL模型的自动代码生成方法无效
| 申请号: | 201010028079.0 | 申请日: | 2010-01-13 |
| 公开(公告)号: | CN101739258A | 公开(公告)日: | 2010-06-16 |
| 发明(设计)人: | 桂盛霖;罗蕾;于淼;唐沁洋;龚荣 | 申请(专利权)人: | 电子科技大学 |
| 主分类号: | G06F9/44 | 分类号: | G06F9/44 |
| 代理公司: | 北京市路盛律师事务所 11326 | 代理人: | 温利平 |
| 地址: | 611731 四川省*** | 国省代码: | 四川;51 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | aadl 模型 自动 代码 生成 方法 | ||
技术领域
本发明涉及一种自动代码生成方法,具体来讲,涉及一种将AADL模型所描述的性能关键的实时系统软硬件体系结构映射成平台相关的C代码的方法,以便进行分析和设计。
背景技术
AADL是一种支持对系统体系结构进行早期分析的建模语言,既是一种图形化也是一种字符化的语言。它能够用来设计和分析性能关键的实时系统的软硬件体系结构,描述组件之间的功能接口以及组件的时间需求。它也能够描述组件之间的交互关系,如数据输入输出、软件组件和硬件组件之间的绑定关系等。AADL可以和支持自动生成源代码的分析工具结合使用来一体化系统组件和创建系统执行。因此设计者可能从各个方面对模型进行分析和评估。下面分三个方面简要介绍AADL模型元素:
1、组件
组件是AADL的主要建模单位。AADL中包含软件组件、执行平台组件和组合组件三大类型。
1.1、软件组件包含数据、子程序、线程、进程等部分。
数据组件表示源代码中的静态数据。这个数据可以被进程和线程共享。线程和进程通过要求访问外部数据组件的标志来实现共享数据。并发的数据访问由属性指定的相应的并发控制协议来管理。
子程序组件为连续执行的源代码建模,可以在线程和子程序中被调用。子程序还可以请求访问数据组件。
线程组件为并发执行单元建模。
进程组件通过包含源代码程序的虚拟地址空间来给空间建模。
1.2、执行平台组件表示可以调度线程,可以在运行时加强指定地址保护,可以保存源代码和数据,可以与外部环境连接。它一般包含处理器、外设、存储器、总线等组件。
处理器组件是负责调度和执行线程的硬件和软件的一个抽象。换句话说,一个处理器可以包含操作系统提供的功能。作为选择,操作系统可以像应用组件一样被建模。处理器能包含存储器,也可以请求访问总线。处理器支持不同的调度协议。线程需要绑定到处理器进行调度和执行。
外设组件为有外部环境接口的物理设备建模。
存储器组件为随机访问物理存储器建模,如RAM或ROM。源代码的二进制映射和存储器相绑定。
总线组件为处理器,存储器和外设之间的控制和数据交换的通信通道建模。
1.3、组合组件为软件组件和执行平台组件的结构化组合建模。
模式。AADL系统模型结构的动态变化通过定义模式来实现,模式具有触发事件以及可以在每个模式下分别定义系统结构。模式的切换能改变活动组件和连接的集合,如果线程不属于当前模式,则不能被处理器组件的调度器选择执行,如果关联不属于当前模型,则也不能被使用。
接口和交互。AADL系统模型中定义了表示状态数据跃迁的连接点的数据端口,控制线程调度和模式转换的连接点的事件端口,同步调度/返回的连接点,共享数据提供和请求访问,以及在运行时在单个组件之间控制流和数据流模式来满足体系模型的交互操作。
随着嵌入式系统在安全关键领域的广泛应用,必须采用现代软件工程的技术进一步提高AADL模型的可信性,以保证人们的生命安全。AADL模型的自动代码生成技术,在提高代码质量,缓解软件危机是一个不可缺少的手段。而AADL模型是为满足性能关键实时系统的需求而提出的,需求包括嵌入式实时系统如航空电子工学,汽车电子,或机器人技术系统。这个语言描述性能关键的重要方面,如时间要求、失效和错误行为、时空分区、防危和验证等属性。这样就允许系统设计者对组成系统的组件以及系统的可调度性、吞吐量、防危性等进行分析。从这些分析中,设计者能够评估体系架构的合理性及变化。基于AADL模型潜在的巨大的应用价值,所以研究AADL模型的自动代码生成技术,缓解软件危机很有价值。国外也只有少数的工具支持AADL的代码生成,如ocarina支持生成linux格式的C代码和Ada代码,但与嵌入式系统结合的不紧密,由于基于命令行方式,界面也不友好。
发明内容
本发明的目的在于克服现有技术的不足,提供一种方便可行的AADL模型的自动代码生成方法。
为实现上述目的,本发明AADL模型的自动代码生成方法,包括以下步骤:
步骤1:解析AADL模型的实现文件和实例文件,生成交互类对象
以AADL模型的实现文件和实例文件作为输入,从中提取每种组件的信息,存储在AADL交互类对象中;
步骤2,调用Drools规则引擎,生成C代码
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010028079.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种机床三角卡盘专用辅助装置
- 下一篇:一种加工铝轮的镜面车刀





