全部学习汇总: https:///GreyZhang/hack_autosar

       继续学习AUTOSAR,看一下官方文档。

862_AUTOSAR_TPS_GenericStructureTemplate13_原语类型2_公式语言1_字符串

 

       索引属性只对数组有效

       仅当引用目标是 ApplicationArrayElement 或引用目标是属于 ARRAY 类别的 ImplementationDataType/ImplementationDataTypeElement 并且具有属性 maxNumberOfElements/arraySize 的 ImplementationDataTypeElement 时,references 中的 index 属性才有效。

       这是 [http://www.w3.org/TR/xmlschema-2] 中定义的正则表达式。到目前为止,它仍然作为 XSD 中的字符串生成。

862_AUTOSAR_TPS_GenericStructureTemplate13_原语类型2_公式语言1_元模型_02

 

       该原语表示标识工程对象的修订标签。 它表示一个模式,该模式需要三个整数,

       •从左到右分别表示 MajorVersion、MinorVersion、PatchVersion。

       •可以添加由“.”、“_”、“;”之一分隔的应用程序特定后缀。

       合适的模式例如: 4.0.0 4.0.0.1234565 4.0.0_vendor specific;13 4.0.0;12

862_AUTOSAR_TPS_GenericStructureTemplate13_原语类型2_公式语言1_元模型_03

 

       这表示一个字符串,其中的空白必须在处理之前进行规范化。

       例如:为了比较两个字符串:

       • 需要删除前导和尾随空格

       • 需要用一个空格替换连续的空格(空白、cr、lf、制表符)。

862_AUTOSAR_TPS_GenericStructureTemplate13_原语类型2_公式语言1_原语_04

 

       这个元类能够包含一个字符串和一个额外的 namePattern。

       请注意,引入这个元类只是为了解决 McDataInstance 上下文中 R4.0.3 和 R4.1.1 之间的向后兼容性问题。

862_AUTOSAR_TPS_GenericStructureTemplate13_原语类型2_公式语言1_字符串_05

 

       这种原始类型用于表示时间值。 数值应该以物理单位秒来解释。

862_AUTOSAR_TPS_GenericStructureTemplate13_原语类型2_公式语言1_元模型_06

 

       UnlimitedInteger 的实例是整数集合中的一个元素 (..., -2, -1, 0, 1, 2, ...)。

该范围受约束 2534 限制。

       该值可以用十进制、八进制、十六进制和二进制表示。 负数只能用十进制表示法表示。

862_AUTOSAR_TPS_GenericStructureTemplate13_原语类型2_公式语言1_字符串_07

 

       该原语表示需要保留空白的字符串。

862_AUTOSAR_TPS_GenericStructureTemplate13_原语类型2_公式语言1_字符串_08

 

       该原语表示需要保留空白的字符串。

       此原语适用于 xml:space 属性无法由原语类型提供但需要由容器类提供的情况。

       在 TR_APRXML_00024 的应用程序中尤其如此。

862_AUTOSAR_TPS_GenericStructureTemplate13_原语类型2_公式语言1_autosar_09

 

       无限整数的限制

       实际上 UnlimitedInteger 应受到限制,使其适合 64 位。

862_AUTOSAR_TPS_GenericStructureTemplate13_原语类型2_公式语言1_字符串_10

 

       数值的兼容性

       数值的兼容性(特别是 Float、Numerical、PositiveInteger、UnlimititedInteger)的定义与表示(float、integer.octal/hex/binary/decimal)无关:v1 和 v2 兼容当且仅当 abs(v1 − v2  ) < ε。

862_AUTOSAR_TPS_GenericStructureTemplate13_原语类型2_公式语言1_元模型_11

 

       统一资源标识符 (URI) 是用于标识或命名资源的紧凑字符串。

862_AUTOSAR_TPS_GenericStructureTemplate13_原语类型2_公式语言1_原语_12

 

       该原语表示需要保留空白的字符串。

862_AUTOSAR_TPS_GenericStructureTemplate13_原语类型2_公式语言1_字符串_13

 

       4.7 公式语言

       本章详细介绍了通用公式语言。 公式语言可用于方法学中的不同处理步骤,例如XML 处理器、C 预处理器、建模工具。

862_AUTOSAR_TPS_GenericStructureTemplate13_原语类型2_公式语言1_xml_14

 

       4.7.1 应用公式语言

       在版本 3 之前,AUTOSAR 工件无法表达依赖性,即根据其他参数值计算一个参数的值,或根据变量信息定义值。 这些用例中的每一个都表示为抽象元类 FormulaExpression 的特化,如图 4.6 所示。

862_AUTOSAR_TPS_GenericStructureTemplate13_原语类型2_公式语言1_元模型_15

 

       公式表达式的特殊化

       这些特殊化表示三种扩展:

       • 适用的操作数被指定为子类中的关联(更多详细信息,请参阅第 4.7.2.1 章中的 [TPS_GST_00001])。 图 4.7 给出了一个例子。 下面语法中的有效引用取自元模型中的角色名称。 即使不解析公式表达式,将引用保持为正式关联也允许检索依赖项。

       • 附加功能由专业化表示并记录在其上下文中(有关详细信息,请参阅第 4.7.2.1 章中的 [TPS_GST_00293])。不可能通过更多的运算符来扩展语言。

       • 特定应用限制了预期结果。 例如。 在 AttributeValueVariationPoint 中,结果由变体属性的类型给出。

       另一个例子是 swSyscond,它需要一个布尔结果。

862_AUTOSAR_TPS_GenericStructureTemplate13_原语类型2_公式语言1_元模型_16

 

       请注意,FormulaExpression 是 atpMixedString(参见第 2.3.1 章)。 因此,一个表达式可以例如依赖于多个 SwSystemconsts。

862_AUTOSAR_TPS_GenericStructureTemplate13_原语类型2_公式语言1_元模型_17

 

       4.7.2 公式语言语法

       公式和作为操作数的引用元模型对象之间的连接是通过元模型中的关联建立的,并在语法中表示为名为引用的规则(参见 [TPS_GST_00001])。

       可以通过根据 [TPS_GST_00293] 重新定义特定的令牌定义来应用特定于用例的扩展。

862_AUTOSAR_TPS_GenericStructureTemplate13_原语类型2_公式语言1_元模型_18

 

       AUTOSAR 公式语言

       AUTOSAR 公式语言使用根据 [9] 定义的以下语法。

862_AUTOSAR_TPS_GenericStructureTemplate13_原语类型2_公式语言1_元模型_19

 

862_AUTOSAR_TPS_GenericStructureTemplate13_原语类型2_公式语言1_元模型_20

 

862_AUTOSAR_TPS_GenericStructureTemplate13_原语类型2_公式语言1_元模型_21

 

862_AUTOSAR_TPS_GenericStructureTemplate13_原语类型2_公式语言1_元模型_22

 

862_AUTOSAR_TPS_GenericStructureTemplate13_原语类型2_公式语言1_autosar_23

 

862_AUTOSAR_TPS_GenericStructureTemplate13_原语类型2_公式语言1_元模型_24

 

862_AUTOSAR_TPS_GenericStructureTemplate13_原语类型2_公式语言1_原语_25

 

862_AUTOSAR_TPS_GenericStructureTemplate13_原语类型2_公式语言1_autosar_26

 

       小结:这部分其实前半段参考C语言函数的概念是很好理解的,但是到了后面,多少有一些脚本语言表达属性了。

862_AUTOSAR_TPS_GenericStructureTemplate13_原语类型2_公式语言1_xml_27

 

862_AUTOSAR_TPS_GenericStructureTemplate13_原语类型2_公式语言1_字符串_28

 862_AUTOSAR_TPS_GenericStructureTemplate13_原语类型2_公式语言1_元模型_29

 862_AUTOSAR_TPS_GenericStructureTemplate13_原语类型2_公式语言1_xml_30

 

862_AUTOSAR_TPS_GenericStructureTemplate13_原语类型2_公式语言1_元模型_31

 

       请注意以下几点:

       • 请注意,上面的语法有一个产生式规则(参见[TPS_GST_00001]),应将其视为示例。 它的定义是为了使 ANTLR 中的定义完整。 此规则根据元模型中的专用公式表示对模型元素的引用。 有关实施这些参考的更多信息,请参阅第 4.7.2.1 章。

       • 运算符的语义如表 4.62 所示

       • 支持的数学函数如表 4.63 所示

       这部分,看完了前面还没有看完的原语类型部分。又看了部分AUTOSAR公式语言的内容。关于后者,涉及到的内容比较多,后面还要继续梳理。