介绍
- 特性(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语言一样,需要自己一点点摸索。