MathWorks的Shwetha Bhadravathi Patil
卡罗琳·布兰德MathWorks
AUTOSAR时序扩展规范定义了执行顺序约束。这些约束指定组件中可运行实体的执行顺序。
在Si金宝appmulink中,你可以:
在AUTOSAR软件组件模型中,您可以使用Schedule Editor来安排和指定可运行程序的执行顺序。Schedule Editor是一个调度工具,它在模型中显示分区、分区之间的数据连接以及这些分区的顺序。在AUTOSAR组件模型中,分区对应于独立执行的可运行实体。在日程编辑器中,您可以:
Schedule Editor支持多种建金宝app模样式,包括基于费率的建模和导出功能建模。有关更多信息,请参见使用日程编辑器和创建分区.
大家好,我是Shwetha, MathWorks的AUTOSAR Blockset产品经理。在这个视频中,我将讨论在Simulink中AUTOSAR可运行程序的执行顺序。金宝app如您所知,汽车问题的复杂性正在增长,因为它包括2到3个核心,可能15到20个任务,数百个RTEE事件到任务关系。有些任务可能被映射到5到60个可运行项或2个事件。
因此,集成成为必要和关键的任务,需要将可运行对象映射到任务,并将任务分配到核心。因此,AUTOSAR引入了时间扩展,以提供指导系统构建的时间需求,并分析和验证系统的时间行为。同时,它保留了功能行为和及时执行。这里的问题是,可运行对象的执行顺序是什么?
我在Simulink中创建了一个建模的软件组件。金宝app它有两个可运行项目。您如何知道您评估或模拟了这个模型的顺序?所以很难说数据依赖。让我来看看执行顺序是如何影响最终结果的。
因此,在这里,输出连接到一个作用域,以检查最终结果。如果我运行模拟,当可运行的R1,在可运行的2之前,你会得到这样的图,但我翻转了执行顺序,结果会改变。正如你在这里注意到的,不同值的延迟是完全不同的。
一旦我们对这个实现感到满意,你就可以导出执行顺序以备将来使用。因此,在Si金宝appmulink中,您可以使用调度编辑器修改来导入和导出执行顺序约束到可运行的执行顺序,然后再到ARXML文件。
好了,现在让我们邀请AUTOSAR Blockset的开发者之一Caroline Brandberg来展示他们对执行顺序约束的支持。金宝app
让我们从一个经典软件组件的例子开始。该模型由映射到AUTOSAR可运行程序的6个入口点函数组成。如果打开Schedule Editor,我们可以看到入口点函数、在模拟过程中调用它们的顺序以及它们的数据依赖关系。日程编辑器还允许我们使用拖放来修改订单。我们还可以看到数据连接的类型,错误以图形方式表示,其中直线表示类型依赖的数据连接,虚线表示类型延迟的数据连接。
属性检查器也显示类型。Runnable E和Runnable F彼此都有一个数据依赖关系,其中一个是子类型延迟。如果我们修改这些可运行项的顺序,那么依赖项的类型就会改变。我在可运行f的输出中附加了一个作用域,现在我将模拟模型并观察数据。
如果我们随后修改执行顺序,函数行为可能会改变。让我们改变可运行E和可运行F之间的顺序,并再次模拟我们的模型。如您所见,数据现在已经改变了。我将把原来的订单改回来,因为这符合我的要求。
当我们的模型经过验证和验证后,我们可以继续并生成代码。我们将首先通过执行AUTOSAR验证来确保我们的模型配置正确。验证成功后,我们现在可以继续生成代码了。生成的代码将由一组描述组件的ARXML文件组成。
其中一个文件将包含一个计时模型。时间模型持有在进度编辑器中显示的执行顺序,根据AUTOSAR时间扩展规范将其表示为执行顺序约束。之后,集成商可以使用这些约束来指导系统的构造,以确保在将可运行对象映射到操作系统任务时保留模拟行为。
希望大家喜欢这个视频。更多信息,请访问我们的AUTOSAR Blockset页面,感谢您的收看。
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。