新架构下服务建模,关键在这6步!

news/2024/11/20 13:20:48/文章来源:https://www.cnblogs.com/hirain123/p/18289715

       随着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转6116或发送邮件至market_dept@hirain.com(联系时请说明来自博客园)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/740532.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Bond——大数据时代的数据交换和存储格式

设想我们在一家很大的互联网公司做IT方面的规划、开发和维护,有以下这样的应用场景:公司里有若干个不同的开发团队,开发语言有Java、.net、Python、C++....十来种,还有很多外包团队对项目进行开发,大中小系统已经多的数不过来;并且各个团队、系统间都需要进行海量数据的交…

订阅arXiv每日最新论文

邮箱订阅论文 arXiv 参考如何利用邮箱订阅 arxiv,接收每日最新的 arxiv 文章 订阅 订阅它的论文,需要用自己的邮箱像 arXiv 发送邮件。To: cs@arxiv.orgSubject: subscribe Your Nameadd Artificial Intelligencedel Systems and Control我们需要从arxiv.org上查找自己对应的方…

ali140滑块

ali140滑块记得加如我们的学习群: 961566389获取更多资讯。 ali 140滑块采用补环境的方式进行逆向,需要的文件主要为这两个,其中collina.js是最主要的环境校验和参数加密的逻辑,这两个文件放本地进行补环境。然后挂上代理,先保证能够正常运行代码,补了些许后能够正常运行…

【日记】我就是世界上最幸福的人!(1124 字)

正文今天想写的内容有点多,就不写在纸上了。首先,最高兴的,还是我们的《艾尔登法环》有了进展。我和兄长终于通过了 “火山官邸:地底拷问所”。我真是不知道,我和他在这个地方被那两个掳人少女人拷问了多少次了。不仅如此,拉塔恩也打过了,去了亚坛高原,反正进展很大。周…

机器学习-决策树算法详解

机器学习 决策树算法 实例决策树算法决策树算法是一种流行且功能强大的工具,用于机器学习、数据挖掘和统计学等各个领域。它们通过对不同变量之间的关系进行建模,提供了一种基于数据的决策的清晰直观的方法。本文将介绍什么是决策树、决策树的工作原理、决策树的优缺点以及…

【已解决】挖矿病毒 logrotate 185.196.8.123

185.196.8.123 logrotate如果你最近也中了这个病毒,看这篇文章就对了。 网上找了几篇类似文章,都是教你杀进程、删文件,但新版的病毒已经进化了,进程杀死复活,文件删掉又有了... 经过本人几天的尝试,最终找到了干掉他的方法。先确定下你的症状是不是跟我一样? 问题现象:…

分片集群平衡器Balancer

分片集群平衡器 MongoDB 平衡器是一个后台进程,用于监控每个分片集合中每个分片的数据量。当给定分片上的分片集合的数据量达到特定的 迁移阈值时,平衡器会尝试在分片之间自动迁移数据,并在尊重区域的情况下使每个分片的数据量达到均衡。默认情况下,平衡器进程始终处于启用…

Pytnon变量print打印计数显示前面补零 0001、0002

前言全局说明Pytnon变量计数显示前面补零 0001、0002一、说明 环境: Windows 11 家庭版 23H2 22631.3737 Python 3.8.10 (tags/v3.8.10:3d8993a, May 3 2021, 11:48:03) [MSC v.1928 64 bit (AMD64)] on win32二、变量print打印计数显示前面补零 0001、0002 >>> fram…

CTF流量分析刷题(1)

简单的一道流量分析题目可以看到是传了一个webshell先URL解码,再进行base64解码可以看到是读取了flag.txt的内容,很容易即可拿到flag。

深耕分析型数据库领域,火山引擎ByteHouse入围《2024爱分析数据库厂商全景报告》

更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群。近日,爱分析发布《2024爱分析数据库厂商全景报告》,报告中爱分析将数据市场从上至下划分为数据库服务、数据库运维管理产品、数据库产品三层,其中数据库产品又包括事务型关系数据库、…

AI Agent技术的最新进展与改变世界的典型项目巡礼

AI Agent技术的最新进展与改变世界的典型项目巡礼AI Agent技术的最新进展与改变世界的典型项目巡礼 1. AI Agent 技术发展以及典型项目 1.0 前 AI Agent 时代在学术探索的浩瀚星空中,机器人技术领域的璀璨明珠莫过于Agent技术的深入研究,这一领域历来是创新与突破的温床。回溯…

Unity读取xml文件

在XML中配置字典名称,字典的key和value,目前key和value都是用的string类型,通过ParseXml类的ParseData函数,传递字典名称和key来获取value xml文件内容解析数据类 using UnityEngine; using System.Xml; using System;/// <summary> /// 读取xml信息类 /// </summ…