1、_SAE Technical Standards Board Rules provide that: “This report is published by SAE to advance the state of technical and engineering sciences. The use of this report is entirely voluntary, and its applicability and suitability for any particular use, including any patent infringement arising theref
2、rom, is the sole responsibility of the user.” SAE reviews each technical report at least every five years at which time it may be reaffirmed, revised, or cancelled. SAE invites your written comments and suggestions. Copyright 2011 SAE International All rights reserved. No part of this publication ma
3、y be reproduced, stored in a retrieval system or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of SAE. TO PLACE A DOCUMENT ORDER: Tel: 877-606-7323 (inside USA and Canada) Tel: +1 724-776-4970 (outside US
4、A) Fax: 724-776-0790 Email: CustomerServicesae.org SAE WEB ADDRESS: http:/www.sae.orgSAE values your input. To provide feedback on this Technical Report, please visit http:/www.sae.org/technical/standards/AS5506/2AEROSPACESTANDARDAS5506/2 Issued 2011-01SAE Architecture Analysis and Design Language (
5、AADL) Annex Volume 2: Annex B: Data Modeling Annex Annex D: Behavior Model Annex Annex F: ARINC653 Annex RATIONALEThe purpose of the annexes in this document are to provide guidance on how to associate data models expressed in other notations with an architecture model expressed in AADL, to enable m
6、odeling of component and component interaction behavior in a state-machine based annex sublanguage, and to provide guidance on how to model ARINC653 compliant partitioned embedded system architectures in AADL models. This Architecture Analysis use square brackets to indicate text to be omitted and c
7、urly braces to indicate text to be added, and provide enough context to make the nature of the suggestion self-evident or put additional information in the body of the comment, for example:!topic cCharacter !topic its meaning is not defined SAE AS5506/2 Page 7 of 742. REFERENCES The following public
8、ations form a part of this document to the extent specified herein. The latest issue of SAE publications shall apply. The applicable issue of the other publications shall be the issue in effect on the date of the purchase order. In the event of conflict between the text of this document and referenc
9、es cited herein, the text of this document takes precedence. Nothing in this document, however, supersedes applicable laws and regulations unless a specific exemption has been obtained. 2.1 Normative References The following normative documents contain provisions that, through reference in this text
10、, constitute provisions of this standard.2.1.1 SAE Publications Available from SAE International, 400 Commonwealth Drive, Warrendale, PA 15096-0001, Tel: 877-606-7323 (inside USA and Canada) or 724-776-4970 (outside USA), www.sae.org.AS5506A Architecture Analysis there is no mechanism to reference o
11、r interact with entities inside this data component at model-level. SAE AS5506/2 Page 9 of 74(4) Second option is to use AADL mechanism to provide access to data type members or access methods to the data type represented by the data model. Data type members are expressed as subcomponents and access
12、 wethods are expressed as provides subprogram access features in the AADL data type and implementation declaration Explicitly declaring members as data subcomponents gives more control on the architectural mapping of the members, such as memory layout, or access policies. Note: these two options are
13、 notionally equivalent. No matter which option is chosen in the declarative AADL model, the second option(use of subcomponents) is the one used internally in the AADL processing tools to represent and manipulate arrays and structures. This allows treating both options in a uniform way. (5) The follo
14、wing properties further characterize representation of numeric values: Data_Digits, Data_Scale for specifying the precision of fixed-point types, IEEE754_Precision for float types and Number_Representationfor integer types. Three other properties are intended to specify constraints on the numerical
15、data, namely range constraints (Real_Range, Integer_Range) and the measurement unit in which the data values are intended to be interpreted (Measurement_Unit).(6) The Code_Set property allows for the specification of the character set to be used in string and character data types. (7) The Enumerator
16、s property allows for the specification of the literal values to be used in an enumeration data type. (8) The low-level representation of Enumerators can be defined using the Representation property. (9) The Initial_Value property allows for specification of the initial value of a data component. No
17、te: AADLV2 proposes standard properties to define data types. For instance, the fact that a data component in the source textrepresents a constant is recorded by the Access_Right property with the value Read_Only. Other properties exist to specify the memory requirements of a data type, the concurre
18、ncy protocol to access it, etc. (10) An implementation method may restrict the combinations of properties from this property set, and the property from the AADL core.Note: the rationale is to ensure there is one single definition of a data type, either as defined using this annex, or using coremecha
19、nisms with Source_Language, Type_Source_Name.Annex B.3 Data Modeling Property Set property set Data_Model isBase_Type : list of classifier ( data ) applies to ( data ); The Base_Type property specifies the base type of a data component type. The classifiers being referenced are those defined in the
20、Base_Types package or from user defined packages. Code_Set : aadlintegerapplies to ( data ); The Code_Set property is used to specify the code set used to represent a character or a string. The value applied is the registered value affected and defined in the “OSF character and Code Set Registry” by
21、 the OSF. This document is available at http:/www.opengroup.org/dce/info/.Data_Digits : aadlintegerapplies to ( data ); The Data_Digits property specifies the total number of digits of a fixed-point type. Data_Scale : aadlintegerapplies to ( data ); SAE AS5506/2 Page 10 of 74The Data_Scale property
22、defines the scale of the fixed-point types (10*(-scale) is the precision).Data_Representation : enumeration(Array, Boolean, Character, Enum, Float, Fixed, Integer, String, Struct, Union)applies to ( data ); The Data_Representation property may be used to specify the representation of simple or compo
23、site data types within the programming language source code. Note: An implementation is allowed to support only a subset of these types. Dimension : list of aadlintegerapplies to ( data ); The Dimension property is used to specify the dimensions of a multi-dimensional array, the ithvalue in the list
24、 representing the ithdimension of the array. This property shall be used in conjunction with the Data_Representation property. Element_Names : list of aadlstringapplies to ( data ); The Element_Names provides the names of a struct or union members in order of appearance as defined by the Base_Type p
25、roperty. Enumerators : list of aadlstringapplies to ( data ); The Enumerators provides the list of enumeration literals attached to an enumeration data component.IEEE754_Precision : enumeration ( Simple, Double )applies to ( data ); The IEEE754_Precision property indicates, for a float data componen
26、t type, the precision used. This property is derived from the notion of precision per the 754-1985 IEEE Standard for Binary Floating-Point Arithmetic. Initial_Value : list of aadlstringapplies to ( data, port, parameter ); Initial_Value specifies a list of initial values for a data component or port
27、 in string form. For a subprogram parameter, it defines a default value. It can be used to represent initial values other than strings as string. This (list of) string is interpreted by the source language processor. In this case, the core AADL language processor does not check consistency of the in
28、itial values with the data type of the data component. Integer_Range : range of aadlintegerapplies to ( data, port, parameter ); Integer_Range specifies a range of integer values that apply to the data component. This property is used to represent integer range constraints on data that is of some in
29、teger type. Measurement_Unit : aadlstringapplies to ( data, port, parameter ); The Measurement_Unit property specifies the measurement unit of the data being communicated. A full list of recommended name for units, as part of the SI standard is proposed by the International Bureau of Weight and Meas
30、ures: http:/www.bipm.org/en/si/.SAE AS5506/2 Page 11 of 74Note: this should not be mixed with AADL units, which specify units to be applied to properties, e.g. threads period, bandwidth usage that belong solely to the architecture modeling Number_Representation : enumeration (Signed, Unsigned)applie
31、s to ( data ); Number_Representation specifies whether an integer data component is signed or unsigned. Real_Range: range of aadlreal applies to ( data, port, parameter ); Real_Range specifies a range of real values that apply to the data component. This property is used to represent real range cons
32、traints on data that is of some real type. Representation : list of aadlstringapplies to ( data ); Representation specified the actual representation of enumerators value.end Data_Model; Annex B.4 Predeclared AADL Package for Basic Data Types (1) This AADL package defines a set of basic types for us
33、e as data component types in AADL models. Typically, they can be used to represent the base type of a data component or port. Note: These data types are different from the built in property types such as aadlinteger, aadlreal, aadlboolean, or aadlstring. The latter denote types manipulated to repres
34、ent entities of the AADL model, whereas the types defined below represent types manipulatedby the system being modeled. (2) This package belongs to the set of models defined by the AADL V2. Implementations of AADL tools are allowed to add additional properties to clarify some elements of a data comp
35、onent (e.g. project specific limits) or to help model processing.(3) Implementations are not allowed to modify the values of the properties defined for the types defined below. (4) A method of implementation may restrict the types from this package that are supported, e.g. to generate code, to refle
36、ct implementation limits. package Base_Typespublicdata BooleanpropertiesData_Model:Data_Representation = Boolean;end Boolean;data Integerproperties Data_Model:Data_Representation = Integer;end Integer;- Signed integer of various byte sizes data Integer_8 extends IntegerSAE AS5506/2 Page 12 of 74prop
37、ertiesData_Model:Number_Representation = Signed; Source_Data_Size = 1 Bytes; end Integer_8;data Integer_16 extends Integerproperties Data_Model:Number_Representation = Signed; Source_Data_Size = 2 Bytes; end Integer_16;data Integer_32 extends Integerproperties Data_Model:Number_Representation = Sign
38、ed; Source_Data_Size = 4 Bytes; end Integer_32;data Integer_64 extends Integerproperties Data_Model:Number_Representation = Signed; Source_Data_Size = 8 Bytes; end Integer_64;- Unsigned integer of various byte sizes data Unsigned_8 extends Integerproperties Data_Model:Number_Representation = Unsigne
39、d; Source_Data_Size = 1 Bytes; end Unsigned_8;data Unsigned_16 extends Integerproperties Data_Model:Number_Representation = Unsigned; Source_Data_Size = 2 Bytes; end Unsigned_16;data Unsigned_32 extends Integerproperties SAE AS5506/2 Page 13 of 74Data_Model:Number_Representation = Unsigned; Source_D
40、ata_Size = 4 Bytes; end Unsigned_32;data Unsigned_64 extends Integerproperties Data_Model:Number_Representation = Unsigned; Source_Data_Size = 8 Bytes; end Unsigned_64;data Natural extends IntegerpropertiesData_Model:Integer_Range = 0 Max_Target_Integer; end Natural;data Floatproperties Data_Model:D
41、ata_Representation = Float;end Float;data Float_32 extends FloatpropertiesData_Model:IEEE754_Precision = Simple;Source_Data_Size = 4 Bytes;end Float_32;data Float_64 extends FloatpropertiesData_Model:IEEE754_Precision = Double;Source_Data_Size = 8 Bytes;end Float_64; data Characterproperties Data_Mo
42、del:Data_Representation = Character;end Character;data Stringproperties Data_Model:Data_Representation = String;end String;end Base_Types;SAE AS5506/2 Page 14 of 74Annex B.5 Examples (1) This AADL package lists some examples of the AADL modeling property sets. package Base_Types:Example_Types public
43、with Data_Model, Base_Types; data One_Dimension_ArraypropertiesData_Model:Data_Representation = Array; Data_Model:Base_Type = (classifier (Base_Types:Integer); Data_Model:Dimension = (42); end One_Dimension_Array; data Two_Dimensions_Array propertiesData_Model:Data_Representation = Array; Data_Model
44、:Base_Type = (classifier (Base_Types:Integer);Data_Model:Dimension = (74, 75); end Two_Dimensions_Array; - Two equivalent ways to define a structure with named - elements data A_Struct1propertiesData_Model:Data_Representation = Struct; Data_Model:Base_Type = (classifier (Base_Types:Float),classifier
45、 (Base_Types:Character); Data_Model:Element_Names = (“f1“, “c2“); end A_Struct1; data A_Struct2propertiesData_Model:Data_Representation = Struct; end A_Struct2;data implementation A_Struct2.impl subcomponentsf1 : data Base_Types:Float; c2 : data Base_Types:Character; end A_Struct2.impl;SAE AS5506/2
46、Page 15 of 74- Two equivalent ways to define a union with named elements data A_Union1propertiesData_Model:Data_Representation = Union; Data_Model:Base_Type = (classifier (Base_Types:Float), classifier (Base_Types:Character); Data_Model:Element_Names = (“f1“, “f2“); end A_Union1; data A_Union2proper
47、tiesData_Model:Data_Representation = Union; end A_Union2;data implementation A_Union2.impl subcomponentsf1 : data Base_Types:Float; c2 : data Base_Types:Character; end A_Union2.impl;data An_Enum propertiesData_Model:Data_Representation = Enum; Data_Model:Enumerators = (“foo“, “bar“); Data_Model:Repr
48、esentation = (“00“, “11“); end An_Enum; data A_Fixed_Point propertiesData_Model:Data_Representation = Fixed; Data_Model:Data_Digits = 18; Data_Model:Data_Scale = 8; end A_Fixed_Point; data A_Kanji extends Base_types:Character propertiesData_Model:Code_Set = 16#30001#;SAE AS5506/2 Page 16 of 74- ISO
49、code for Japanese characters end A_Kanji; data Russian_Strings extends Base_Types:String propertiesData_Model:Code_Set = 16#15#;- ISO code for Cyrillic characters end Russian_Strings; data Bounded_Strings extends Base_Types:String propertiesData_Model:Dimension = (10); end Bounded_Strings; - Representation of a type defined in another modeling- notation, or pr
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1