(ver:19-11)AUTOSAR_TPS_ManifestSpecification(。。。
AUTOSAR AP的版本为: 19-11
因为pdf⽂档⼀共⼋百多页,只有13章的样⼦,因此基本平均每章都有⼀百多页,都很长,所以在这⾥将其拆分开来记录。
3 Application Design
3.1 Overview
本章描述了适⽤于在AUTOSAR⾃适应平台上创建应⽤程序软件的所有与设计相关的建模。这也扩展到AUTOSAR经典平台上使⽤的现有建模的扩展,例如引⼊属性类别的新值。
特别是,本节将重点介绍以下⼏个⽅⾯:
AUTOSAR⾃适应平台SwComponentType专⽤⼦类的定义(section 3.2) 。
AUTOSAR⾃适应平台专⽤数据类型的定义(section 3.3)。
服务接⼝是⾯向服务通信的关键要素 (section 3.4)。
服务接⼝映射作为内部和外部通信之间的中介 (section 3.5)。
服务接⼝元素映射作为内部和外部通信之间的中介 (section 3.6)。
持久接⼝作为与持久数据存储交互的基础(section 3.8)。
从软件组件内部看与“外部世界”交互的细粒度配置(section 3.13)。
Executable作为最⼩可执⾏单元(section 3.14)。
转换属性的配置(section 3.16)。
3.2 Software
原则上,可以直接接管ApplicationSwComponentType的定义,以便在AUTOSAR⾃适应平台上使⽤。但是,这会使关于AUTOSAR⾃适应平台专有的模型元素(例如:数据类型,如第3.3节中所述)的存在的约束条件的制定变得复杂。因
此,AdaptiveApplicationSwComponentType被定义为AUTOSAR⾃适应平台上软件组件的表⽰。
AdaptiveApplicationSwComponentType的存在提供了⼀种便捷的⽅法(请参见[constr_1492]),从⽽
可以从AUTOSAR⾃适应平台上的使⽤中锁定为AUTOSAR经典平台定义的⼤多数软件组件。
相反⽅向的澄清(即AdaptiveApplicationSwComponentType的错误使⽤)不太明显。
换句话说,可以在系统中使⽤AdaptiveApplicationSwComponentType作为AUTOSAR经典平台和AUTOSAR⾃适应平台上软件的某种总体设计模型。
但是,到⽬前为⽌,这⼀⽅⾯还没有得到澄清,也没有限制AdaptiveApplicationSwComponentType出现在系统上下⽂中。本规范的较新版本可能会修复缺少的规则。
Class AdaptiveApplicationSwComponentType
Package M2::AUTOSARTemplates::AdaptivePlatform::ApplicationDesign::ApplicationStructure
Note 这个元类表⽰在AUTOSAR⾃适应平台上⽀持应⽤软件形式化建模的能⼒。因此,只能在AUTOSAR⾃适应平台上使⽤。
Tags: atp.Status = draft endedPackage=AdaptiveApplicationSwComponentTypes
Base ARElement, ARObject, AtpBlueprint, AtpBlueprintable, AtpClassifier, AtpType, CollectableElem
ent, Identifiable, MultilanguageReferrable, PackageableElement, Referrable, SwComponentType
Attribute Type Mult.Kind Note
internalBehavior AdaptiveSwcInternal
Behavior
0..1aggr
此聚合表⽰AUTOSAR⾃适应平台的
AdaptiveApplicationSwComponentType的内部⾏为。
Stereotypes: atpSplitable; atpVariation Tags: atp.Splitkey=internalBehavior,
variationPoint.shortLabel atp.Status=draft
variationPoint.shortLabel atp.Status=draft
vh.latestBindingTime=preCompileTime
Table 3.1: AdaptiveApplicationSwComponentType
Class AdaptiveSwcInternalBehavior
Package M2::AUTOSARTemplates::AdaptivePlatform::ApplicationDesign::AdaptiveInternalBehavior
Note 这个元类表⽰定义AUTOSAR⾃适应平台上使⽤的AtomicSwComponentType的内部⾏为的能⼒请注意,本例中的内部⾏为模型与AUTOSAR经典平台的情况形成鲜明对⽐,是⾮常⼩的
Tags: atp.Status = draft
Base ARObject, Identifiable, MultilanguageReferrable, Referrable Attribute Type Mult.Kind Note
serviceDependency SwcServiceDependency*aggr 这表⽰AdaptiveInternalBehavior拥有的SwcServiceDependencys的集合
Tags: atp.Status=draft
Table 3.2: AdaptiveSwcInternalBehavior
3.3 Data Type
3.3.1 Overview
AUTOSAR⾃适应平台上的数据类型规范遵循与AUTOSAR经典平台上的数据类型相同的模式:数据类型定义在不同的抽象级别上,这些抽象级别相互补充。在本⽂中,重点讨论ApplicationDataTypes和cpppimplementationdatatypes。
⼀般来说,关于数据类型定义的⼤多数概念可以从AUTOSAR经典平台上的现有规范中获得。但是,某些⽅⾯是AUTOSAR⾃适应平台特有的,因此在本⽂档的范围内进⾏了讨论,⽽不是AUTOSAR软件组件模板的规范[1]。
可以从AUTOSAR经典平台沿⽤的⽅⾯之⼀是初始值的定义。虽然初始值的效⽤在AUTOSAR⾃适应平台上肯定是有限的,但是在所谓的Fields的上下⽂中有机会利⽤初始值的定义(参见[TPS_MANI_01034])。
3.3.2 ApplicationDataType
AUTOSAR经典平台⽀持的ApplicationDataTypes的完整建模范围也可以直接⽤于AUTOSAR⾃适应平台。
除了AUTOSAR经典平台⽀持的ApplicationDataTypes之外,还有更多的ApplicationDataTypes(原则
上也可以在AUTOSAR经典平台上使⽤)主要⽤于AUTOSAR⾃适应平台并为其设计。
Class ApplicationDataType (abstract)
Package M2::AUTOSARTemplates::SWComponentTemplate::Datatype::Datatypes
Note
application data type从应⽤程序的⾓度定义数据类型。尤其是当“物理”受限时应该使⽤它。ApplicationDataType代表在应⽤程序模型中看到的⼀组值,例如度量单位。 它不考虑实现细节,例如位⼤⼩,字节序等。
应该可以只使⽤ApplicationData类型对VFB系统的应⽤程序级⽅⾯进⾏建模。
Base ARElement, ARObject, AtpBlueprint, AtpBlueprintable, AtpClassifier, AtpType, AutosarDataType, CollectableElement, Identifiable, MultilanguageReferrable, PackageableElement, Referrable
Subclasses ApplicationCompositeDataType, ApplicationPrimitiveDataType
Attribute Type Mult.Kind Note
-----
Table 3.3: ApplicationDataType
3.3.2.1 String Data Type
虽然对于表⽰⽂本字符串的数据类型的处理与AUTOSAR经典平台和AUTOSAR⾃适应平台上ApplicationDataTypes的定义⾮常相似,但对于AUTOSAR⾃适应平台上cpppimplementationdatatypes的级别,有特殊的规定。
有关在cpppimplementationdatatype级别上对字符串数据类型建模的更多信息,请参阅第3.3.3.4节。
为了保持⼀致性,本章总结了ApplicationDataTypes的建模,以便对AUTOSAR⾃适应平台所涉及的表⽰⽂本字符串的数据类型进⾏建模。
⽤于定义类别STRING的ApplicationPrimitiveDataType的元类如图3.1所⽰。
Figure 3.1: Specification of textual strings
请注意,由于使⽤的编程语⾔的数据类型⽐普通C语⾔更丰富,因此在AUTOSAR⾃适应平台上为给定的语⾔绑定预定义了类别字符串的ApplicationPrimitiveDataType的实现。
[TPS_MANI_01047]{DRAFT} 存在类别STRING的ApplicationPrimitiveDataType的SwRecordLayout:对于在AUTOSAR⾃适应平台上使⽤类别STRING的ApplicationPrimitiveDataType,存在applicationionPrimitiveDataType.swDataDefProps. 应忽略swRecordLayout。(RS_MANI_00016)
请注意**[TPS_MANI_01047]**故意不禁⽌SwRecordLayout的存在,是因为同⼀个类别STRING的
ApplicationPrimitiveDataType可以在AUTOSAR⾃适应平台和AUTOSAR经典平台上都能正确地使⽤。
Class ApplicationPrimitiveDataType
Package M2::AUTOSARTemplates::SWComponentTemplate::Datatype::Datatypes
Note
基本数据类型定义了⼀组允许的值。
endedPackage=ApplicationDataTypes
Base ARElement, ARObject, ApplicationDataType, AtpBlueprint, AtpBlueprintable, AtpClassifier, AtpType, AutosarDataType, CollectableElement, Identifiable, MultilanguageReferrable, PackageableElement, Referrable
Attribute Type Mult.Kind Note -----
Table 3.4: ApplicationPrimitiveDataType
Class SwTextProps
Package M2::MSR::DataDictionary::DataDefProperties
Note
这个元类表⽰适⽤于变量或校准参数中字符串的特定属性。endedPackage=ApplicationDataTypes
Base ARObject
Attribute Type Mult.Kind Note
arraySizeSemantics ArraySizeSemanticsEnum1attr
此属性控制表⽰实现数据类型中字符串的数组的数组⼤⼩的语义。
它⽀持ApplicationDatatype和ImplementationDatatype之间的安全转换,即使是需要的可变长度字符串,例如⽀持SAE J1939
baseType SwBaseType0..1ref 这是字符串中⼀个字符的基类型。特别是,此baseType表⽰ApplicationData类型级别上字符串中字符的预期编码
Tags:xml.sequenceOffset=30
swFillCharacter Integer0..1attr
填充最⼤长度swMaxTextSize的⽂本参数的填充字符
该值将根据数据对象的相关基类型中指定的编码进⾏解释,例如0x30(⼗六进制)表⽰ASCII字符零作为填充字符,0(⼗进制)表⽰字符串的结束作为填充字符
填充字符的使⽤取决于数组化语义。
Tags:xml.sequenceOffset=40
swMaxTextSize Integer1attr 指定最⼤⽂本⼤⼩(以字符为单位)。注意字节的⼤⼩取决于相应基类型中的编
码。
Stereotypes:atpVariation Tags: vh.latestBindingTime=preCompileTime
xml.sequenceOffset=20
Table 3.5: SwTextProps
3.3.2.2 Associative Map Data Type
[TPS_MANI_01027]{DRAFT} ApplicationAssocMapDataType的语义: ApplicationAssocMapDataType表⽰关联数据结构,即所谓的键(形式化为ApplicationAssocMapDataType.key,依次由ApplicationDataType键⼊)与值(形式化为ApplicationAssocMapDataType.value,也由ApplicationDataType键⼊)关联的数据结构。(RS_MANI_00016)
[constr_3349] {DRAFT}ApplicationAssocMapDataType的使⽤是受到限制的: ApplicationAssocMapDataType的使⽤仅限于在可执⾏⽂件上下⽂中定义的AdaptiveApplicationSwComponentTypes和CompositionSwComponentTypes的上下⽂,即此类数据类型不应在AUTOSAR classic平台上使⽤。
[constr_3349] 是⼀种形式化的⽅法,⽤于表⽰ApplicationAssocMapDataType只能在AUTOSAR⾃适应平台上使⽤。
[TPS_MANI_01016]{DRAFT}ApplicationAssocMapDataType 的类别:ApplicationAssocMapDataType.category 的值应设置为属性的关联映射(ASSOCIATIVE_MAP)。
图3.2描述了ApplicationAssocMapDataType的结构⽰例。
如图3.2所⽰,分类图的ApplicationDataType的概念不应与ApplicationAssocMapDataType混淆。
在运⾏时使⽤关联数据结构有许多技术含义,例如,在整个数据结构的上下⽂中,每个键的内容应是唯⼀的。另⼀⽅⾯,如果值端的内容包含重复项,则完全没有问题,例如,两个唯⼀键与具有完全相同内容的值相关联。但是,这些⽅⾯对ApplicationAssocMapDataType的形式化模型没有任何影响,
因此本⽂档中不考虑这些⽅⾯。
ApplicationAssocMapDataType的建模有点简单,其动机主要是需要定义键和值的数据类型。
没有假设关联映射的实现的结构可能是什么样⼦的。例如,在C++(它是⽬前唯⼀⽀持的AutoSar⾃适应平台上的语⾔绑定)中,使⽤关联映射的直接⽅式是利⽤容器ara::core::Map(其中实现对客户端程序员不透明)。
Class ApplicationAssocMapDataType
Package M2::AUTOSARTemplates::AdaptivePlatform::ApplicationDesign::ApplicationDataType
Note
⼀种应⽤程序的数据类型,它是⼀个映射,由⼀个键和⼀个值组成。Tags: atp.Status=endedPackage=ApplicationDataTypes
Base ARElement, ARObject, ApplicationCompositeDataType, ApplicationDataType, AtpBlueprint, Atp
Blueprintable, AtpClassifier, AtpType, AutosarDataType, CollectableElement, Identifiable, Multilanguage Referrable, PackageableElement, Referrable
Attribute Type Mult.Kind Note
key ApplicationAssocMapElement1aggr ⽤于唯⼀标识映射值的映射的键元素。
Tags:atp.Status=draft
value ApplicationAssocMapElement1aggr 存储与键关联的内容的映射的值元素。
Tags:atp.Status=draft
Table 3.6: ApplicationAssocMapDataType
Class ApplicationAssocMapElement
Package M2::AUTOSARTemplates::AdaptivePlatform::ApplicationDesign::ApplicationDataType
Note 描述应⽤程序映射数据类型的元素的属性。
Tags:atp.Status=draft
Base ARObject, ApplicationCompositeElementDataPrototype, AtpFeature, AtpPrototype, DataPrototype, Identifiable,
MultilanguageReferrable, Referrable
adaptiveAttribute Type Mult.Kind Note -----
Table 3.7: ApplicationAssocMapElement
清单3.1提供了⼀个ApplicationAssocMapDataType的建模草图⽰例。
图3.4包含模型的相应图形表⽰。
Figure 3.4: Example of the model of an associative map
Listing 3.1: Example for the definition of an ApplicationAssocMapDataType
但是,需要澄清ApplicationAssocMapDataType的初始化,因为它通常(使⽤RecordValueSpecification和ArrayValueSpecification 的组合)在技术上可以定义多个语义相同的不同
结构的ValueSpecifications。
为了使这种不确定因素不符合AUTOSAR标准,通过[constr_1488]阐明了由ApplicationAssocMapDataType类型化的DataPrototype 的初始化。
[constr_1488]{DRAFT}初始化由ApplicationAssocMapDataType类型化的数据原型(DataPrototype): 由
ApplicationAssocMapDataType类型化的数据原型(DataPrototype)只能由ApplicationAssocMapValueSpecification初始化。如前所述,有⼀个语义需求,即关联映射的关键元素需要在⼀个关联映射容器的上下⽂中唯⼀。
显然,模型对运⾏时发⽣的事情没有影响。另⼀⽅⾯,对ApplicationAssocMapDataType的初始化有隐含潜在的影响,请参见[constr_1489]
[constr_1489]{DRAFT} ApplicationAssocMapValueSpecification.mapElementTuple.key 的唯⼀性: 在给定的
ApplicationAssocMapValueSpecification上下⽂中,所有mapElementTuple.key元素的值都应该是唯⼀的。
Class ApplicationAssocMapValueSpecification
Package
M2::AUTOSARTemplates::AdaptivePlatform::ApplicationDesign::ApplicationDataType
Note
这个元类表⽰定义ApplicationAssocMapDataType初始化的能⼒。
Tags:atp.Status=draft
Base ARObject, CompositeValueSpecification, ValueSpecification Attribute
Type
Mult.
Kind
Note mapElementTuple
ApplicationAssocMapElementValueSpecification *aggr
此聚合表⽰
ApplicationAssocMapValueSpecification元素的
<APPLICATION-ASSOC-MAP-DATA-TYPE >
<SHORT-NAME >MyAssociativeMap </SHORT-NAME ><KEY >
<SHORT-NAME >MyKey </SHORT-NAME >
<TYPE-TREF DEST ="APPLICATION-PRIMITIVE-DATA-TYPE ">keyType </TYPE-TREF ></KEY ><VALUE >
<SHORT-NAME >MyValue </SHORT-NAME >
<TYPE-TREF DEST ="APPLICATION-PRIMITIVE-DATA-TYPE ">valueType </TYPE-TREF ></VALUE >
</APPLICATION-ASSOC-MAP-DATA-TYPE ><APPLICATION-PRIMITIVE-DATA-TYPE ><SHORT-N
AME >keyType </SHORT-NAME ><CATEGORY >VALUE </CATEGORY ></APPLICATION-PRIMITIVE-DATA-TYPE ><APPLICATION-PRIMITIVE-DATA-TYPE ><SHORT-NAME >valueType </SHORT-NAME ><CATEGORY >VALUE </CATEGORY ></APPLICATION-PRIMITIVE-DATA-TYPE >
123456789101112131415161718192021
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论