Specification of Adaptive Platform Core, AUTOSAR 903, R22-11, AP, 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/AP/AUTOSA
R_SWS_AdaptivePlatformCore.pdf

R21-11

https://www.autosar.org/fileadmin/standards/R21-11/AP/AUTOSA
R_SWS_AdaptivePlatformCore.pdf

R20-11

https://www.autosar.org/fileadmin/standards/R20-11/AP/AUTOSA
R_SWS_AdaptivePlatformCore.pdf

R19-11

https://www.autosar.org/fileadmin/standards/R19-11/AP/AUTOSA
R_SWS_AdaptivePlatformCore.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との関係
RS統合
# 文書変更(Document Change) 

>• Extend ara::core::Abort to allow multiple arguments
• Add support for registering multiple AbortHandlers
• Merge header files of ara::core::Future and ara::core:Promise into a single one
• Add full specification of ara::core::String and ara::core::BasicString
• Forbid user extensions of standardized AUTOSAR namespaces
# 用語(term)

|Term| Description|
|:--|:--|
|Explicit Operation Abortion| Immediate abortion of an API call, which is initiated by calling ara::core::Abort, usually as a consequence of the detection of a Violation.
|UUID| Universally Unique Identifier, a 128-bit number used to identify information in computer systems

# 参照(reference)

[1] Glossary, AUTOSAR_TR_Glossary
https://www.autosar.org/fileadmin/standards/foundation/22-11/AUTOSAR_TR_Glossary.pdf
[2] Specification of Operating System Interface, AUTOSAR_SWS_OperatingSystemInterface
[3] Functional Cluster Shortnames, AUTOSAR_TR_FunctionalClusterShortnames
[4] ISO/IEC 14882:2014, Information technology – Programming languages – C++ http://www.iso.org
[5] ValueOrError and ValueOrNone types http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0786r1.pdf
[6] Standard for Information Technology–Portable Operating System Interface (POSIX(R)) Base Specifications, Issue 7 http://pubs.opengroup.org/onlinepubs/9699919799/
[7] Specification of Execution Management, AUTOSAR_SWS_ExecutionManagement
[8] Explanation of ara::com API, AUTOSAR_EXP_ARAComAPI
[9] N4659: Working Draft, Standard for ProgrammingLanguage C++ http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4659.pdf
[10] N4820: Working Draft, Standard for Programming Language C++ http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2019/n4820.pdf
[11] N3857: Improvements to std::future<T> and Related APIs https://isocpp.org/files/papers/N3857.pdf

# 処理

```macOS:bash
$ docker run -it ubuntu /bin/bash
```
dockerで

```ubuntu:bash
# apt update; apt -y upgrade
# apt install -y poppler-utils vim
# pdftotext -q AUTOSAR_SWS_AdaptivePlatformCore.pdf AUTOSAR_SWS_AdaptivePlatformCore.txt
# tr 'A-Z' 'a-z' < AUTOSAR_SWS_AdaptivePlatformCore.txt > small.txt
# awk -f gs.awk small.txt > new.txt 
# sed -f autosar.sed new.txt > newsed.txt
# awk -f wc.awk newsed.txt > newsed.wc
```
gsub operation awk

```awk:gs.awk
#!/bin/sh
{
	gsub(/[^a-z_ \t]/, " ", $0)  #
        print $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $20, $21, $22, $23, $24, $25, $26, $27, $28, $29, $30
}
```
word cunt awk

```awk:wc.awk
#!/bin/sh
# Print list of word frequencies
# https://researchmap.jp/blogs/blog_entries/view/78451/c0ebdc81d4af21931f12f1993584b633
# https://qiita.com/kaizen_nagoya/items/319672853519990cee42
{
#    $0 = tolower($0)    
    gsub(/[^a-z_ \t]/, " ", $0)  #
    for (i = 1; i <= NF; i++)
        freq[$i]++
}

END {
    for (word in freq)
        printf "%s\t%d\n", word, freq[word]
}
```
# 単語計数帳

|no.|count|word|語|
|:----|:----|:----|:----|
|1|2188|sws_core_|sws_core_|
|2|1952|the|その|
|3|1620|core|芯|
|4|1437|of|の|
|5|1171|ara|ara|
|6|882|error|誤り|
|7|741|type|型|
|8|688|c|c|
|9|659|a|a|
|10|599|function|働き|
|11|584|value|価値|
|12|573|to|に|
|13|516|rs_ap_|rs_ap_|
|14|498|result|結果|
|15|498|t|t|
|16|479|is|は|
|17|476|const|constant|
|18|471|this|これ|
|19|469|platform|枠組み|
|20|467|in|の|
|21|444|d|d|
|22|425|class|組み|
|23|417|return|戻る|
|24|410|header|みだし|
|25|408|description|説明|
|26|408|include|含む|
|27|405|symbol|象徴|
|28|401|scope|範囲|
|29|399|file|紙ばさみ|
|30|397|draft|下書き|
|31|397|kind|親切|
|32|395|h|h|
|33|393|syntax|構文|
|34|379|no|いいえ|
|35|373|name|名前|
|36|362|and|と|
|37|362|except|それ外|
|38|354|domain|領域|
|39|340|e|e|
|40|324|exception|例外|
|41|317|for|にとって|
|42|314|std|standard|
|43|293|array|配列|
|44|268|autosar|autosar|
|45|264|future|将来|
|46|264|template|雛形|
|47|257|r|r|
|48|257|span|間隔|
|49|251|specification|仕様|
|50|250|adaptive|適応|
|51|248|shall|しなければならない|
|52|245|that|それ|
|53|242|code|符号|
|54|241|an|ひとつの|
|55|240|document|資料|
|56|236|ap|application|
|57|236|id|identifier|
|58|225|from|から|
|59|224|instance|実例|
|60|218|autosar_sws_adaptive|autosar_sws_adaptive|
|61|214|be|なれ|
|62|208|operator|操作者|
|63|207|as|なので|
|64|204|other|他の|
|65|203|string|文字列|
|66|196|parameters|引数|
|67|190|lhs|lhs|
|68|188|rhs|rhs|
|69|178|if|もしも|
|70|175|safety|安全性|
|71|174|with|と|
|72|167|promise|約束|
|73|150|n|n|
|74|145|table|表|
|75|144|space|空間|
|76|142|not|いいえ|
|77|142|void|空所|
|78|138|data|与件|
|79|131|or|また|
|80|129|bool|真偽値|
|81|125|view|見る|
|82|117|constexpr|constexpr|
|83|113|text|文章|
|84|109|are|それは|
|85|109|TRUE|真|
|86|102|defined|定義済み|
|87|101|by|に|
|88|97|linear|線形|
|89|97|scale|規模|
|90|92|it|それ|
|91|92|param|引数|
|92|89|element|要素|
|93|89|specifier|指定子|
|94|86|types|型|
|95|84|given|与えられた|
|96|83|new|新着|
|97|82|default|既定値|
|98|82|same|同じ|
|99|81|comparison|比較|
|100|79|alias|別名|
|101|76|number|番号|
|102|76|standard|標準|
|103|74|container|容器|
|104|74|equal|同等|



複合語分割用Sed Script
なぜかAutosar PDFファイルは空白が消えることが多発。
原因未調査。

複合語としては分割しなかった語

backend
background
bandwidth
callback
metamodel
output
overhead
prototype
reset
shutdown
timeout
upstream
wakeup
widespread
without

|word|count|
|:----|:----|
|sws_core_|2188|
|the|1919|
|of|1437|
|core|1369|
|ara|1171|
|c|691|
|a|660|
|function|599|
|to|575|
|value|561|
|rs_ap_|519|
|result|498|
|t|498|
|type|492|
|is|481|
|const|476|
|this|472|
|in|465|
|class|425|
|error|418|
|return|417|
|header|410|
|description|408|
|include|408|
|d|401|
|scope|401|
|symbol|400|
|file|399|
|draft|397|
|kind|397|
|h|395|
|syntax|393|
|noexcept|355|
|e|340|
|for|318|
|std|314|
|array|293|
|exception|290|
|and|267|
|autosar|265|
|template|265|
|r|257|
|span|257|
|specification|251|
|platform|250|
|adaptive|249|
|shall|248|
|that|246|
|an|243|
|document|240|
|future|232|
|id|230|
|from|225|
|ap|219|
|autosar_sws_adaptiveplatformcore|218|
|be|214|
|operator|208|
|other|204|
|errordomain|198|
|parameters|196|
|as|192|
|lhs|190|
|rhs|188|
|typename|188|
|if|178|
|safety|175|
|with|174|
|promise|167|
|errorcode|152|
|n|150|
|namespace|142|
|not|142|
|void|142|
|instance|135|
|bool|129|
|data|124|
|stringview|122|
|or|120|
|constexpr|117|
|are|110|
|TRUE|109|
|by|102|
|defined|102|
|scalelinearandtexttable|97|
|it|92|
|param|92|
|instancespecifier|87|
|domain|85|
|given|84|
|element|83|
|new|83|
|same|82|
|types|82|
|comparison|81|
|alias|79|
|standard|77|
|number|76|
|container|74|
|equal|74|



複合語の分解 AUTOSAR 20-11, AUTOSAR(21)

https://qiita.com/kaizen_nagoya/items/2255410cd68934150412

word count autosar 20-11

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

Autosar単語帳(R19-11): 英語(43a), AUTOSAR(41)

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

Autosar単語帳(作業中): 英語(43)

https://qiita.com/kaizen_nagoya/items/0927727a94b157df2df8

今日のsed error:unknown option to `s'

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

英語の複合語と単語の計算

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

# あとがきに代えて

AUTOSAR 21-11の作業を少し休止していました。

どんな技術文書でも、自分で分析して、自分で訳してみたり、自分で写経（typing)すると、著者本人が何が考えていたか、ふっとわかる部分が出てきます。そうしたら、それは自分の考えの一部になっているかもしれません。
借り物のようで、自分の体の一部になっているような。

メディアで流れている解説を読んで解ったつもりになっているのとは違うことが身についているかもしれません。
これは次の２つの行事への参加記事です。

新人プログラマ応援 - みんなで新人を育てよう！

https://qiita.com/official-events/3f21c92121aa125807b4

今、Qiitaでは、「データに関する記事を書こう！」という行事をやっている。

https://qiita.com/official-events/30be12dd14c0aad2c1c2



@torifukukaiou【毎日自動更新】新人プログラマ応援 - みんなで新人を育てよう！（2022年04月） LGTMランキング！

https://qiita.com/torifukukaiou/items/18dad64ba99aa5a40f95

@torifukukaiou 【毎日自動更新】データに関する記事を書こう！ LGTMランキング！

https://qiita.com/torifukukaiou/items/b10fa94764aaaa2c6db1

データは、単語データの解析から始めています。
phrase解析が得意な方のご協力をお待ちしています。
対象領域の得意な方のご助言をお待ちしています。

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

＜この記事は個人の過去の経験に基づく個人の感想です。現在所属する組織、業務とは関係がありません。＞
This article is an individual impression based on the individual's experience. It has nothing to do with the organization or business to which I currently belong.


# 文書履歴(document history)
ver. 0.01 初稿 　20230805
### 最後までおよみいただきありがとうございました。
いいね　💚、フォローをお願いします。
#### Thank you very much for reading to the last sentence.
Please press the like icon 💚　and follow me for your happy life.