自适应AUTOSAR是一种现代软件框架,用于高性能的机载计算机,通常用于自主系统。它基于POSIX和c++,支持动态和可更新的软件,以及万博1manbetx面向服务的通信,并具有安全性和安全性扩展。
在这个演讲中,MathWorks向您介绍自适应AUTOSAR的概念,并展示了Simulink如何万博1manbetx®产品系列提供自适应AUTOSAR支持,包括:万博1manbetx
记录时间:2019年4月11日
是的,早上好。我很高兴来到斯图加特,汽车的诞生地,来谈谈AUTOSAR自适应的Simulink。万博1manbetx在我开始之前,能不能请大家举手?观众中有谁在使用AUTOSAR ?不少。谁在使用自适应AUTOSAR?一两个。所以希望在这次演讲中,大家能很好地融合。
好的,所以这就是我要覆盖的东西。所以首先,我将为您提供一些受欢迎的Autosar如何,以及适应性的一些动机,为什么他们推出了自适应平台。然后我们将在Simulink中查看AutoSAR支持。万博1manbetx万博1manbetx我们将在自适应平台上进行深度潜水,然后我会用额外的资源包装。所以让我们开始一些关于AutoSAR和Autosar Adaptive的一些背景。
我相信大家都知道AUTOSAR Classic很受欢迎,它已经上路了。下面是我们的客户的一些用户故事和演示。宝马,他们谈论基于模型的软件开发和AUTOSAR。FCA,他们有一篇关于基于模型的开发和代码生成的好文章,LG Chem基于模型的设计和ISO 262262。当然,AUTOSAR不仅仅是汽车公司的专利还包括其他相关行业,约翰迪尔有一篇很好的文章是关于基于模型的开发和他们一直在做的工作。
这是AUTOSAR Classic。所以,你知道,我们已经看到AUTOSAR经典是多么受欢迎。这就引出了一个问题,为什么要引入Adaptive平台呢?所以实际上有两个词,自动驾驶。
所以,我相信你很清楚,自动驾驶需要巨大的计算能力和通信带宽,它也需要易于更新。因此,自动驾驶有很多发展。所以AUTOSAR组织,他们引入了Adaptive平台。所以他们基于POSIX操作系统。这就是计算能力的来源。
他们引入了基于服务的通信。所以这就是你获取通讯能量的地方,当然,如果他们让它很容易更新。这就是你可以很容易地更新这些东西的地方。所以这一切都是为了自动驾驶。
但是自动驾驶系统,它们只是现代汽车系统的一部分功能。所以我们经常从客户那里听到的一个问题是Adaptive平台如何与其他平台合作?经典和非autosar平台。所以我们经常听到的一个问题是,Adaptive如何与Classic合作?
所以它不会消失。它们会共存。其次,Simulink提供了一个设计环境,在这个环境中,你可以从组件万博1manbetx扩展到复合组件,也可以跨平台扩展。这就是AUTOSAR经典和自适应的简单背景知识。我现在要讲的是在Simulink中使用AUTOSAR的一些实用性,在我们深入研究Adaptive平台之前。万博1manbetx
好的,所以我们的大量客户正在使用Simulink来模拟经典应用程序。万博1manbetx所以他们所做的是,它们主要做的是大多数是模型,如果不是全部,则在Simulink中的应用软件。万博1manbetx它们还根据模型的保真度的类型模拟了一些RTA和基本软件和常规库。万博1manbetx因此,让我们来看看我们的客户如何获得AutoSAR,将其AutoSAR架构带入Simulink。万博1manbetx
这张幻灯片涵盖了设计AUTOSAR软件组件的主要步骤。所以我将依次介绍这些主要步骤。如果我们看导入步骤,有些用户从ARXML开始,也就是软件描述。然后他们会把它导入Simulink。万博1manbetx这只是两行MATLAB代码。你将从中得到一个Simulink模型,然后他万博1manbetx们可以进一步阐述软件组件设计。因此,将架构导入Simulink非常容易。万博1manbetx
现在,如果我们从一个现有的Simulink模型开始,让我们看看为AUTO万博1manbetxSAR配置有多容易。你可以使用AUTOSAR组件快速启动这只会问你几个简单的问题让你开始配置AUTOSAR模型。然后你就可以精心设计你的软件组件设计,你的实现和生成代码。非常简单。这里我要放一段视频。这只是一个现有的Simulink模型。万博1manbetx
我将要启动快速启动,自动启动快速启动。这将询问一个或两个问题,例如只是为了命名组件,路径,它是什么类型的组件,然后是如何设置接口。所以在这里,您可以从ARXML导入,或者您可以从Simulink接受默认值,然后是它。万博1manbetx所以你现在看到你的模特全部设置。您可以为模型生成代码。
这里,我要展示AUTOSAR字典。如果你想微调一些东西,你可以进入AUTOSAR字典。你看到端口,看到接口,然后我们可以继续生成代码。所以很容易从一个现有的AUTOSAR仿真模型开始。
这很好。我已经展示了开始有多简单。让我们来看看一些模型。有些客户模型是这样的。一些客户模型甚至看起来像这样,非常复杂。你可能会问自己一些这样的问题。那么模型中的哪些块需要配置为AUTOSAR呢?光看这个还不明显。如何更改模型中的一些AUTOSAR属性,如何获得更多信息和帮助?
为了回答这些问题,我们将AUTOSAR透视引入到Simulink模型中。万博1manbetx这个透视图这些是模型内UI组件,有三个。我将逐一讲解。这里有一个帮助面板。这是针对初次用户的,如果他们想要一些帮助。
还有代码映射电子表格。Simulink模型中的每个元素都会映射到这个,万博1manbetx会显示在这个电子表格中,你可以这样配置它。在右边,你有属性检查器。如果你想做更高级的配置,这是你设置一些属性的地方。
好的,我们从Classic平台学到的另一件事是——通过与你,客户的交谈。所以在设计应用软件组件时,对AUTOSAR基本软件进行功能模拟是很重要的,这有很多原因。应用软件会调用很多基本软件。你们将会使用基本的软件模块,会有很多对基本软件模块的调用。
其次,基本的软件功能是高度动态的,所以有很多状态,所以任何针对基本软件的预先模拟都可以节省你的时间,从长远来看提高质量。好的,所以顾客们理解这一点。他们还指出AUTOSAR的规格非常详细。这只是其中之一。
这是用于诊断事件管理器的。如你所见,有475页,非常详细。我们所做的是将这些规格的内容封装到基本的软件库中,在这里你可以直接将这些模块拖到你的模型中,模拟基本软件的功能模拟。
我给大家举个例子。这里,我要建模的是我们要做一个容错位置控制器。我们有两个传感器,监视器会选择最好的,它认为没有任何故障的传感器。我们来播放一下。
好的,这是两个传感器,然后我们有一个监视器组件。我们观察传感器,我们要用非易失性内存初始化一些状态。这里,我把方块拖进来。有多种操作可供选择。我们只是从非易失性存储器中读取数据。
这里我们锁定诊断事件管理器的默认值。同样,你们可以选择一些操作。这些都是监视器调用者接口中的操作。这是传感器,然后监视器会检查哪个传感器,选择最好的传感器。好了,这些就是组件,然后模拟你只需要把这些服务组件块拖到你的集成模型中,然后你可以立即按下播放键,你就能得到一个基本软件的功能模拟。所以你不必去读说明书,看看界面就知道了。
这就是功能模拟。您还可以双击这些块并将参数更改为默认值。好的,顾客问我们的另一个问题是图书馆的日常事务。这是一组AUTOSAR经典的数学例程。在这里。我在展示插值程序。这五个区块代表了AUTOSAR的127个函数。
这里的想法是,你可以把方块拖到模型中,然后你可以改变各种设置。但是我们总是要确保使用这些设置为Ifx库生成一个函数调用。我甚至会给你一个提示,你的目标是哪个套路。
然后这是来自此特定设置的生成的代码。所以这里我们看到IFL插值。好的,所以我们看过工作流,组件,基本软件。所以很快,这一切如何合适?所以让我们快速看看。
所以我们已经建模了我们的软件组件,我们有我们的基本软件服务。我们也可以在那里拨打和仪表。在这里,我们已经有一个虚拟易于使用系统的模拟。好的,所以我们看过我们在Simulink中获得的构建块以支持AutoSAR。万博1manbetx万博1manbetx
因此,在这一节中,我将深入探讨Adaptive平台,并从Adaptive平台中提取一些关键概念。如果我们看看分层的软件架构。在一个非常高的层次上它和经典非常相似它是分层的软件架构。
所以你有 - 它们没有被称为组件,它们被称为适应性的应用程序。你有一个运行时的环境。它是Autosar运行时环境。您已获得AutoSAR Foundation库和AutoSar Services,然后也是硬件。因此,也许经典和自适应之间的最大差异是,对于自适应,应用程序可以调用AutoSAR基础或AutoSAR库的任何公共接口。因此,应用程序可以呼叫的事物的表面积远大于经典。
另一件需要注意的事情是,这并不一定是裸金属硬件。它也可以是虚拟的,虚拟化的,运行在服务器上,也可以是Adaptive的。这就是分层的软件架构。我要讲一讲我们讲过的一些关键概念。关键概念一。
Adaptive中的一切都是一个操作系统进程。因此,操作系统提供了多进程能力,然后每个Adaptive应用程序都是自己独立的进程。所以与经典相比,它只是一个整体过程。但对于Adaptive,你有多个内部处理过程。每个应用程序都有自己的主函数,有自己的内存空间名称空间,它可以是单线程的,也可以是多线程的。
如果我们看看一些流程管理。因此,操作系统提供了进程调度。执行管理器提供生命周期管理,然后通信管理器提供进程间通信。因此,您可以将执行管理器和通信管理器视为相当于经典版的RT84。但这些都是应用程序直接调用的。
这是第一个关键概念。第二个关键概念,我要讲的是面向服务的进程间通信。首先,让我们看看进程间通信。因此,对于Adaptive, IPC可以是本地的或通过通信管理器。也可以通过网络,通过通信管理器。
现在,如果我们看看交流的类型。我相信你知道,经典有发送方,接收方和客户端服务器。Adaptive有这个服务接口的概念,所以它可以包含三个东西。你有方法,这是网络上的远程过程调用[听不清]。事件,所以我想到消息,字段,所以我想到数据。这是服务接口这是Adaptive的面向服务通信方面。
这是第二个关键概念。这是第三个关键概念。Adaptive中的一切都是c++。所有的模块和应用程序都需要用c++编写。我已经讲了AUTOSAR自适应的三个高级关键概念。这是AUTOSAR自适应路线图。
因此,AUTOSAR联盟发布了该标准的三个版本。其中一些客户是Adaptive的早期采用者。他们都出现在去年11月的第11届AUTOSAR经常会议上。然后我很高兴地说,两周前,我们在[?我们对AUTOSAR自适万博1manbetx应的支持。
看看我们为什么在Simulink中支持AUTOSAR Adaptive的动机是很有趣的。万博1manbetx万博1manbetx首先,你们在AUTOSAR中大量使用了Simu万博1manbetxlink你们要求我们支持AUTOSAR自适应。万博1manbetx其次,从技术的角度。因此,我们已经在这个面向服务的通信概念上投资了多年。首先是通过Simulin万博1manbetxk函数和函数调用者,还有Simulink消息。然后是代码生成器。我们已经生成了C代码和c++代码。所以从技术角度来看,这是一种很自然的契合。
第三,我们参加了标准委员会,我们都支持经典和自适应。万博1manbetx这就是AUTOSAR Adaptive中MathWorks支持的三个高级动机。万博1manbetx在接下来的几张幻灯片中,我将介绍其中一些概念,然后向你们展示它是如何映射到Simulink的。万博1manbetx在Adaptive应用中,它既有需要的端口,也有提供的端口。这是我之前展示过的带有事件、方法和字段的服务接口。让我们将这些概念映射到Simulink中。万博1manbetx
首先,在Adaptive应用程序中映射到Simulink中的模型,然后我们看看它们映射到的事件。万博1manbetx万博1manbetxSimulink中的Simulink消息,以及I/O端口旁边的块,这些将事件转换为信号,我们将这些作为AUTOSAR块集的一部分来运输,对于任何主要是基于信号的模型。我们看另一边。这就是提供的港口。Adaptive应用映射到模型这里的事件映射到Simulink消息?万博1manbetx八?]港口。
我将把这次演讲的所有内容都放在一起来演示我们的AUTOSAR自适应支持。万博1manbetx让我们配置AUTOSAR自适应模型。首先,我要将系统目标文件设置为AUTOSAR Adaptive TLC,然后启动Adaptive的快速启动。
它会问我们一些问题,我们想把这个包的应用叫做什么。现在我们完成了模型的配置。这些是所有被映射到AUTOSAR的留言板。如果我们查看字典,你可以看到应用程序所需和提供的报告然后在服务接口上,我们有事件,你可以为Adaptive设置名称空间。
然后是XML选项。这里有一些包配置。这个模型现在已经为AUTOSAR自适应设置好了。让我们为模型生成代码。这里我们看到了模型CPP文件,然后我们会看到一些对Communication Manager的调用。
我们有[听不清],然后我们把事件发送到这里,然后生成ARXML。这是AUTOSAR Adaptive ARXML,然后我们有Adaptive应用软件组件,然后是数据类型。我们还生成了主要的CPC。可以生成一个执行,你可以为Adaptive创建一个可执行文件。
这是一张关于AUTOSAR自适应支持的总结幻灯片。万博1manbetx所以你可以在Simulink中生成AUTOSAR自适应c++代码。万博1manbetx所以工作流程非常简单直观。你可以取一个Simulink模型,万博1manbetx配置它来生成AUTOSAR c++。你可以进入字典,修改这些设置。然后,在配置了模型之后,您可以生成Adaptive c++代码和ARXML。
好的,我只想用一些关于其他资源的信息完成这个谈话。非常感谢聆听,首先。因此,如果您想要进一步的信息,请访问网站,Autosar Slockset网站,以及我们楼下的演示展位。所以请在演示摊位上与我们联系。非常感谢你。谢谢你。
(掌声)
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。