3.2 Acronyms and Abbreviations(首字母缩写和缩写词)
本文仅仅是个人在学习autosar时的一些不完整的笔记。
API: Application Programming Interface
AR: AUTOSAR
CAN: Controller Area Network
ECU: Electronic Control Unit
HMI: Human Machine Interface
MISRA: Motor Industry Softwore Reliability Association
RTE: Real Time Environment
SW-C: Software Component
WP: Work Package
XML: eXtensible Markup Language
5 Modeling Rules
1、负荷AUTOSAR元模型
2、对SW-Cs使用AR包区分不同供应商之间的SW-Cs。
3、 使用AR包分类区分来自供应商提供的ARPackages哪些是标准的,哪些不是。
4、每个未被AUTOSAR合作伙伴定义的元素都应包含在一个不同于AUTOSAR官方发布的AR包中,即AR包的短名称应该改变(如SUPPLIER1),类别可以根据AR包的类别分类和涉众特定的标准元素处理而改变或不改变。
5.1 使用模型元素
5.1.1 多个Ports重复使用一个Interface
Example:
在一个component type 中Temperature interface 被用于Inside Temperature and
OUTside Temperature port。
Interfaces的定义与variants相互独立:不能定义不同的Interfcae来实现Variant。可以定义一个独立与Variant的Interface,并在这个Interface上定义几个依赖于Variant的port。
将一个Interface用于多个port使Variant处理更容易理解,因为这些Interface不受Variant的影响。可以根据所选的Variant启用或禁用port。
Note:一个组件类型(component
type)只能定义一个接口(Interface),一个接口(Interface)可以同时定义多个端口(port)。
5.1.2 多个Interface重复使用一个data type
Example:
Torque data type 被用于MinimumTorqueAtClutch and
MaximumTorqueAtClutch的数据元素中。
- 5.2 使用多个 ConponentProtoTypes(组件原型)
如果在相同的构件类型条件下,大量的组件的原型A1…n具有相同的port P(或者RPort
PPort )被其他组件原型B连接,这个端口port的名称应该通过连接到组件原型Ai的port
P的名称来构造。
建议使用介词连接。
5.3 集合
相同功能的元素应该一起在模型中进行表示。
5.3.1 通过Sender Receiver Interfaces方式进行集合
如果元素通过发送和接收接口进行集群,则可以在使用具有不同行为且通常适合不同应用程序场景的三种替代方法之间进行选择:
(1)record data types
a)记录的元素以原子方式传输(在一个块中);
b)记录数据类型的元素可以具有不同的数据类型;
(2)arry data types
a)数组的元素是原子传输的(在一个块中);
b)一个数组中所有元素具有相同的data type;
(3)interfaces with multiple data elements
a)interfaces的数据元素是单独传输的
b)interfaces的数据元素能够有不同的data type;
使用记录而不是数组数据类型的优点是,每个元素都使用一个单独的名称。
5.4 未来的可扩展性
(1)不允许具有未定义含义的占位符模型元素(Placeholder model elements)。
下面的规则确保了相关模型元素对新的AUTOSAR版本的前向兼容性:
(1)标准化枚举数据类型的名称区分
如果新应用程序需要修改任何属性(Enumeration Values, Enumeration Value
Names/枚举值,枚举值名称)对于一个标准化的枚举数据类型,不应改变现有的数据类型,但应创建一个新的枚举数据类型。新数据类型的名称仅在序列号上与原始数据类型的名称不同
(2)标准化的连续数据类型名称区分
如果一个新的应用程序需要修改标准连续数据类型的任何属性(Resolution, Physical
Limits, Offset,
Unit/分辨率、物理限制、偏移量、单位),则不应更改现有的数据类型,而应创建新的连续数据类型。新数据类型的名称仅在序列号上与原始数据类型的名称不同。
(3)标准化的数组数据类型名称区分
如果一个新的应用需要修改标准化数组类型的任何属性(number of elements, type of
elements/ 元素编号
参数类型),则不应该更改现有的数组类型,而应创建一个新的数组类型。新的数组类型与已有数组类型仅在序列号上不同。
(4)标准化的记录数据类型名称的区分
如果一个新应用需要修改标准化记录数据类型的任何属性(number of elements, Elements
Name, Elements Type / 元素编号
参数名称,参数类型),则不应该更改现有的记录数据类型,而应创建一个新的记录数据类型。新的记录数据类型与已有记录数据类型仅在序列号上不同。
(5)标准化的Sender-Receiver Interfaces接口名称区分
如果一个新应用需要修改标准化Sender-Receiver Interfaces接口的任何属性(number of
data elements, name of the data elements, type of the data elements/
数据参数编号 数据参数名称,数据参数类型),则不应该更改现有的Sender-Receiver
Interfaces接口,而应创建一个新的Sender-Receiver
Interfaces接口。新的Sender-Receiver Interfaces接口与已有Sender-Receiver
Interfaces接口仅在序列号上不同。
(6)标准化的Client-Server Interfaces名称区分
如果一个新应用需要修改标准化Client-Server Interfaces接口的任何属性(operation
name, number of arguments, argument names, argument data types, argument in/out
property /
操作名称,参数编号,参数名称,数据参数类型,参数属性),则不应该更改现有的Client-Server
Interfaces接口,而应创建一个新的Client-Server Interfaces接口。新的Client-Server
Interfaces接口与已有Client-Server Interfaces接口仅在序列号上不同。
6 AUTOSAR Model Elements的命名规则
命名规则适的范围:名称规则适用于以下模型元素
(1):SwConponentType
(2):SwConponentPrototype
(3):ApplicationDataType
(4):Units
(5):PhysicalDimensions
(6):PortInterfaces
(7):PortPrototypeBlueprints
(8):PortPrototypes
(9):DataPrototypes
(10):CompuMetheds
(11):DataConstrs
(12):Keywords
本文档中定义的命名规则侧重于为构建三个主要Autosar初始模型元素的内容定义规则:
(1)longName属性,派生自MultilanguageReferrable抽象类
(2)shortName属性,派生自abstract class Referrable
(3)Keywords和Keywords abbreviations
6.1 通用的rules of longName
(1)在application interface 中强制使用longName
(2)longName结构由英文的大小写字母构成:未来提高可读性:
a)longName的第一个字母以大写开始;
b)longName的其他单词也以大写字母开头;
c)冠词(“a”,“an”,“the”)、介词(“at”,“for”,“by”,“to”,“in”等)、连词(“and”,“or”等)以小写字母开头。
(4)在longName文本行中单词之间以空格键进行约束。
(5)尽量避免使用缩写。如有必要,只有众所周知的缩写词才能用于长名称。如果有,所有的缩写都需要在描述中解释。
(6)功能和系统的缩写应使用关键字(例如“ABS”)。如果这个缩写不太为人所知,就把它放在括号中,例如“Application
Interface(AI)”。
(7)长名称不应包含尾号/序列号,以避免多个条目具有相同的长名称。
(8)长名称的基础应该是短名称的扩展形式。
(9)语序可以改变,可以增加附加项。为了增加可理解性,可以交换单个术语。
(10)longName的最大长度应该限制在80个字符以内。
6.2. 通用的rules of shortName
<SHORT-NAME>MyName</SHORT-NAME>
(1)采用English命名;
(2)shortName应当介于1和128个字符长,从一个字母开始,由字母和数字组成;
(3)禁止使用下划线分离关键字;
(4)不能只从大小写上区分shortName;(The following example lists not allowed
name differentiation:
Short name 1: DoorLocked
Short name 2: doorLocked)
(5)在C、c++和C预处理器的源代码中,名称必须是可用的有效标识符;
(6)素的名称应记载其意义或用途;
(7)不允许使用前缀(Prefixes)标识shortName元素。
6.3 Model Level and the Implementation Level的联系
6.3.1 Length Restrictions
RTE
Specification(AUTOSAR_SWS_RTE.pdf)包含关于如何将模型级名称映射到实现级生成的名称的规则。
6.3.2 data types
数据类型名称应符合C/ c++类型名称;
6.3.3 RTE rules of name mapping
The following RTE requirements describe the mapping from modeling level to
implementation level:
(1)SWS_Rte_1153
(2)SWS_Rte_3837
这些SWS_Rte rules
定义了一个系列,在系列中,将模型中的shortname联系起来,以获得RTE
C代码生产的函数名。
Examples:
a)ShortName of component type: Wshr
b)ShortName of the component prototype: WshrFrnt
c)ShortName of runnable entity: Monr
d)ShortName of provide port: OutdT
e)ShortName of sender-receiver interface of this port: T1
f)ShortName the data element: Val
SWS_Rte_3837规则生成函数代码名称的例子:
Rte_IRead_Monr_OutdT_Val
Rte_IRead_Wshr_Monr_OutdT_Val
6.4 Keywords的使用
6.4.1 Keyword Composition Semantic Rules
下列属性对Keywords进行描述:
(1)shortName: 表示Keyword的唯一名称,它不涉及名称构造;
(2)longName: 表示Keyword的长形式;
(3)description:表示Keyword的定义;
(4)abbrName:Keyword的缩写,用于构件shortName;
(5)classification:描述keyword的语义范围(MeanEnvironment-Device,
Action-PhysicalType, Condition-Qualifier, Index,Preposition)
Example:
Definition of keyword describing the driver of a vehicle
longName : Driver
abbrName: Drvr
使用示例(以abbrName attribute作为shortName of ports):
DrvrProf, DrvrDoorLockSt
(6)使用下划线(underscores)分离Keywords是无效的;不应使用下划线来分隔短名称中的关键字缩写(abbrName属性),因为RTE使用它们来分隔port名称和data
element名称。而不是强调运用大写字母区分关键词缩写。
(7)Keyword应该以大写字母或者number开始,后面用小写字母或“-”;
Examples: Keyword abbreviation (abbrName): “Apil”,
Long Name of Keyword: “A-Pillar”
(8)shortName由keyword缩写构成,每个关键字必须以大写字母或数字开头,后跟小写字母,longName后可用“-”。
(9)关键字缩写(abbrName属性)不应是一个有效的英文单词,除非该关键字与英文单词的意思相同。这避免了读短名字时可能产生的误解。
The following example is not a valid short name, because non-abbreviated
keywordsare used: EngineSpd. The correct short name would be: EngSpd.
可能出现的情况是,一些长名称形式不同的关键字需要以相同的方式缩写,因为不同的科学或技术社区通常在其领域采用众所周知和广泛接受的缩写或缩写。这些缩写词和缩写可以是完全相同的,即使代表不同的内容。
(10)特殊的关键字作为众所周知的缩写词;
Examples: Keyword abbr.: “Abs”, Long Name of Keyword: “ABS”
Keyword abbr.: “Nox”, Long Name of Keyword: “NOx”
(11)Semantic rules:
序列 | 语义领域命名 | Description | Rules和Examples |
---|---|---|---|
1 | Mean-Environment-Device | 物理名称, | 它应是一个名词。它也可以是合成词定义。缩写或首字母缩写不能以number结束。 |
2 | Action- Physical Type | Action-Physical Type调节或修饰Mean-Environment-Device | Action是一个动词,Physical Type是一个名词,也可以是一个复合词。缩写或首字母缩写不能以number结束。 |
3 | Condition-Qualifier | 在数据流、事件发布或信号的特定条件的数值处理、时间有效性、分割质量、位置方面对MeanEnvironmentDevice或ActionPhysicalType进行限定。 | 应该是noun or adjective. 也可以是复合词的定义。 |
4 | Index | 将信号标识为逻辑结构信息的一部分。可用于标识元素多样性实例(索引)或信息段。 | a number,a single character or an adjective describing the part. |
5 | Preposition | 用于连接/分离由多个语义字段组成的复杂命名模式 | Example:EngSpdAndPosn |
环境,
定义Action-PhysicalType的主题
Examples for Mean: Fuel
Examples for Environment: Air, Ambient
Examples for Device: Accelerator,
AcceleratorPedal, Engine
Examples for Action: Move, Pull, Release, Lock,OpenClose, ShiftUp
Examples for Physical Type: Temperature, Speed
Examples for Condition: Absolute, Old, New, AbsoluteEstimated
Examples for Qualifier: Request, Command,Status
the last keyword in thesequence:
Examples for Index: BrakeSwitch1
CoolgReqFromSteer
TqActAtClu
(1)根据语义对预定义关键词和abbr进行分类。
(2)Semantic fields的顺序:FieldBlock:
Mean-Environment-DeviceAction-PhysicalTypeCondition-QualifierIndex
(3)Sematic fields不受限制;能够重复使用。
The following examples are valid short names:
GearAct
MirrMoveCmd
EngSpd
EngSpdMax
建议:如果一个语Semantic
fields包含一个以上的关键字,要么按照自然的英语顺序排列,要么把最重要的关键字放在前面。
以最重要的信息为开头,以非常特殊的细节结束。(enssure that the shortName start
with the most essential information and end with special detials)
SenderReceiverInterface应该是可重用的元素。名称应该独立于组件和端口的具体用法,并且应该只反映其一般用途。
为了允许重用,不应该在接口名称中编码通信路径(使用接口表示端口的源或目标)。
6.5.3 VariableDataPrototype:
(1)应该只与SenderReceiverInterface相关。
(2)每个SenderReceiverInterface应该是唯一的名称。
Rules:
(1)名称反映数据内容:名称应反映数据的内容。如果找不到数据元素的合理名称,并且接口用于指示数据传输,则建议使用Val(value)名称。
(2)名字反映操作:如果数据元素原型不包含值信息,但包含操作,则名称应反映由数据元素原型驱动的操作。
如果找不到数据元素原型的合理名称,并且接口用于指示操作,则应使用名称Oper(opreation)。
(3)表示相同操作的多个数据:如果SenderReceiverInterface包含表示相同操作的多个数据元素原型,则必须使用“Mean-Environment-Device”关键字来区分这些操作。这里的“operation”不是在ClientServerInterface操作的意义上使用的,而是作为一个“operation”或“action”,它是由一个SenderReceiver通信触发的。“Operation”也不等同于语义场“Action”。
6.5.4 ApplicationDataType
Exmaple:
ApplicationPrimitiveDataType (APPLICATION-PRIMITIVE-DATA-TYPE)
ApplicationRecordDataType (APPLICATION-RECORD-DATA-TYPE)
ApplicationArrayDataType (APPLICATION-ARRAY-DATA-TYPE)
Rules:
(1)命名反应类型的含义;
(2)不允许使用前缀;
(3)不允许反应array长度的信息;
(4)在datatypes命名中可以使用序号;
Example:
Temperature1 T1
Temperature2 T2
Temperature3 T3
(5)在命名中不出现通信信息;