介绍

  • 本文介绍aadl模型实例化后,进行Flow Latency Analysis、Bus Load Analysis两种分析方法
  • 本文相关范例下载地址:
    • osate官方样例 examples:

      • Git地址:https://github.com/osate/examples
      • CSDN地址:https://download.csdn.net/download/qq_37400312/70695077
    • osate项目的源代码库 osate2
      • Git地址:https://github.com/osate/osate2
      • CSDN地址:https://download.csdn.net/download/qq_37400312/71347432

目录

  • 介绍
  • 系统实例化(System Instantiation)
    • 三种实例化方法
    • 实例化结果
    • 功能偏好设置
  • 流量延迟分析(Flow Latency Analysis)
    • 使用方法
    • 延迟分析配置对话框
    • 结果分析
      • 分析结果行属性(Latency results for end-to-end flow 'etef0' of system 'integration.i' )
      • 端到端延迟总结(End to end Latency Summary)
    • 相关案例
  • 总线负载分析(Bus Load Analysis)
    • 使用方法
    • 结果分析
      • VB3.z1模式下的分析结果(Analysis results in modes (VB3.z1))
      • 总线theBus的数据开销为8字节(Bus theBus has data overhead of 8 bytes)
      • 绑定到总线theBus的虚拟总线VB1有24字节的数据开销(Virtual bus VB1 bound to theBus has data overhead of 24 bytes)

系统实例化(System Instantiation)

  • 对模型进行分析只能在模型实例化后进行,实例化的模型由系统实现分类器生成。

三种实例化方法

  1. AADL Navigator界面,右键aadl文件,点击Instantiation,再点击OK


    提示实例化成功

  2. Outline界面,右键aadl文件,点击Instantiation,提示实例化成功

  3. Outline界面,右键aadl文件,点击Instantiation,提示实例化成功

实例化结果

  • OK:分类器已成功实例化。
  • Cancelled:用户从取消了实例化进步查看或进度对话框。
  • Error:实例化过程中出错。错误消息显示在出错信息列。
  • Exception:实例化期间出现了一个Java异常。异常的消息显示在出错信息列。有关异常本身的更多信息,请参见错误日志查看。

功能偏好设置

  • 我们可以根据需要设置实例化的一些参数

    • 要生成的系统操作模式的最大数量:这是为任何一个系统实例创建的系统操作模式的最大数量。默认值为1000。这个极限的存在是为了防止组合爆炸。
    • 实例化成功时,是否显示结果对话框:选中后,将始终显示结果对话框。取消选中时,结果对话框仅在出现错误或异常时显示。默认值为真实的(选中)。
    • 是否显示显示AADL组件实现选择对话框:选中后,将始终显示结果对话框。取消选中时,结果对话框仅在出现错误或异常时显示。默认值为真实的(选中)。
    • 是否仅实例化系统实现:选中时,在组件实现对话框中仅预选系统实现。未选中时,将预先选择所有组件实现。默认值为未选中。当组件实现对话框未显示时,此首选项控制实例化的实现。如预期一样,当检查选定的所有系统实现时,仅实例化.aadl文件;未选中时,将实例化选定的.aadl文件中的所有非子程序非子程序组实现。

流量延迟分析(Flow Latency Analysis)

  • 介绍:延迟分析在包括端到端流的AADL模型上执行,并计算最小和最大延迟,同时考虑各种延迟因素。它是根据分配给不同架构元素的延迟预算以及架构设计发展过程中的设计信息来实现的。AADL模型的范围可以从具有不同分解级别的延迟预算的功能架构,到具有映射到支持分区的硬件平台的执行速率的任务和通信架构。分析的保真度由AADL模型中的细节决定。
  • 范例:在example中,latency-case-study内的functional.aadl的实例化文件functional_integration_i_Instance.aaxl2(需要自己对functional.aadl实例化生成)

使用方法

  • 选中functional_integration_i_Instance.aaxl2文件,点击Analyses -> Timing -> Check Flow Latency
  • 弹出延迟分析配置对话框,用于选择影响延迟计算方式的设置,允许用户在不改变模型的情况下沿不同维度进行研究。
  • 我们使用默认设置,点击OK,在reports->latency下会生成分析结果

延迟分析配置对话框

  • System type(系统类型):用于评估周期性组件之间的采样延迟,这些组件不是固有同步的(同一处理器上的线程或分区),也不是通过引用同一处理器明确指定为同步的相对时间参数。

    • Asynchronous system (AS)(异步系统):组件不是时间同步的,即处理可能有时间偏移。
    • Synchronous system (SS)(同步系统):组件是时间同步的,也就是说,定期处理在系统之间是一致的。
  • Partition output policy(分区输出策略):用于反映分区间通信由于分区系统中不同的通信策略而造成的延迟影响。
    • Partition end (PE)(隔板端):假设分区间连接在任务发送数据的分区末端可用。如果分区A中的一个任务向分区B中的一个任务发送数据,如果分区B在分区A之后执行,后者将在同一主帧中接收数据。
    • Major frame delayed (MF)(主帧延迟):假设分区间连接在主框架的末尾被刷新/实现。如果分区A中的某个任务向分区B中的某个任务发送数据,则无论分区A或分区B的执行顺序如何,只有在所有剩余分区完成后,最新数据才可用。
  • For worst-case processing time use(对于最坏情况的处理时间使用):用户可以在截止日期和最坏情况计算执行时间二者进行选择,作为最坏情况处理时间。在最好的情况下,我们总是使用计算执行时间。这个设置仅在没有响应时间时才会发挥作用。
    • Deadline (DL)(截止日期):Deadline表示假设任务是可调度的,最坏情况下的完成时间。
    • Maximum compute execution time (ET)(最大计算执行时间):在不考虑资源调度的情况下,考虑执行时间时,使用最大计算执行时间。
  • For best-case queuing latency on incoming ports(对于传入端口的最佳排队延迟):影响如何确定最佳情况下的排队延迟。对于最坏的情况,我们总是使用全队列。
    • Assume empty queue (EQ)(假设队列为空):没有延迟,因为队列被假定为空。
    • Assume full queue (FQ)(假设队列已满):使用最小计算执行时间乘以队列大小来确定最佳情况下的排队时间。
  • Disable queuing latency in the results(禁用结果中的排队等待时间):确定是否报告不对称总线的最坏情况排队延迟。
    • Disable(开启):最坏情况下的排队延迟总在报告中为0。
    • Enable(关闭):最坏情况下的排队延迟在报告中如实计算。

结果分析

  • 描述:延迟分析结果报告由每个端到端流和每个操作模式(如果AADL模型包含模式规范)的单独详细报告组成。
  • 文件:functional_integration_i_Instance__latency_AS-MF-DL-EQ-EQL.csv

分析结果行属性(Latency results for end-to-end flow ‘etef0’ of system ‘integration.i’ )

  • Result:要分析的促成因素的类型和名称。
  • Min Specified:指定的最小值,与促成因素相关联的延迟属性值所指定的延迟。(延迟属性采用范围值,下限用作最小值)。
  • Min Actual:最低实际值,分析实际的延迟值。该值由架构设计中的属性决定,例如线程的周期和计算执行时间,或者总线的传输时间。如果无法确定实际值,则使用指定值。
  • Min Method:最小方法。方法由如下方法:
    • no latency(无延迟):使用值零,因为没有从模型中指定或计算延迟因素。
    • specified(明确说明):使用指定的延迟属性值。
    • response time(响应时间):组件的响应时间(如果指定)。
    • processing time(处理时间):基于计算执行时间和截止日期的组件的处理相关延迟因素。
    • transmission time(传输时间):连接的延迟因素。如果已指定传输时间和数据大小,则使用绑定到虚拟总线或使用那些组件的延迟属性值的总线,或基于传输数据的数据大小属性值的传输时间计算。
    • queued(排队):排队造成的延迟。用于队列大小、计算执行时间和周期属性值。
    • sampling(抽样):组件定期采样造成的延迟。使用期间属性值。该值在同步和异步系统设置中可能不同。
    • delayed sampling(延迟采样):延迟连接造成的延迟。使用期间属性值。
    • sampling protocol/bus(采样协议/总线):周期性总线协议造成的延迟。使用期间属性值。
    • partition major frame(分隔主框架):由于分区的周期性执行造成的延迟。使用代表分区的虚拟处理器的ARINC653时间表或周期属性中的主要帧。
    • partition output(分区输出):由于输出到分区末端(PE)或主帧(MF)的延迟造成的延迟。使用ARINC653分区计划中的属性值。
    • partition offset(分区偏移):由于分区计划中的分区偏移造成的延迟,从主帧开始或同一计划中的较早分区开始。使用ARINC653分区计划中的属性值。
  • Max Specified:指定的最大值。
  • Max Actual:实际的最大值。
  • Max Method:最大方法。
  • Comments:备注,供了有关计算的其他详细信息,并可能会给出警告或错误消息来报告不一致的情况。

端到端延迟总结(End to end Latency Summary)

  • 在总结中,将最小和最大延迟的指定和实际延迟贡献的计算总数与预期的端到端延迟进行比较,包括相关的结果(成功、警告或错误消息)。该总结还比较了最小和最大之间的实际延迟变化是否超过与端到端流相关联的延迟范围值所指定的预期端到端延迟变化。

相关案例

  • 诊断发动机控制系统中的问题并评估几种设计方案:https://hal.archives-ouvertes.fr/hal-01292322/
  • 异构网络物理系统的增量延迟分析:http://e-archivo . uc3m . es/bitstream/handle/10016/19688/incremental _ REACTION _ 2014 . pdf
  • 步进电机案例研究:https://github.com/osate/examples/tree/master/StepperMotor
  • 其他几个例子和对它们的文档的引用:https://github.com/osate/alisa-examples

总线负载分析(Bus Load Analysis)

  • 介绍:总线负载分析查看系统中绑定到总线的连接和虚拟总线,并检查总线是否有能力承载必要的数据。
  • 范例:在osate2中,analyses\org.osate.analysis.resource.budgets.tests\models\Issue2205内的Example.aadl的实例化文件Example_top_i_Instance.aaxl2(需要自己对Example.aadl实例化生成)

使用方法

  • 选中Example_top_i_Instance.aaxl2文件,点击Analyses -> Budget -> Analyze Bus Load
  • 在reports->BusLoad下会生成分析结果

虽然分析过程中出现了一个error:Connection sub1.out4 -> sub2.in4 – Actual bandwidth > budget: 120.0 KB/s > 96.0 KB/s in modes (VB3.z2),但这并不影响我们生成分析结果。

结果分析

VB3.z1模式下的分析结果(Analysis results in modes (VB3.z1))

  • 表中显示了物理总线theBus的容量、预算、请求预算、实际情况

总线theBus的数据开销为8字节(Bus theBus has data overhead of 8 bytes)

  • 表中显示了绑定虚拟总线VB1和连接sub1.out1 -> sub2.in1的容量、预算、请求预算、实际情况

绑定到总线theBus的虚拟总线VB1有24字节的数据开销(Virtual bus VB1 bound to theBus has data overhead of 24 bytes)

  • 表中显示了绑定虚拟总线VB2和连接sub1.out2 -> sub2.in2的容量、预算、请求预算、实际情况
  • 其余表格效果类似,不再逐一解释

【OSATE学习笔记】Model Analyses 模型分析方法相关推荐

  1. 学习笔记-Matlab算法篇-分析方法

    分析方法 01方差分析 定义:用数理统计分析试验结果.鉴别各因素对结果影响程度的方法称为方差分析(Analysis Of Variance),记作 ANOVA. 我们关心的试验结果称为:指标 试验中需 ...

  2. 结合语言知识和深度学习的中文文本情感分析方法

    结合语言知识和深度学习的中文文本情感分析方法 徐康庭, 宋威 北方工业大学信息学院 摘要:在目前的中文文本情感分析研究中,基于语义规则和情感词典的方法通常需要人工设置情感阈值:而基于深度学习的方法由于 ...

  3. 【brainpy学习笔记】突触模型2——化学突触的生理学模型、电突触模型

    参考书目:<神经计算建模实战--基于brainpy> 吴思 书接上文: [brainpy学习笔记]突触模型1--化学突触的现象学模型https://blog.csdn.net/Fellyh ...

  4. 影像组学视频学习笔记(23)-主成分析PCA、降维和特征筛选的区别、Li‘s have a solution and plan.

    本笔记来源于B站Up主: 有Li 的影像组学系列教学视频 本节(23)主要讲解: 主成分析PCA,影像组学降维和特征筛选的区别 0. PCA(Principal component analysis) ...

  5. V-rep学习笔记:机器人模型创建2—添加关节

    下面接着之前经过简化并调整好视觉效果的模型继续工作流,为了使模型能受控制运动起来必须在合适的位置上添加相应的运动副/关节.一般情况下我们可以查阅手册或根据设计图纸获得这些关节的准确位置和姿态,知道这些 ...

  6. oracle数据库的model,Oracle 11g学习笔记–model子句

    Oracle 11g学习笔记–model子句 oracle 10g中新增的model子句可以用来进行行间计算.model子句允许像访问数组中元素那样访问记录中的某个列,这就提供了诸如电子表格计算之类的 ...

  7. ArcGIS模型构建器案例学习笔记-字段处理模型集

    ArcGIS模型构建器案例学习笔记-字段处理模型集 联系方式:谢老师,135-4855-4328,xiexiaokui@qq.com 由四个子模型组成 子模型1:判断字段是否存在 方法:python工 ...

  8. 【相机标定与三维重建原理及实现】学习笔记1——相机模型数学推导详解

    目录 前言 一.小孔成像模型 二.坐标系的变换 1.世界坐标系到相机坐标系的变换(刚体变换)[xw^→xc^\boldsymbol {\hat{x_{w}}}\rightarrow \boldsymb ...

  9. 小吴的《机器学习 周志华》学习笔记 第二章 模型评估与选择

    小吴的<机器学习 周志华>学习笔记 第二章 模型评估与选择 上一周我们介绍了第一章的基础概念,这一次将带来第二章的前三节.后面的2.4 比较检验与2.5 偏差与方差,涉及概率论与数理统计概 ...

最新文章

  1. The Third Revolution in Sequencing Technology 测序技术的第三次革命
  2. demo解析 小程序node.js_小程序-demo:小程序示例
  3. linux设备驱动之USB主机控制器驱动分析
  4. 春招收获阿里腾讯实习offer,学习、面试经验分享
  5. 如何联网获取北京时间
  6. 【软件工程】极限编程
  7. Java练习:tips.Print
  8. R语言基础期末大作业
  9. python编程控制安捷伦电源_agilent_n6700_series 安捷伦电源 5,labview例程 267万源代码下载- www.pudn.com...
  10. 在AndroidStudio中使用ARCore
  11. python 数组去重复
  12. 上线7天融资1.5亿,还有50多家VC在排队,子弹短信为何受追捧?
  13. 通俗讲解 依概率收敛,大数定理和中心极限定理
  14. java合成海报的工具类(二维码、头像、海报)
  15. SEdb:超级增强子数据库简介
  16. a标签 靠右对齐,a标签中的图标和文字如何上下对齐
  17. PID file not written; -detached was passed,安装rabbitmq启动失败
  18. java动态规划货车运输_多堆场集装箱卡车路径规划的混合蚁群算法
  19. 【汇智学堂】-JS菜鸟版过河小游戏(之五---开船前的控制)
  20. ijkplayer android 内存,IjkPlayer

热门文章

  1. 现在的杀毒软件真是无语的没话说
  2. 未来计算机dl攻城略地进程
  3. PyG搭建异质图注意力网络HAN实现DBLP节点分类
  4. 网络兼职赚钱项目,这5个目前很多人做!
  5. 初学者在粤嵌嵌入式技术培训期间会陷入哪些误区?
  6. 怎么word转换成html,如何将word转换成html word转html图文教程
  7. 微博数据处理——获取僵尸用户数据集(一)
  8. span和div的区别是什么?
  9. 使用jQuery实现简易音游
  10. 6个Python办公黑科技,工作效率提升100倍!HR小姐姐都馋哭了(附代码)