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