本技术方案涵盖了一种服务架构驱动的模块程序自动化生成技术,属于计算机技术领域。该技术通过解析预设的与模块程序关联的第一声明文件,提取其中声明的关键信息,并基于这些信息自动化构建模块程序。
背景技术
面向服务架构(service-oriented architecture,SOA)是一种软件架构,SOA架构对于自动驾驶系统来说也是一个非常合适的架构,最直接的因素有两个:
1、自动驾驶系统中,多种传感器的感知和融合、复杂多变场景的规划决策及高实时要求的控制执行等功能,涉及大量类型差异很大的计算,需要能被分解成不同的服务子系统,独立进化;
2、采用“发布-订阅”的通信模式可以有效的降低各服务之间通信的偶合性。
上述两个因素正好对应于SOA架构风格中的“客户-服务器”风格和“基于事件/消息的发布-订阅”风格两个架构约束。这两个架构风格解决的核心问题就是如何将复杂系统分解为多个软件组件并以低耦合的方式集成。从这个角度看,整个自动驾驶系统基于SOA架构风格的数据分发服务(Data Distribution Service,DDS)中间件进行集成,不同服务分别拆解为对应的模块程序,即一个服务对应一个模块程序,只管接收消息、处理消息及发送结果。但是模块程序开发需要大量重复性的手写代码,导致开发周期长。
实现思路