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