首页 > 其他分享 >新架构下服务建模,关键在这6步!

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

时间:2024-07-08 13:43:24浏览次数:23  
标签:服务 定义 部署 建模 接口 关键 设计 架构 进行

       随着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(联系时请说明来自博客园)

标签:服务,定义,部署,建模,接口,关键,设计,架构,进行
From: https://www.cnblogs.com/hirain123/p/18289715

相关文章

  • 【HTML学习】网站基础架构
    因为工作需要,我开始接触网站。用了二十多年的互联网,对于网页的基础架构并不了解,以至于只是一个半自动化的wordpress,很多内容都不会弄。最近学了HTML相关知识,总算有了些许了解。将内容分享出来,希望能够帮助到对网站结构和HTML一窍不通的读者朋友们。首先,先发一张我的网站首页......
  • 设计与优化淘客返利系统中的分布式缓存架构
    设计与优化淘客返利系统中的分布式缓存架构大家好,我是微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!在设计和优化淘客返利系统中的分布式缓存架构时,我们面临着诸多挑战和考虑因素。本文将探讨如何利用现代缓存技术和分布式系统原理,设计一个高效、可扩展的缓......
  • 使用Spring Cloud构建微服务架构下的淘客返利系统
    使用SpringCloud构建微服务架构下的淘客返利系统大家好,我是微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!在当今互联网时代,微服务架构已成为构建大型复杂应用的主流方式之一。本文将深入探讨如何利用SpringCloud构建一个高可用、高性能的淘客返利系统,通过......
  • 从零开始学Java(超详细韩顺平老师笔记梳理)03——各类运算符、标识符关键字、进制转换、
    文章目录前言一、运算符(算术、关系、逻辑、赋值、三元)1.算术运算符2.关系运算符(比较运算符)3.逻辑运算符4.赋值运算符5.三元运算符TernaryOperator二、运算符优先级三、标识符规范与关键字1.标识符命名规则和规范2.关键字3.保留字四、键盘输入五、进制介绍转换,......
  • 使用ruri快速构建跨架构chroot容器
    在开发过程中,我们偶尔会用到跨架构Linux容器。ruri全称“轻量型,用户友好的Linux容器实现”,是一个1M左右大小的Linux容器实现,提供了一系列功能选项,致力于成为更加强大且安全的chroot命令替换。我们以在x86_64系统下运行arm64的Ubuntu容器为例:确认binfmt_misc支持:~$cat/proc/f......
  • 微服务架构:设计理念、优势与Java技术栈实践
    引言        微服务架构是一种软件开发架构风格,它将一个单一的应用程序划分为一组小型、松散耦合的服务。每个服务实现特定的业务功能,并通过轻量级的通信机制(通常是HTTPRESTfulAPI)进行交互。微服务架构在近年来逐渐成为构建大型、复杂系统的首选方法。本文将介绍微......
  • Es集群架构的搭建以及集群的核心概念
    1、深入理解ES集群架构的底层原理这篇主要讲解es的集群架构的底层原理,es的索引分片,副本等基本知识集群的核心概念在安装集群之前,先了解一下集群的几个概念。如下图,就是一个三个节点组成的es集群,p0、p1、p2表示一个节点中的分片,R0、R1、R2表示分片对应的副本 1.1节点以及......
  • 数学建模——层次分析法 AHP(Python代码)
    层次分析法    层次分析法是由美国运筹学家、匹兹堡大学教授T.L.Saaty于20世纪70年代创立的一种系统分析与决策的综合评价方法,是在充分研究了人类思维过程的基础上提出来的,它较合理地解决了定性问题定量化的处理过程。    AHP的主要特点是通过建立递阶层次结......
  • 数学建模——Topsis法(Python代码)
    Topsis法    Topsis法是一种常用的综合评价方法,能充分利用原始数据的信息,其结果能精确反映各评价方案之间的差距。该方法对数据分布及样本含量没有严格限制,数据计算简单易行。    基本过程为先将原始数据矩阵统一指标类型(一般正向化处理)得到正向化的矩阵,再对......
  • 基于负相关误差函数的4集成BP神经网络matlab建模与仿真
    1.算法运行效果图预览(完整程序运行后无水印)   2.算法运行软件版本MATLAB2022a 3.部分核心程序while(Index<=Max_iteration)Indexjj=1;error2=zeros(Len,KER);while(jj<=Len)fork=1:No;d(k)=T(jj);end......