《2-12515-软件定义汽车 - 面向服务架构的应用迁移_ewCN_MathWorks_vzhou.pdf》由会员分享,可在线阅读,更多相关《2-12515-软件定义汽车 - 面向服务架构的应用迁移_ewCN_MathWorks_vzhou.pdf(26页珍藏版)》请在三个皮匠报告上搜索。
1、1 2023 The MathWorks,Inc.软件定义汽车-面向服务架构的应用迁移MathWorks中国区汽车行业经理周斌2023-06-14 2汽车行业正在采用面向服务的架构(SOA)作为设计软件定义汽车(SDV)等现代应用的新范式软件更新需求频繁可选OTAApplication ServicesHigh Performance Hardware/Virtual MachineMiddlewarePlatform Services更高的抽象:面向服务的架构0000000010背景 软件定义汽车3计算和
2、SOA的集中化High-performance CPU/GPU新的E/E区域架构SW updatesFrequentSelectiveOver-the-airApplication ServicesHigh Performance Hardware/Virtual MachineBasic Software ServicesPlatform Services更高的抽象:面向服务的架构0000000000001001001
3、0软件功能呈指数级增长4基础车辆平台基础车辆平台控制实时CAN基于模型设计基于模型设计软件定义汽车软件定义汽车转向,制动速度,扭矩智能网联AIC+基于中间件的基于中间件的SOA如何将传统的汽车软件应用迁移到基于如何将传统的汽车软件应用迁移到基于 SOA 的服务?的服务?趋势 主机厂加大SOA自研力度5将传统汽车应用转换为 SOA 应用有哪些挑战?如何将传统的应用软件组合分解为SDV的服务?基于模型设计如何帮助将已有应用迁移到 AP服务?内容6将传统汽车应用转换为 SOA 应用有哪些挑战?如何将传统的应用软件组合分解为SDV的服务?基于模型设计如何帮助将已有应用迁移到 AP服务?内容7重用经过验
4、证的已有算法 知识资产 算法库 作为扩展到高级功能的基线SoftwareReusability为什么需要对已有应用实施迁移8由各种软件组件组成作为单个可执行文件部署在微控制器上对不断变化的需求灵活性低Reference:Software Architecture Patterns:Understanding Common Architecture Patterns and When to Use Them by Mark Richards已有应用本质上是单体式的EXE9打破单体打破单体式架构式架构识别和定识别和定义服务义服务确保兼容确保兼容性性管理数据管理数据性能和可性能和可扩展性扩展性文化挑
5、战文化挑战AUTOSAR ClassicRTEBasic SoftwareApplication Software.Application ServicesBasic Softwareara:comAUTOSAR Adaptive将传统汽车应用转换为SOA应用有哪些挑战11将传统汽车应用转换为 SOA 应用有哪些挑战?如何将传统的应用软件组合分解为SDV的服务?基于模型设计如何帮助将已有应用迁移到 AP服务?内容12识别和分析服务定义服务及接口定义服务契约实施和部署服务 确定需要采用SOA 架构的服务 分析传统的单体式应用并将其分解为更小的组件 定义与其他服务通信的服务接口 指定协议和数据格式
6、 定义指定服务之间交互条件的服务契约 指定输入、输出和行为 实现服务并将其部署为独立应用程序 生成代码和相关工件,快速原型验证工作流程13Single-Responsibility principle(单一职责原则)Open-Close principle(开放闭合原则)Liskov substitution principle(里氏替换原则)Interface segregation principle(接口隔离原则)Dependency inversion principle(依赖倒置原则)-Explanation of Adaptive Platform Software Archite
7、cture R22-11-Agile Software Development:Principles,Patterns,and Practices一个组件只负责功能的一个独立部分减少接口变更需要,提升可维护性客户端不应该依赖于用不到的方法将复杂接口按需拆分为简单接口高层模块应该依赖于抽象而非低层模块降低耦合,提升复用避免循环依赖设计原则-SOLID14组件层级接口定义功能函数定义行为建模代码和架构文件生成仿真架构平台15将传统汽车应用转换为 SOA 应用有哪些挑战?如何将传统的应用软件组合分解为SDV的服务?基于模型设计如何帮助将已有应用迁移到 AP服务?内容16要将单体式应用程序组件分解为服
8、务,我们需要:识别不同的组件、功能和依赖关系 了解组件交互和组件的执行顺序Reference-https:/ ApplicationSWC1SWC2SWC4SWC3Service1Service2Service317作为单体的传统应用识别和分析服务定义服务及接口定义服务契约实施和部署服务识别和分析服务Monolithic Application Executable18 确定可以单独部署为服务的组件,这些服务封装了一个功能,并从单体式应用程序模型的其余部分抽象出来 将每个已识别的组件部署成作为服务的可执行文件识别和分析服务定义服务及接口定义服务契约实施和部署服务SOA 应用传统应用识别和分析服
9、务19车道跟踪单体应用分解为基于SOA的服务识别和分析服务定义服务及接口定义服务契约实施和部署服务识别和分析服务20包含事件的数据元素和服务提供方提供的操作作为服务的抽象与外部进行交互具有功能性配置服务接口配置服务接口识别和分析服务定义服务及接口定义服务契约实施和部署服务定义服务接口21定义服务的职责、范围和依赖关系等作为服务接口的补充包括非功能属性应用版型到服务应用版型到服务识别和分析服务定义服务及接口定义服务契约实施和部署服务定义服务边界22指定服务的输入、输出和行为可以看作为服务原型服务双方并行的前提识别和分析服务定义服务及接口定义服务契约实施和部署服务定义服务契约23配置中间件(AP)
10、属性检查映射关系生成C+代码识别和分析服务定义服务及接口定义服务契约实施和部署服务实现和部署服务24每个服务都需要部署为一个独立的应用程序并生成相关工件:代码-C+-ARA存根接口描述-机器清单-执行清单-服务实例清单识别和分析服务定义服务及接口定义服务契约实施和部署服务实现和部署服务25快速原型部署服务运行控制测量和标定识别和分析服务定义服务及接口定义服务契约实施和部署服务实现和部署服务26总结将传统汽车应用转换为 SOA 应用所面临着诸多挑战需要结合设计原则和工程经验开展服务的识别和分析选择合适的流程、方法和工具平台实施迁移工作基于模型设计提供了SOA迁移的关键能力 服务的定义和建模 自动生成C+代码 快速原型部署和验证了解更多了解更多 2022 The MathWorks,Inc.MATLAB and Simulink are registered trademarks of The MathWorks,Inc.See a list of additional trademarks.Other product or brand names may be trademarks or registered trademarks of their respective holders.