论文部分内容阅读
为了解决星载系统软件每次开发都需要重新设计硬件系统和软件系统,开发周期长,代码利用率低,安全性难以保障的问题,提出了一种星载系统软件可重用的结构设计方法,软件结构采用模块化策略,为每个任务模块提供标准化的数据通信接口,各任务模块通过软件总线进行通信,因此任一星载系统模块的增加、修改、删除都不会对其他模块产生影响。基于模型和消息中间件实现的软件总线位于应用程序和底层平台之间,一方面屏蔽了底层平台的差异,为上层服务提供了基础服务的API接口,实现了平台无关性,另一方面提供了将不同的语言的消息格式转换为统一的消息的格式,实现了语言无关性。一方面通过使用建模语言AADL(架构分析和设计语言)对系统进行建模,根据系统的功能将系统拆分为多个协作的子系统,定义子系统通信的标准化数据通信接口。另一方面通过消息中间件屏蔽了底层运行平台差异,子系统通过消息而进行通信,解决系统平台导致的异构性。各子系统通过标准化的数据通信接口接入消息中间件,这要求将各子系统异构的消息源转换成统一的消息格式。通过使用ASN.1(抽象语法标记)定义统一的消息格式,然后使用工具将不同语言的消息格式转为ASN.1定义的消息格式,确保其可以接入消息中间件进行通信。上面的转换工具可以基于AADL系统模型定义的各子系统的接口信息自动化生成,这样使得只需要对模型进行修改就可以自动化生成软件总线代码,使得系统具有良好的扩展性。