Requirements on Log and Trace, AUTOSAR 350, 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_RS_LogAndTrace.pdf


R21-11

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

R20-11

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

R19-11

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


https://www.autosar.org/

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

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

<この項は書きかけです。順次追記します。>
This article is not completed. I will add some words in order.

### 公開行事の模様は

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との関係



Template, TypeはAbstract Platformで統一的に定義するとよい。　
Template, Typeで、複数の文書を統合するとよい。

## 文書変更(Document Change) 

 Support of harmonized logging
 Reserved Log Context IDs for the
framework

## 英日単語帳
日本語は仮訳

|no.|count|word|日本語|
|:----|:----|:----|:----|
|1|412|the|その|
|2|259|to|に|
|3|243|and|と|
|4|189|trace|跡|
|5|188|of|の|
|6|159|rs_lt_|rs_lt_|
|7|156|log|記録|
|8|156|shall|しなければならない|
|9|141|a|一つの|
|10|141|be|です|
|11|109|rs_main_|rs_main_|
|12|93|lt|Log and Trace(短縮名）|
|13|78|is|です|
|14|73|fo|foundation(短縮名）|
|15|72|for|にとって|
|16|71|logging|記録する|
|17|69|in|の中に|
|18|65|autosar|AUTomotive Open System Architecture(短縮名)|
|19|64|message|伝言|
|20|60|description|説明|
|21|60|messages|伝言|
|22|60|use|使う|
|23|58|id|identifier, 識別子(短縮名）|
|24|56|case|場合|
|25|56|material|材料|
|26|55|applies|適用する|
|27|55|type|型|
|28|55|valid|有効|
|29|53|dependencies|依存関係|
|30|53|rationale|根拠|
|31|53|supporting|対応|
|32|51|or|または|
|33|50|information|情報|
|34|49|an|一つの|
|35|48|requirements|要件|
|36|45|communication|通信|
|37|45|on|の上|
|38|44|module|部品|
|39|43|document|資料|
|40|43|ecu|Electronic Control Unit（短縮名）|
|41|43|it|それ|
|42|42|may|かもしれない|
|43|40|applications|応用|
|44|39|by|に|
|45|39|interface|界面|
|46|38|application|応用|
|47|34|provide|提供|
|48|34|this|これ|
|49|33|r|r|
|50|31|from|から|
|51|29|autosar_rs_log|autosar_rs_log|
|52|29|which|どの|
|53|27|each|各|
|54|26|tracing|跡|
|55|25|data|与件|
|56|24|external|外部の|
|57|23|over|以上|
|58|22|format|書式|
|59|22|time|時間|
|60|21|all|すべて|
|61|21|client|顧客|
|62|21|events|行事|
|63|21|not|いいえ|
|64|21|with|と|
|65|20|can|できる|
|66|19|as|なので|
|67|19|rte|Runtime Environment(短縮名）|
|68|18|are|それは|
|69|18|at|で|
|70|18|phase|段階|
|71|16|different|違う|
|72|16|have|持つ|
|73|16|release|開放|
|74|15|bsw|basic software(短縮名）|
|75|15|configuration|構成|
|76|15|that|それ|
|77|14|able|できる|
|78|14|important|重要|
|79|14|levels|水準|
|80|14|s|s|
|81|14|vfb|virtual function bus(短縮名）|
|82|14|work|仕事|
|83|13|component|成分|
|84|13|context|文脈|
|85|13|level|水準|
|86|13|o|o|
|87|13|software|ソフトウェア|
|88|13|some|いくつかの|
|89|13|status|状態|
|90|12|ap|adaptive platform(短縮名)|
|91|12|possible|可能|
|92|12|set|設定する|
|93|12|source|源|
|94|12|specification|仕様|
|95|11|buffer|緩衝記憶|
|96|11|management|管理|
|97|11|no|いいえ|
|98|11|production|製造|
|99|11|transport|輸送|
|100|11|used|使った|

## Terms and Definition

#### 検討事項1
Abbreviation でも Acronymでも、ShortNameでもないものがある。Terms and Definitionとして記述するのがよい。
説明も同義反復的なものがある。記述の無駄なものがあるかもしれない。
少なくとも、Aの定義にA is という記述は不要。

|Abbreviation / Acronym:|Description:|
|:--|:--|
|Log and trace message|A log and trace message contains all data and options to specify a log and trace event in a software.|
|User|The user of LT is the programmer of the software, which uses the LT API to generate log and trace messages.|
|Log|The user generates log messages on demand. Each time the user wants to show some information about state changes or value changes, he adds an API call to LT.|
|Trace|Trace messages can be generated by instrumentation of the code (e.g. VFB traces). The instrumented code calls the API of LT.|
|ECU ID|ECU ID is the name of each ECU.|
|Session ID|Session ID is the identification number of a log or trace session. If an Application is instantiated several times the log sessions get a new Session ID. A Application can have several log or trace sessions. A BSW module uses the module-number as Session ID.|
|Application ID|Application ID is a short name of the Application/BSW module. It identifies the Application/BSW module in the log and trace message.|
|Context ID|Context ID is a user defined ID to group log and trace messages produced by an Application/BSW module to distinguish functionality. Each Application ID can own several Context IDs. Context ID’s are grouped by Application ID’s. Context IDs shall be unique within an Application ID.The identification of the source of a log and trace message is done with a pair of Application ID and Context ID.|
|Message ID|Messaged ID is the ID to characterize the information, which is transported by the message itself. A Message ID identifies a log or trace message uniquely. It can be used for identifying the source (in source code) of a message and it can be used for characterizing the payload of a message.|
|Log and trace level|A log level defines a classification for the severity grade of a log message.The trace status provides information if a trace message should be send.|
|Time|Each log and trace message may contain a time attribute. The time attribute is a free defined time-value. It is the time since the start of the ECU.|
|External client|An external client is a tool, which can be run on a PC or another ECU, which is connected to LT over DCM or over the LT communication module.|


# 6 References
[1] Requirements on AUTOSAR, Features,AUTOSAR_RS_Features.pdf, 2021-11 obsolete

廃止文書を参照しつづける理由

https://qiita.com/kaizen_nagoya/items/3e0055afb324c942384a


[2] Specification of RTE, AUTOSAR_SWS_RTE.pdf
[3] Layered Software Architecture, AUTOSAR_EXP_LayeredSoftwareArchitecture.pdf.pdf
[4] Specification of Development Error Trace, AUTOSAR_SWS_DevelopmentErrorTracer.pdf
[5] Software Standardization Template, AUTOSAR_TPS_StandardizationTemplate.pdf
[6] Main Requirements, AUTOSAR_RS_Main.pdf,

 AUTOSAR R21-11(2) Main Requirements

https://qiita.com/kaizen_nagoya/items/54a9d90272d901ecc089

# 4 Functional Overview
>LT provides the following functionalities:
 Logging
o Logging of errors, warnings and info messages from AUTOSAR
Application’s, providing a standardized AUTOSAR interface
o Gather all log and trace messages from all AUTOSAR Application’s in a centralized AUTOSAR service component (LT). See [3] for an overview.
o Log messages from DET ([4]) (Classic Platform)
o Log messages from DEM (Classic Platform)  Tracing
o Trace RTE/VFB ([2]) (Classic Platform)

記述がCP(Classic Platform)に偏っている。
AP(Adaptive Platform）でも診断機能は必要である。

APでは、Ethernet, TCP/IPがRTE/VFB機能を持っているはずで、共通部分の記述としないのは違和感がある。

# 5.2 FunctionalRequirements
5.2.1 Log and trace interfaces
5.2.1.1 Generic

この項にあるRSは、FOかAPを対象にしている。
FOを対象にしているのは、APとCLに対応しているということで納得できる。
FOとAPに対応しているというのは、CLに対応していないという具合に読めて、とても違和感がある。


5.2.1.2 Interface for Applications
の後に、同じ並びで
5.2.1.3 DET trace interface
5.2.1.4 DEM trace interface
5.2.1.5 RTE/VFB trace interface
があるのは違和感がある。
抽象化、抽象化といいながら、抽象的なものと具体的なものを同列で書くのはいかがなものか。

# 5.2.2 Format of log and trace message
FO対応以外にAPと記述のあるのは違和感がある。FOだけでいいじゃん。

# 5.2.3 Transport interfaces
 5.2.3.2 Communication interfaceの次に
5.2.3.3 DCM transport interface
があるのは違和感がある。

# 5.2.4 Operational function


# 5.3 NonfunctionalRequirements

5.3.1 [RS_LT_00041] LT shall be a central software component for the log and trace functionality.

>Only one SW module per ECU shall gather the log and trace messages centrally.

とあるが、RationaleがNoneとはどういうこっちゃ。
理由のない仕様は決めないで欲しい。


#  Log and Trace Protocol Specification

https://www.autosar.org/fileadmin/standards/foundation/21-11/AUTOSAR_PRS_LogAndTraceProtocol.pdf

## 参考

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


[1] ISO/IEC 7498-1:1994 Information technology - Open Systems Interconnection - Basic Reference Model: The Basic Model - Part 1
www.iso.org
[2] Log and Trace Protocol Specification v.1 AUTOSAR_PRS_LogAndTraceProtocol from release R20-11
[3] AUTOSAR Log And Trace Extract Template AUTOSAR_TPS_LogAndTraceExtract

DLT: Diagnostic Log and Trace

## 参考資料

tracelog(3) — Linux manual page

https://man7.org/linux/man-pages/man3/tracelog.3.html

Logging HOWTO

https://docs.python.org/ja/3/howto/logging.html

NET Core のログとトレース

https://docs.microsoft.com/ja-jp/dotnet/core/diagnostics/logging-tracing

ログとトレースの接続

https://docs.datadoghq.com/ja/tracing/connect_logs_and_traces/


# 関連文書(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/fcb71087b5beddf09bb0


＜この記事は個人の過去の経験に基づく個人の感想です。現在所属する組織、業務とは関係がありません。＞
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 初稿　　20230618
ver. 0.02 R23-11追記 20240101

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

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

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

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