AUTOSAR Feature Model Exchange Format, AUTOSAR 606, R22-11 FO, 20230421

AUTOSARは自動車用OSの業界団体規格です。　
業務で利用する場合には、会員になることを条件にしています。

2002年から20年経ち、当初の狙いの段階に近づいてきました。

MATLABでモデルさえ記述すれば、あとは自動生成だけでソフトが完成するところまで、あと一歩です。
Ethernet, UNIXが生まれて20年で大衆化したのと同じように考えると分かりやすいでしょう。　

AUTOSARの上で動く、クラウド対応のミドルウェアが出て、開発も運用もクラウドになれば、一気にAUTOSARは大衆化するでしょう。

AUTOSAR Abstract Platformへの道 R22-11

https://qiita.com/kaizen_nagoya/items/8ac2826635a8c536c7ec

# 2023年4月URL変更
この項は2023年4月21日、AUTOSARの文書のURLが変更になった。
/classic/22-11/
が
/R22-11/CP/
過去記事で、URLでエラーが出たら書き換えてみてください。

/adaptive/22-11/
は　
/R22-11/AP/

/foundation/22-11/
は　
/R22-11/FO/
です。
## 2023年11月URL変更
2023年11月にもAUTOSAR文書のURLが変更になっている。
/user_upload/standards/classic/21-11/
を
/standards/R21-11/CP/
などに書き換えてください。

/user_upload/standards/adaptive/21-11/
を
/standards/R21-11/AP/

/user_upload/standards/foundation/21-11/
を
/standards/R21-11/FO/

お手数をおかけします。
１年に２度URLを変更するなんて、新しい記事が書ける。とても嬉しい。

# 一覧

AUTOSAR R22-11 Qiita記事一覧 20230421 。

https://qiita.com/kaizen_nagoya/items/81a35774f1aa3d64d3f6

この記事の表題の最後に「20230421」を加えます。

<この項は書きかけです。順次追記します。>

AUTOSARが、2022年の版、R22-11を公開しました。

https://www.autosar.org/fileadmin/standards/R22-11/FO/AUTOSAR_TPS_FeatureModelExchangeFormat.pdf

R21-11

https://www.autosar.org/fileadmin/standards/R21-11/FO/AUTOSAR_TPS_FeatureModelExchangeFormat.pdf

R20-11

https://www.autosar.org/fileadmin/standards/R20-11/FO/AUTOSAR_TPS_FeatureModelExchangeFormat.pdf

R19-11

https://www.autosar.org/fileadmin/standards/R19-11/FO/AUTOSAR_TPS_FeatureModelExchangeFormat.pdf

https://www.autosar.org/

文書は検索してダウンロードできます。

R20-11,R21-11, R22-11の３年分だけになりました。

公開行事の模様は

AUTOSAR R22-11 Release Event 20221208

https://qiita.com/kaizen_nagoya/items/18471d0b340480fdcd42

Classic Platform Release Overview, AUTOSAR No.0 ,R22-11, CP, 20230421

https://qiita.com/kaizen_nagoya/items/9d22c8722cbc0f42b137

Foundation Release Overview, AUTOSAR, 781, R22-11, FO, 20230421

https://qiita.com/kaizen_nagoya/items/596a7e2ec86913daa3c2

Adaptive Platform Release Overview, AUTOSAR 782, R22-11, AP, 20230421

https://qiita.com/kaizen_nagoya/items/fc8e02e8cb07411dbc2a

# 要求仕様対応(Requirement and Specification)
# Abstract Platformとの関係

モデル統合

# 文書変更(Document Change) 
> No content changes
# 用語(terms)
|term|definition|
|:--|:--|
|Artifact| This is a Work Product Definition that provides a description and definition for tangible work product types. Artifacts may be composed of other artifacts ([12]). At a high level, an artifact is represented as a single conceptual file.
|AUTOSAR Tool |This is a software tool which supports one or more tasks defined as AUTOSAR tasks in the methodology. Depending on the supported tasks, an AUTOSAR tool can act as an authoring tool, a converter tool, a processor tool or as a combination of those (see separate definitions).
|AUTOSAR Authoring Tool| An AUTOSAR Tool used to create and modify AUTOSAR XML Descriptions. Example: System Description Editor.
|AUTOSAR Converter Tool| An AUTOSAR Tool used to create AUTOSAR XML files by converting information from other AUTOSAR XML files. Example: ECU Flattener
|AUTOSAR Definition |This is the definition of parameters which can have values. One could say that the parameter values are Instances of the definitions. But in the meta model hierarchy of AUTOSAR, definitions are also instances of the meta model and therefore considered as a description. Examples for AUTOSAR definitions are: EcucParameterDef, PostBuildVariantCriterion, SwSystemconst.
|AUTOSAR XML Description| In AUTOSAR this means "filled Template". In fact an AUTOSAR XML description is the XML representation of an AUTOSAR model. The AUTOSAR XML description can consist of several files. Each individual file represents an AUTOSAR partial model and shall validate successfully against the AUTOSAR XML schema.
|AUTOSAR Meta-Model |This is an UML2.0 model that defines the language for describing AUTOSAR systems. The AUTOSAR meta-model is an UML representation of the AUTOSAR templates. UML2.0 class diagrams are used to describe the attributes and their interrelationships. Stereotypes, UML tags and OCL expressions (object constraint language) are used for defining specific semantics and constraints.
|AUTOSAR Meta-Model Tool| The AUTOSAR Meta-Model Tool is the tool that generates different views (class tables, list of constraints, diagrams, XML Schema etc.) on the AUTOSAR meta-model.
|AUTOSAR Model| This is a representation of an AUTOSAR product. The AUTOSAR model represents aspects suitable to the intended use according to the AUTOSAR methodology. Strictly speaking, this is an instance of the AUTOSAR meta-model. The information contained in the AUTOSAR model can be anything that is representable according to the AUTOSAR meta-model.
|AUTOSAR Partial Model| In AUTOSAR, the possible partitioning of models is marked in the meta-model by atpSplitable. One partial model is represented in an AUTOSAR XML description by one file. The partial model does not need to fulfill all semantic constraints applicable to an AUTOSAR model.
|AUTOSAR Processor Tool |An AUTOSAR Tool used to create non-AUTOSAR files by processing information from AUTOSAR XML files. Example: RTE Generator
|AUTOSAR Specification Element| An AUTOSAR Specification Element is a named element that is part of an AUTOSAR specification. Examples: requirement, constraint, specification item, class or attribute in the meta model, methodology, deliverable, methodology activity, model element, bsw module etc.
|AUTOSAR Template| The term "Template" is used in AUTOSAR to describe the format different kinds of descriptions. The term template comes from the idea, that AUTOSAR defines a kind of form which shall be filled out in order to describe a model. The filled form is then called the description. In fact the AUTOSAR templates are now defined as a meta-model.
|AUTOSAR Validation Tool |A specialized AUTOSAR Tool which is able to check an AUTOSAR model against the rules defined by a profile.
|AUTOSAR XML Schema |This is a W3C XML schema that defines the language for exchanging AUTOSAR models. This Schema is derived from the AUTOSAR meta-model. The AUTOSAR XML Schema defines the AUTOSAR data exchange format.
|Blueprint |This is a model from which other models can be derived by copy and refinement. Note that in contrast to meta model resp. types, this process is not an instantiation.
|Instance| Generally this is a particular exemplar of a model or of a type.
|Life Cycle| Life Cycle is the course of development/evolutionary stages of a model element during its life time.
|Meta-Model |This defines the building blocks of a model. In that sense, a Meta-Model represents the language for building models.
|Meta-Data |This includes pertinent information about data, including information about the authorship, versioning, access-rights, timestamps etc.
|Model |A Model is an simplified representation of reality. The model represents the aspects suitable for an intended purpose.
|Partial Model | This is a part of a model which is intended to be persisted in one particular artifact.
|Pattern in GST |This is an approach to simplify the definition of the meta model by applying a model transformation. This transformation creates an enhanced model out of an annotated model.
|Profile Authoring Support Data |Data that is used for efficient authoring of a profile. E.g. list of referable constraints, meta-classes, meta-attributes or other reusable model assets (blueprints)
|Profile Authoring Tool|  A specialized AUTOSAR Tool which focuses on the authoring of profiles for data exchange points. It e.g. provides support for the creation of profiles from scratch, modification of existing profiles or composition of existing profiles.
|Profile Compatibility Checker Tool |A specialized AUTOSAR Tool which focuses on checking the compatibility of profiles for data exchange. Note that this compatibility check includes manual compatibility checks by engineers and automated assistance using more formal algorithms.
|Profile Consistency Checker Tool| A specialized AUTOSAR Tool which focuses on checking the consistency of profiles.
|Property |A property is a structural feature of an object. As an example a “connector” has the properties “receive port” and “send port” Properties are made variant by the atpVariation.
|Prototype |This is the implementation of a role of a type within the definition of another type. In other words a type may contain Prototypes that in turn are typed by "Types". Each one of these prototypes becomes an instance when this type is instantiated.
|Type |A type provides features that can appear in various roles of this type.
|Value| This is a particular value assigned to a “Definition”.
|Variability |Variability of a system is its quality to describe a set of variants. These variants are characterized by variant specific property settings and / or selections. As an example, such a system property selection manifests itself in a particular “receive port” for a connection. This is implemented using the atpVariation.
|Variant| A system variant is a concrete realization of a system, so that all its properties have been set respectively selected. The software system has no variability anymore with respect to the binding time. This is implemented using EvaluatedVariantSet.
|Variation Binding |A variant is the result of a variation binding process that resolves the variability of the system by assigning particular values/selections to all the system’s properties. This is implemented by VariationPoint.
|Variation Binding Time| The variation binding time determines the step in the methodology at which the variability given by a set of variable properties is resolved. This is implemented by vh.LatestBindingtime at the related properties.
|Variation Definition Time |The variation definition time determines the step in the methodology at which the variation points are defined.
|Variation Point |A variation point indicates that a property is subject to variation. Furthermore, it is associated with a condition and a binding time which define the system context for the selection / setting of a concrete variant. This is implemented by VariationPoint.


## 英日
日本語は仮訳
|no.|count|word|日本語|
|:----|:----|:----|:----|
|1|1150|the|その|
|2|1011|feature|特徴|
|3|834|of|の|
|4|729|a|一つの|
|5|676|fm|Feature Model(短縮名)|
|6|562|in|中に|
|7|452|model|模型|
|8|425|is|は|
|9|384|autosar|AUTomotive Open System Architecture(短縮名)|
|10|379|to|に|
|11|326|and|と|
|12|287|that|それ|
|13|281|be|です|
|14|264|tps_fmdt_|tps_fmdt_|
|15|253|for|にとって|
|16|231|c|c|
|17|230|this|これ|
|18|215|are|です|
|19|208|f|f|
|20|206|features|特徴|
|21|191|selection|選択|
|22|190|exchange|両替|
|23|185|format|書式|
|24|185|r|r|
|25|166|s|s|
|26|165|set|設定する|
|27|144|an|一つの|
|28|138|attribute|属性|
|29|138|class|級|
|30|137|by|に|
|31|126|value|値|
|32|122|not|いいえ|
|33|121|role|役割|
|34|119|shall|しなければならない|
|35|119|variation|変化|
|36|117|system|系|
|37|115|as|なので|
|38|115|document|文書|
|39|113|constr_|constr_|
|40|111|which|どれの|
|41|106|time|時間|
|42|103|note|覚書|
|43|101|sw|software(短縮名)|
|44|96|if|もしも|
|45|95|id|identifier, 識別子(短縮名）|
|46|92|element|要素|
|47|89|may|かもしれない|
|48|88|autosar_tps_feature|autosar_tps_feature|
|49|88|constraints|制約|
|50|88|fo|foundation(短縮名)|
|51|87|or|または|
|52|86|definition|意味|
|53|83|type|型|
|54|82|decomposition|分解|
|55|80|rs_fmdt_|rs_fmdt_|
|56|79|only|それだけ|
|57|79|state|状態|
|58|79|xml|Extensible Markup Language(短縮名)|
|59|78|points|点|
|60|78|relation|関係|
|61|75|attributes|属性|
|62|75|selected|選択|
|63|74|variant|変異体|
|64|73|from|から|
|65|73|one|1|
|66|73|then|それから|
|67|71|it|それ|
|68|68|ar|AUTOSAR(短縮名)|
|69|68|product|製品|
|70|66|on|の上|
|71|62|atp|AUTOSAR Template Profile(短縮名)|
|72|60|binding|縛る|
|73|60|can|できる|
|74|60|tables|表|
|75|60|tags|札|
|76|60|v|v|
|77|58|models|模型|
|78|58|with|と|
|79|57|example|例|
|80|57|table|表|
|81|57|trace|跡|
|82|55|undecided|未定|
|83|54|deselected|選択解除|
|84|54|root|根|
|85|53|used|使った|
|86|52|all|すべて|
|87|52|defines|定義する|
|88|52|has|もっている|
|89|52|m|m|
|90|52|package|小包|
|91|51|each|各|
|92|51|none|無し|
|93|51|other|他の|
|94|51|referrable|参照可能|
|95|50|object|物体|
|96|49|defined|定義済み|
|97|48|but|しかし|
|98|48|we|私たち|
|99|46|consts|constants(短縮名)|
|100|46|max|maximum(短縮名)|
|101|46|min|minimum(短縮名)|
|102|46|point|点|
|103|46|referenced|参照|

# 参考(reference)

Glossary も　参考に入れましょう。
https://www.autosar.org/fileadmin/standards/R22-11/FO/AUTOSAR_TR_Glossary.pdf

[1] Generic Structure Template, AUTOSAR_TPS_GenericStructureTemplate
[2] Standardization Template, AUTOSAR_TPS_StandardizationTemplate
[3] AUTOSAR Feature Model Exchange Format Requirements, AUTOSAR_RS_FeatureModelExchangeFormat
[4] Methodology for Classic Platform, AUTOSAR_TR_Methodology
[5] Software Process Engineering Meta-Model Specification, http://www.omg.org/spec/SPEM/2.0/

# 関連文書(Related document)

AUTOSAR Abstract Platformへの道 R22-11

https://qiita.com/kaizen_nagoya/items/8ac2826635a8c536c7ec

自動車　記事　１００

https://qiita.com/kaizen_nagoya/items/f7f0b9ab36569ad409c5

Basic principles, ボッシュ自動車handbook(英語)11版まとめ<2>

https://qiita.com/kaizen_nagoya/items/24a1ba5da3d09b2a95d1

JAXA/IPA クリティカルソフトウェアワークショップ WOCS言語関連発表(改定版)

https://qiita.com/kaizen_nagoya/items/4789832baf494cb74626

CAN(controller area network) 

https://qiita.com/kaizen_nagoya/items/e8c0bd7bfb2827b83de9

「はじめてのCAN/CANFD 」 ベクタージャパン ＜エンジニア夏休み企画>【読書感想文】

https://qiita.com/kaizen_nagoya/items/1fee270be00ef90ca4ec


三方良し　Udemy 車載LAN入門講座 CAN通信編

https://qiita.com/kaizen_nagoya/items/bed038c52510fea72c0a


詳解 車載ネットワーク CAN, CAN FD, LIN, CXPI, Ethernetの仕組みと設計のために(1) 著者　 ＜エンジニア夏休み企画 読書感想文＞

https://qiita.com/kaizen_nagoya/items/e9971698a108c3dba794

詳解 車載ネットワーク CAN, CAN FD, LIN, CXPI, Ethernetの仕組みと設計のために(2)参考文献 ＜エンジニア夏休み企画>【読書感想文】

https://qiita.com/kaizen_nagoya/items/e156cbdd5fce9263776e

詳解 車載ネットワーク CAN、CAN FD、LIN、CXPI、Ethernetの仕組みと設計のために

https://qiita.com/kaizen_nagoya/items/44a9e6b0f5363b4a5b35

# R23-11
https://qiita.com/kaizen_nagoya/items/d7867de596154f7d1997

 ＜この記事は個人の過去の経験に基づく個人の感想です。現在所属する組織、業務とは関係がありません。＞

# 文書履歴(document history)
ver. 0.01 初稿　　20230701
ver. 0.02 R23011 added 20240101

### 最後までおよみいただきありがとうございました。

いいね　💚、フォローをお願いします。

####  Thank you very much for reading to the last sentence.

Please press the like icon 💚　and follow me for your happy life.