菲利普·迪尔辛,MathWorks
通过在Simulink中建模AUTOSAR架构来设计软件架构。它允许您在Simulink中编写软件组合、组件和接口,并将它们链接到需求金宝app(需要Simulink需求)™). 还可以通过创建新的Simulink组件模型、链接到现有组件模型或从ARXML导入组件模型来指定架构模型中组件的行为。
您可以向架构模型添加基本软件(BSW)块,包括诊断服务组件和NVRAM服务组件块,以模拟对BSW服务的调用。此外,您可以使用schedule Editor调度和指定用于模拟的组件可运行项的执行顺序。这允许您在不离开Simulink的情况下验证AUTOSAR ECU软件。金宝app
一旦您对设计感到满意,您就可以导出组合和组件ARXML描述,生成组件代码,并打包构建工件,以便与AUTOSAR运行时环境集成。
你好我是Philipp Diersing,MathWorks AUTOSAR区块集团队的软件工程师。我将向您展示如何使用AUTOSAR区块集设计软件体系结构,并利用AUTOSAR基于模型的设计。此过程从体系结构级别开始,一直到组件级别,从而减少了对其他AUTOSAR创作工具的需求。
我们可以从这里开始设计,从Simulink开始页开始。AUTOSAR区块集附带一组预定义的金宝app模板模型,允许您直接进入AUTOSAR设计。AUTOSAR Classic和Adaptive platform组件模型都有模板,但我们将从AUTOSAR Classic platform软件架构模板开始。
在此画布中,我们通过拖动块、创建骨架模型、链接现有模型或ARXML中的重要组件和组合来设计、组装和分析AUTOSAR软件体系结构。在本例中,我们将重点创建自上而下的设计。或者使用现有组件模型,而无需从ARXML导入。这些工作流现在由一个强大的编程API支持,该API允许您通过Matlab脚本自动化这些过程。金宝app
Spotlite视图允许关注单个组件及其架构模型中的上下文。自由形式的体系结构视图可用于创建自定义查询,并缩小复杂体系结构的特定方面。软件架构设计由需求驱动。有了需求管理器,我们可以将实现与这些需求联系起来,以增强可跟踪性。您可以突出显示这些链接,以查看需求的具体实现位置。您可以检查需求描述和基本原理,看看我们的需求是否得到了正确的实现。
现在,让我们实施人口普查组成。我们有两个冗余的油门位置传感器。冗余对于安全关键传感器非常重要。监视器检查传感器是否存在故障,并选择控制器使用的信号。我们还有一个用于驾驶员输入的踏板传感器。在短短几秒钟内,我们就为该传感器组件添加了必要的组件。
我们已经有了Simulink模型形式的合格组件实现。现在,我们可以轻松快速地将它们链接到各自的组件块,并将它们的端口相互连接。我们还可金宝app以调整端口位置,并将端口导出到层次结构的上层。
我们还想添加一个加速器,以对控制器处理的感官输入作出反应。同样,我们可以将这些组件快速链接到我们的实现模型,并将它们链接起来。我们将硬件输入和输出公开到顶层组合的外部。在此过程结束时,快速自动排列为我们提供了架构中信号流的清晰概述,并排列了component blocks属性。
有了我们基于模型的设计环境,我们现在可以直接进行模拟,并在这个组合中发挥作用。这允许我们验证实现模型是否正确配置。我们可以使用几个提供的基本软件块模拟组件与RTE和基本软件的交互。
现在,我们希望在测试线束中测试我们的软件架构,以提供一些输入,并使用系统中的工厂模型模拟响应。我们为踏板传感器和模拟节气门体提供了一些模拟踏板输入,以对执行器信号做出反应,并将节气门的当前位置反馈给冗余传感器。我们可以模拟测试时间,并将油门位置与此处提供的模拟踏板输入刺激进行比较。我们可以看到肩部位置很好地符合要求。
一旦我们测试和验证了我们的设计和实现,我们就要为我们的组件模型以及ARXML生成代码,描述组件、组件、连接和接口,以及体系结构的实现。这些工件可以带到RTW进行部署。我们单独为所有软件组件生成C代码,就像在组件工作流中一样。让我们看看生成的ARXML文件。
我们可以看到,我们必须为每个组件创建一个XML文件,一个包含组件描述,另一个用于实现。此外,我们有包含组合的XML文件,还有描述此体系结构中组件和组合之间共享的累积数据类型和接口的文件。这就是您可以使用AUTOSAR区块集和基于模型的设计,通过组件上的组合设计AUTOSAR体系结构,并生成C代码和ARXML。非常感谢您的收听。这是来自MathWorks的Phillip Diersing。
您还可以从以下列表中选择网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家/地区网站未针对您所在地的访问进行优化。