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

news2024/11/26 8:39:11

       随着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转6115或发送邮件至 market_dept@hirain.com(联系时请说明信息来源于CSDN)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

塑料颗粒烘干机相关制作技术

网盘 https://pan.baidu.com/s/1urgMadWbneDT-HNOZFwZOw?pwd5idr 再生塑料颗粒用烘干装置.pdf 塑料制品加工用颗粒烘干装置.pdf 塑料颗粒烘干机.pdf 塑料颗粒生产加工用循环烘干装置.pdf 塑料颗粒用高效率烘干装置.pdf 颗粒物料烘干机.pdf

windows启动Docker闪退Docker desktop stopped

Windows启动Docker闪退-Docker desktop stopped 电脑上很早就安装有Docker了,但是有一段时间都没有启动了,今天想启动启动不起来了,打开没几秒就闪退,记录一下解决方案。仅供参考 首先,参照其他解决方案,本…

Servlet与Servlet容器

什么是Servlet? Servlet是Java EE(现称Jakarta EE)中的一个组件,通常用于创建动态Web内容。Servlet是运行在Web服务器上的Java程序,它处理客户端的请求并生成响应。Servlet的核心功能是处理HTTP请求和响应。下面是一个servlet例…

imx6ull/linux应用编程学习(11)CAN应用编程基础

关于裸机的can通信,会在其他文章发,这里主要讲讲linux上的can通信。 与I2C,SPI等同步通讯方式不同,CAN通讯是异步通讯,也就是没有时钟信号线来保持信号接收同步,也就是所说的半双工,无法同时发送与接收&…

YARN运行流程源码分析

一、yarn任务执行流程图 在分析任务之前先走一下yarn内部的流程细节。 二、RM 内部处理提交阶段运行流程 如上图流程所示: 1.client 提交任务给yarn,yarn 这边会获取任务的AM相关资源,client在提交阶段会上传job.split (数据切分…

Mysql-01-主从搭建

一、安装Mysql 下载 https://downloads.mysql.com/archives/community/ 安装 注意顺序 tar -xvf mysql-8.0.38-1.el9.x86_64.rpm-bundle.tar rpm -ivh mysql-community-common-8.0.38-1.el9.x86_64.rpm rpm -ivh mysql-community-client-plugins-8.0.38-1.el9.x86_64.r…

Vue3重构案例(使用vue3的语法重构element的button组件)

这篇文章紧接的上一篇文章,上篇文章是对给element的button组件写了一个单元测试,这篇文章是使用vue3的语法进行重构,这里说一下单元测试和重构的联系,当你给组件写了单元测试之后,重构会减少你很多的debug时间&#xf…

jdk22+maven环境配置教程+idea的maven环境配置(Windows系统)

前言 jdk是Java开发必要的编程环境,idea是常用的Java开发工具,这里着重解释一下maven。 maven就是我们经常看见的pom.xml文件,maven有以下三点功能: 1.项目构建(可以帮助我们更快速的打包、构建项目) 2.依…

数据操作10-15题(30 天 Pandas 挑战)

数据操作 1. 相关知识点1.12 分组与连表1.13 排名 2. 题目2.10 第N高的薪水2.11 第二高的薪水2.12 部门工资最高的员工2.13 分数排名2.14 删除重复的电子邮箱2.15 每个产品在不同商店的价格 1. 相关知识点 1.12 分组与连表 分组max_salaryemployee.groupby(departmentId)[sal…

【leetcode】双指针算法题

文章目录 1.算法思想2.移动零3.复写零方法一方法二 4.快乐数5.盛水最多的容器方法一(暴力求解)方法二(左右指针) 6.有效三角形的个数方法一(暴力求解)方法二(左右指针) 7.两数之和8.…

k8s学习--基于k8s的ELK日志收集的详细过程

文章目录 FilebeatFilebeat主要特点Filebeat使用场景 ELK简介Elasticsearch简介Elasticsearch主要特点Elasticsearch使用场景 Logstash简介Logstash主要特点Logstash使用场景 Kibana简介Kibana主要特点Kibana使用场景 简单理解 环境一、ELK集群部署1.软件安装2.软件配置及启动(…

【python】PyQt5控件尺寸大小位置,内容边距等API调用方法实战解析

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

Java毕业设计 基于SSM vue新生报到系统小程序 微信小程序

Java毕业设计 基于SSM vue新生报到系统小程序 微信小程序 SSM 新生报到系统小程序 功能介绍 学生 登录 注册 忘记密码 首页 学校公告 录取信息 录取详情 师资力量 教师详情 收藏 评论 用户信息修改 宿舍安排 签到信息 在线缴费 教室分配 我的收藏管理 我要发贴 我的发贴 管理…

STM32外扩SRAM及用法

一.概述 一般单片机有片内的RAM,但都不多,比如:STM32F407ZGT6 自带了 192K 字节的 RAM,对一般应用来说,已经足够了,不过在一些对内存要求高的场合,比如做华丽效果的 GUI,处理大量数据…

ionic7 使用Capacitor打包 apk 之后,设置网络权限

报错处理 在打包的时候遇到过几个问题,这里记录下来两个 Visual Studio Code运行ionic build出错显示ionic : 无法加载文件 ionic 项目通过 android studio 打开报错 capacitor.settings.gradle 文件不存在 ionic7 项目初始化以及打包 apk 这篇文章讲到了如果安装…

Java+前后端分离架构+ MySQL8.0.36产科信息管理系统 产科电子病历系统源码

Java前后端分离架构 MySQL8.0.36产科信息管理系统 产科电子病历系统源码 产科信息管理系统—住院管理 数字化产科住院管理是现代医院管理中的重要组成部分,它利用数字化技术优化住院流程,提升医疗服务质量和效率。以下是对数字化产科住院管理的详细阐述…

您的私人办公室!-----ONLYOFFICE8.1版本的桌面编辑器测评

随时随地创建并编辑文档,还可就其进行协作 ONLYOFFICE 文档是一款强大的在线编辑器,为您使用的平台提供文本文档、电子表格、演示文稿、表单和 PDF 编辑工具。 网页地址链接: https://www.onlyoffice.com/zh/office-suite.aspxhttps://www…

2个方法教你轻松移除pdf文件编辑限制

PDF是一种常见的办公文档格式,常用于文件共享和保护。然而,有时候我们需要编辑PDF文件中的内容,但受到了编辑限制。本文将介绍一些有效的方法,帮助您解除PDF的编辑限制,轻松进行编辑和修改。 一、通过密码取消PDF“限制…

运维锅总详解计算机缓存溢出

本文尝试从缓存溢出、如何平衡防止缓存溢出和OOM、conntrack缓存满载影响及优化措施、TCP/IP协议栈缓存满载影响及优化措施等方面对计算机缓存溢出进行详细分析,最后给出一些缓存满载的Prometheus告警规则。希望对您有所帮助! 一、计算机缓存溢出简介 …

卫星轨道平面简单认识

目录 一、轨道平面 1.1 轨道根数 1.2 应用考虑 二、分类 2.1 根据运行高度 2.2 根据运行轨迹偏心率 2.3 根据倾角大小 三、卫星星座中的轨道平面 四、设计轨道平面的考虑因素 一、轨道平面 1.1 轨道根数 轨道平面是定义卫星或其他天体绕行另一天体运动的平面。这个平…