随着AUTOSAR、SOA、以太网通讯等新技术、新理念的成熟化,面向软件、硬件、网络、电气等多领域的电子电气系统经历了多代架构方法论的迭代。如何跟随新技术和新理念的浪潮,构建起新型的汽车电子电气架构平台,以实现新老技术的快速更替和融合,优化协同系统架构的搭建将成为主机厂和供应商共同关注的重点。
经纬恒润基于SystemWeaver平台,按照SOA建模理念为客户提供了新一代基于SOA的企业级电子电气系统协同设计解决方案,可以有效支持服务和信号的混合架构建模。新型架构下的服务建模分为服务设计、服务系统部署、拓扑设计、服务接口部署、服务实例部署和服务设计检查和集成六大部分。
01 服务设计
服务Service Interface将在服务设计库中进行全局维护,系统中的软件模块将以引用的方式去调用服务接口。在设计服务接口之前 ,可在统一的数据类型库中进行CppImplementationDatatype的定义和维护,之后将被服务接口引用。
CppImplementationDatatype是适配于C++的Implementation Datatype,常用的有Type Reference、Array、vector、Struct和String类型等。在SystemWeaver中,用户将可以用便捷的方式进行数据类型的定义,其内置的校验规则将有效支持数据的正确性和完整性。
图1 数据类型维护
此后,将进一步进行服务接口的定义,用户需要根据其功能进行详细的接口设计,明确服务ID、大版本、小版本等基础信息,并对该服务的使用和内部逻辑进行详细描述。
服务接口信息主要包括Method、Event和Field三种通讯形式,需要定义其引用的数据类型,也就是上一步中定义出的CppImplementationDatatype用来描述其参数的信息。SystemWeaver将提供良好的用户界面完成对于服务接口的基本信息填写和接口定义,同时将支持设计过程中数据正确性和完整性的校验:
· Method、Event和Field的引用数据完整性
· 服务信息完整性
· Method参数的名称正确性
· Field的类型完整性
图2 服务接口定义
02 服务系统部署
用户完成服务接口的定义之后,下一步将描述其在软件模块Adaptive Software Component中的交互逻辑,用户需要设计Software Component软件模块之间的服务调动关系,为软件模块定义Provided Port或者Consumed Port并进行服务库的服务引用,以此来表示提供或者消费某个服务。完成设计之后,SystemWeaver将提供各种系统框图进行查看和导出。
图3 软件模块交互
软件模块设计完成之后,还需要进行Executable的生成,并将软件模块和Executable进行关联;同时需要完成Process Design的定义,并将Executable进行分配。
03 拓扑设计
在ECU层级,除了和传统架构一样进行ECU的设计以及软件模块的分配之外,还需要对以太网的拓扑进行设计。其主要内容包括:
· ECU对应网络的设计,包括对其Connector的定义
· VLAN的定义,包括其基本参数设置和Network Endpoint的定义
· 完成ECU网络节点和VLAN 的拓扑结构设计
· Switch的设置和参数定义
· ECU网络节点的controller定义,以及其和connector的关联关系构建
· Switch和ECU网络节点的Coupling Port关联
图4 拓扑设计
04 服务接口部署
服务接口设计完成了其设计层面上的描述,后续将进行其在通讯层面上的部署,需要选择通讯协议对服务接口完成部署,如 SOME/IP、DDS和IPC等,通常还需要对Eventgroup即订阅组完成设计。
SystemWeaver将提供服务接口部署界面用于完成接口部署的参数例如接口ID和端口号的填写,以及Eventgroup的定义。与此同时,其包含了很多设计准则校验,将进一步帮助用户完成低错误率的接口部署设计。
图5 服务接口部署
05 服务实例部署
完成接口部署和通讯设计之后,需要完成服务实例部署,即定义服务实例的通讯方式。首先,需要对提供方和消费方的服务实例完成基本信息设置,如instance ID等。其次,需要对提供方和消费方通讯中提供和消费的订阅组进行定义,以实现差异化实例的订阅组信息。最后,需要对通讯的行为进行定义,将定义通讯使用的TCP/UDP 协议及端口号,和通讯所在VLAN的关联。
针对于复杂的服务实例生成,System Weaver将提供自动化部署功能。其中包含了设计中需要遵守的基本准则,根据Instance ID不能重复、提供方和接收方需要在一个VLAN下等要求进行了自动化部署的设计,帮助用户快速完成复杂的服务部署工作。
图6 服务实例部署
06 服务设计检查和集成
完成服务实例部署之后,服务的整个设计将宣告结束,但服务信息仍需要和下游系统进行集成,所以最后一步是对整个系统的所有信息进行检查校验。SystemWeaver针对数据类型、服务接口、服务部署、拓扑结构等10个维度进行了200+条校验,以保证整个系统层面服务设计的合理性和完整性。
数据校验之后,将对数据进行导出和下游集成。最常用的文件格式是ARXML格式,此外,服务矩阵表格和IDL格式也都是较为通用的格式。SyetemWeaver可以对多个版本的AUTOSAR标准进行服务文件导出,并支持导出基于单个服务和全系统两个维度的服务,同时也支持进行定制化服务矩阵和IDL或者JSON格式的文件导出。
如上所述是基于SOA的整个服务流程,但是随着底层软件设计成熟度的提升,各个整车厂将对设计流程进行调整和适配,以试用于其自身的架构方法论和工具链集成。因此,SystemWeaver也提供了灵活度较高的定制化配置功能,其不仅支持定制化的服务设计方法论,也支持服务设计过程中所有功能的定制化适配。
此外,System Weaver作为平台类的协同研发平台,其本身优异的协同能力将有效支持包含服务设计在内的整个新型架构的设计,它将支持新技术,例如服务设计、信息安全和软件架构等;并支持整个V流程“需求—功能—系统—ECU—测试”分层架构设计的融合,实现全系统的数据追溯和测试追溯。
了解更多:请致电 010-64840808转6117或发送邮件至market_dept@hirain.com(联系时请说明来自控制工程网)