SOME/IP Service Discovery Protocol Specification, AUTOSAR 802, R23-11, FO

AUTOSARが、2023年版、R23-11を公開しました。
https://www.autosar.org/fileadmin/standards/23-11/FO/AUTOSAR_FO_PRS_SOMEIPServiceDiscoveryProtocol.pdf

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

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

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

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


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

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

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

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

AUTOSAR Abstract Platformへの道 R22-11

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

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

https://www.autosar.org/

文書は検索してダウンロードできます。
4.4.0, R19-11, R20-11, R21-11, R22-11, R23-11の6年分です。

R23-11 一覧はこちら。

Classic Platform Release Overview, AUTOSAR No.0 ,R23-11, CP
https://qiita.com/kaizen_nagoya/items/9d22c8722cbc0f42b137

Foundation Release Overview, AUTOSAR 781, R23-11, FO
https://qiita.com/kaizen_nagoya/items/f249bdb8c313d8bff883

Adaptive Platform Release Overview, AUTOSAR 782, R23-11, AP
https://qiita.com/kaizen_nagoya/items/13a104606a34fe24fcf7

# Abstract Platformとの関係

RS統合。

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

## 文書変更(Document Change) 

>• Adaptions in IPv4/6 SD endpoint options handling for AP compatibility
• Editorial changes

# 用語(terms)
|Term| Description|
|:--|:--|
|Method |a method, procedure, function, or subroutine that is called/invoked.
|Parameters |input, output, or input/output arguments of a method or an event
|Remote Procedure Call (RPC)| a method call from one ECU to another that is transmitted using messages
|Request|a message of the client to the server invoking a method
|Response| a message of the server to the client transporting results of a method invocation
|Request/Response communication| a RPC that consists of request and response
|Fire&Forget communication |a RPC call that consists only of a request message
|Event|A uni-directional data transmission that is only invoked on changes or cyclically and is sent from the producer of data to the consumers. One event could even be both sent cyclically and spontaneously on change. This is completely in the responsibility of the sending application because the receiver has no means at all to distinguish between those two.
|Field| a field does represent a status and thus has a valid value at all times on which getter, setter and notfier act upon.
|Notification Event|an event message the notifier of a field sends. The message of such a notifier cannot be distinguished from the event message; therefore, when refering to the message of an event, this shall also be true for the messages of notifiers of fields.
|Getter| a Request/Response call that allows read access to a field.
|Setter |a Request/Response call that allows write access to a field.
|Notifier| sends out event message with a new value on change of the value of the field.
|Service|a logical combination of zero or more methods, zero or more events, and zero or more fields (empty service is allowed, e.g. for announcing non-SOME/IP services in SOME/IP-SD)
|Eventgroup| a logical grouping of events and notification events of fields inside a service in order to allow subscription
|Service Interface |the formal specification of the service including its methods, events, and fields
|Service Instance| software implementation of the service interface, which can exist more than once in the vehicle and more than once on an ECU
|Server| The ECU offering a service instance shall be called server in the context of this service instance.
|Client|   The ECU using the service instance of a server shall be called client in the context of this service instance.
|Union or Variant|a data structure that dynamically assumes different data types.
|Offering a service instance |that one ECU implements an instance of a service and tells other ECUs using SOME/IP-SD that they may use it.
|Finding a service instance |to send a SOME/IP-SD message in order to find a needed service instance.
|Requiring a service instance|to send a SOME/IP-SD message to the ECU implementing the required service instance with the meaning that this service instance is needed by the other ECU. This may be also sent if the service instance is not running; thus, was not offered yet.
|Releasing a service instance| to sent a SOME/IP-SD message to the ECU hosting this service instances with the meaning that the service instance is no longer needed.
|Server-Service-Instance-Entry| The configuration and required data of a service instance the local ECU offers, is called Server-Service-Instance-Entry at the ECU offering this service (Server).
|Client-Service-Instance-Entry| The configuration and required data of a service instance another ECU offers, is called Client-Service-Instance-Entry at the ECU using this service (Client)
|Publishing an eventgroup| to offer an eventgroup of a service instance to other ECUs using a SOME/IP-SD message
|Subscribing an eventgroup |to require an eventgroup of a service instance using a SOME/IPSD message.
|unicast event| Events which are transmitted to a unicast endpoint by the ECU which hosts a server service. The unicast endpoint is provided by a particular client service which has subscribed to this server service within the Endpoint Option referenced by a SubscribeEventgroup entry (see client service unicast endpoint).
|multicast event| Events which are transmitted to a multicast endpoint by the ECU which hosts a server service. A multicast endpoint could be provided by the server service (see server service multicast endpoint) and client service (see client service multicast endpoint).
|server service multicast endpoint| Multicast endpoint (including IP multicast address, port, and protocol) provided by the server service to announce where the server service transmits multicast-events to with respect to the configured MULTICAST_THRESHOLD.
|client service unicast endpoint|Unicast endpoint (including IP multicast address, port, and protocol) provided by the client service to announce where the client service expects to receive events from the corresponding server service. Please note, if the MULTICAST_THRESHOLD has been exceeded on server service side, then the server service automatically switches from the client service unicast endpoint to the server service multicast endpoint to provide events.
|client service multicast endpoint|Multicast endpoint (including IP multicast address, port, and protocol) provided by the client service to announce where the client service expects to receive events from the corresponding server service. This could be used alternatively to a client unicast endpoint. Please note, if the MULTICAST_THRESHOLD has been exceeded on server service side, then the server service automatically switches from the client service multicast endpoint to the server service multicast endpoint.
|Security Association|Mechanism to provide secure encrypted communication between commuication partners. This for example applies to IPSec, MACsec, (d)TLS and possible other security protocols.
|Secured Port| Network Port, on which a Security association is applied to be secured from unauthorized communication.


## 英日
日本語は仮訳
|no.|count|word|日本語|
|:----|:----|:----|:----|
|1|1527|ip|internet protocol|
|2|1151|the|その|
|3|1089|sd_|SD_|
|4|812|service|奉仕|
|5|681|prs_some|prs_some|
|6|521|to|に|
|7|464|of|の|
|8|438|shall|しなければならない|
|9|407|rs_some|rs_some|
|10|395|event|行事|
|11|340|a|一つの|
|12|328|and|と|
|13|316|be|です|
|14|310|group|班|
|15|295|some|いくつかの|
|16|282|protocol|規約|
|17|280|c|c|
|18|266|discovery|発見|
|19|237|is|は|
|20|234|subscribe|申し込む|
|21|210|client|顧客|
|22|205|id|id|
|23|202|multicast|マルチキャスト|
|24|202|sd|SD|
|25|196|option|選択肢|
|26|193|entry|記入|
|27|181|server|奉仕|
|28|179|endpoint|終点|
|29|177|for|にとって|
|30|173|with|と|
|31|158|in|中に|
|32|153|set|設定する|
|33|143|x|x|
|34|135|not|いいえ|
|35|134|instance|実例|
|36|120|d|d|
|37|119|if|もし|
|38|116|autosar|autosar|
|39|113|ipv|ipv|
|40|112|this|これ|
|41|109|from|から|
|42|108|offer|定時|
|43|108|specification|仕様|
|44|104|as|なので|
|45|104|document|資料|
|46|104|phase|段階|
|47|104|unicast|ユニキャスト|
|48|103|by|に|
|49|102|r|r|
|50|99|events|行事|
|51|96|fo|foundation(短縮名)|
|52|95|autosar_prs_some|autosar_prs_some|
|53|92|are|それは|
|54|91|entries|記入|
|55|91|or|または|
|56|85|subscribed|購読した|
|57|80|counter|計数器|
|58|80|options|選択肢|
|59|80|subscription|購読|
|60|80|that|それ|
|61|79|port|港|
|62|77|bit|binary digit(短縮名)|
|63|72|address|住所|
|64|72|initial|最初の|
|65|68|on|の上|
|66|68|uint|unsigned integer(短縮名)|
|67|67|ack|acknowledge(短縮名)|
|68|67|used|使った|
|69|66|messages|伝言|
|70|64|type|型|
|71|63|reserved|予約済み|
|72|62|message|伝言|
|73|61|an|一つの|
|74|57|figure|形|
|75|57|receive|受け取る|
|76|57|version|版|
|77|56|length|長さ|
|78|52|number|番号|
|79|52|transport|輸送|
|80|51|e|e|
|81|51|send|送信|
|82|50|tcp|tcp|
|83|48|find|探す|
|84|47|configuration|構成|
|85|47|udp|udp|
|86|46|field|分野|
|87|46|up|上|
|88|43|following|続く|
|89|43|it|それ|
|90|43|same|同じ|
|91|42|repetition|繰り返し|
|92|42|wait|待つ|
|93|41|only|それだけ|
|94|40|use|使う|
|95|39|state|状態|
|96|38|layer|層|
|97|37|which|どの|
|98|36|run|走る|
|99|36|ttl|time to live(短縮名)|
|100|35|different|違う|
|101|35|note|覚書|
|102|35|reboot|再起動|
|103|35|services|奉仕|
|104|35|stop|止める|
# 参考(reference)
[1] Glossary, AUTOSAR_TR_Glossary
https://www.autosar.org/fileadmin/standards/23-11/FO/AUTOSAR_FO_TR_Glossary.pdf

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

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

# 文書履歴(document history)
ver. 0.01 初稿　　20231203

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

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

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

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