介绍
- 属性值(Property Values)和我们平时代码里的变量类似。
- 本文介绍了属性的查看方法,4种属性值的类别,6种属性状态的用法。
运行环境
- Osate 2.10.0
- Windows 10 x64
目录
AADL Property Values视图
- AADL Property Values视图用于以结构化的方式显示和编辑参数值,这通常比直接导航和操作AADL文本文件更容易。
- 显示方式:
- Window -> Show View -> AADL Property Values即可打开该试图
- 初始状态列表为空
- 双击任一属性,即可显示属性参数信息
- 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语言一样,需要自己一点点摸索。