【OSATE学习笔记】AADL Property 属性

介绍

  • 属性值(Property Values)和我们平时代码里的变量类似。
  • 本文介绍了属性的查看方法,4种属性值的类别,6种属性状态的用法。

运行环境

  • Osate 2.10.0
  • Windows 10 x64

AADL Property Values视图

  • AADL Property Values视图用于以结构化的方式显示和编辑参数值,这通常比直接导航和操作AADL文本文件更容易。
  • 显示方式:
    • Window -> Show View -> AADL Property Values即可打开该试图
      在这里插入图片描述
    • 初始状态列表为空
      在这里插入图片描述
    • 双击任一属性,即可显示属性参数信息
      在这里插入图片描述

属性值

  • 属性值有四种类型:

    • 列表(Lists):列表值可以展开以显示其单个列表元素。
    • 文本(Records):记录值可以展开以显示其字段。
    • 范围(Ranges):范围值可以扩展以显示最小值、最大值和增量值。
    • 模式(Modes):可以扩展模式属性值,以显示每个模式的不同值。
  • 在PropertyViewerExamples这个样例的Page_220.aadl中,Sampler_B有两个属性,Programming_Properties属性的Spurce_Text值为Lists类型,Timing_Properties属性的Period值为Records类型
    在这里插入图片描述

  • 在PropertyViewerExamples这个样例的Page_88.aadl中,Received_Prime属性Data_Model的Data_Representation值为Modes类型
    在这里插入图片描述

属性状态

  • 属性状态有六种类型:

    • local:本地属性
    • local contained:本地包含属性
    • shared local contained:包含共享本地属性
    • inherited:继承属性
    • default:系统默认值
    • undefined:不明确的属性
  • 在PropertyViewerExamples这个样例的Page_88.aadl中,Received_Prime是一个继承属性
    在这里插入图片描述

local属性

  • local属性是最基本的属性,用=>就可以直接给属性赋值。
  • 在PropertyViewerExamples这个样例的Page_220.aadl中,car的属性mine具有三个local属性Car_Length、Position、Car_Name,通过如下代码来进行定义:
	device car
		properties
			mine::Car_Length => 3.25 meter;
			mine::Position => [ x => 3; y => 4; ];
			mine::Car_Name => [ US => "Rabbit"; Germany => "Golf"; ];
	end car;

在这里插入图片描述

(shared)local contained属性

  • local contained属性是在获取一个包含其他aadl文件属性的属性。
    • local contained属性是应用于单个元素的值。
    • shared local contained属性应用于同一个子句中的多个元素。
  • 在PropertyViewerExamples这个样例的Navigation.aadl中,GPS_Data是一个本地包含属性。
    • 在features内创建一个拥有Nav_Types的GPS的属性GPS_Data
		features
			GPS_Data : in data port Nav_Types::GPS;
  • 在properties内用applies to将Input_Rate属性赋值给GPS_Data
			Input_Rate => [
				Value_Range => 50.0 .. 50.0;
				Rate_Unit => perSecond;
				Rate_Distribution => Fixed;
			] applies to GPS_Data;
  • 最终实现了GPS_Data本地包含属性的创建
    在这里插入图片描述
  • 在Nav_Types中定义了GPS属性
    在这里插入图片描述

Inherited属性

  • Inherited发生在thread之间,被继承的thread会具有继承的thread的属性。
  • 在PropertyViewerExamples这个样例的Page_88.aadl中,Prime_Reporter_One继承了Prime_Reporter的属性
    在这里插入图片描述
    在这里插入图片描述

default属性

  • default属性表示所选元素的属性值没有在任何模型元素上定义,而是来自属性的默认值声明。
  • 具有default的属性通常不会显示在视图中。工具栏按钮Show default property values可用于切换的显示具有default的属性。
    在这里插入图片描述

undefined属性

  • undefined属性表示该属性对于选定的模型元素没有值。这些属性适用于选定的元素,因此它们可能具有选定属性持有者的值。
  • 具有undefined的属性通常不会显示在视图中。工具栏按钮Show undefined properties可用于切换的显示具有undefined的属性。
    在这里插入图片描述

结束

  • Property 翻译为属性合不合适我也不好说,翻译为特性、变量、特征好像也行。
  • 学习aadl的过程,好像当初学C语言一样,需要自己一点点摸索。
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

print_Hyon

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值