Explanation of ara::com API  AUTOSAR 846, R23-11, AP

Explanation of ara::com API
https://www.autosar.org/fileadmin/standards/R23-11/AP/AUTOSAR_AP_EXP_ARAComAPI.pdf

R22-11
https://www.autosar.org/fileadmin/standards/R22-11/AP/AUTOSAR_EXP_ARAComAPI.pdf

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

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

R19-11
https://www.autosar.org/fileadmin/standards/R19-11/AP/AUTOSAR_EXP_ARAComAPI.pdf

R19-03
https://www.autosar.org/fileadmin/standards/R19-03/AP/AUTOSAR_EXP_ARAComAPI.pdf

R18-10
https://www.autosar.org/fileadmin/standards/R18-10_R4.4.0_R1.5.0/AP/AUTOSAR_EXP_ARAComAPI.pdf

R18-03
https://www.autosar.org/fileadmin/standards/R18-03_R1.4.0/AP/AUTOSAR_EXP_ARAComAPI.pdf

R17-10
https://www.autosar.org/fileadmin/standards/R17-10_R1.2.0/AP/AUTOSAR_EXP_ARAComAPI.pdf


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

# Release Overviews
Classic Platform Release Overview, AUTOSAR No.0 ,R23-11, CP
https://qiita.com/kaizen_nagoya/items/8468435185e109189ead

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
# Terms

|terms(Acronyms and abbreviations)| Description|
|:--|:--|
ara::com
COMMUNICATION_GROUP_SERVER
COMMUNICATION_GROUP_CLIENT
ctor
dtor
std::future
ara::core::ErrorCode
Violation
Corruption
ara::com::InstanceIdentifier
ara::com::InstanceIdentifierContainer
ara::com::ComErrorDomain
ara::com::e2e::E2EErrorDomain
ara::core::Result
ara::core::Future
ara::core::Promise
ara::core::Optional
ara::core::GetResult
ara::com SubscriptionState
ara::com MethodCallProcessingMode
ara::core::InstanceSpecifier
ara::com::HandleType
ara::com::FindServiceHandle
ara::com::FindServiceHandler
ara::com::SamplePtr
ara::com::SampleAllocateePtr
C++ namespace of functional cluster Communication Manage- ment
COMMUNICATION_GROUP_SERVER according to [TPS_- MANI_03628] of [1]
COMMUNICATION_GROUP_CLIENT according to [TPS_- MANI_03628] of [1]
C++ constructor
C++ destructor
C++ std::future provides a mechanism to access the result of asynchronous operations
ara::core::ErrorCode according to [SWS_CORE_00501] of [2]
Violation according to [SWS_CORE_00021] of [2]
Corruption according to [SWS_CORE_00022] of [2]
ara::com Instance Identifier according to [SWS_CM_00302] of [3]
ara::com Instance Identifier Container according to [SWS_CM_- 00319] of [3]
ara::com::ComErrorDomain according to [SWS_CM_10432] of [3]
ara::com::e2e::E2EErrorDomain according to [SWS_CM_10474] of [3]
Returned result object according to [SWS_CORE_00701] of [2]
Returned future object according to [SWS_CORE_00322] of [2]
Returned promise object according to [SWS_CORE_00341] of [2]
Provides access to optional record elements according to [SWS_CORE_01033] of [2]
GetResult according to [SWS_CORE_00336] of [2]
SubscriptionState according to [SWS_CM_00310] of [3]
MethodCallProcessingMode according to [SWS_CM_00301] of [3]
ara::core Instance Specifier according to [SWS_CORE_08001] and following of [2]
ara::com HandleType according to [SWS_CM_00312] and follow- ing of [3]
ara::com FindServiceHandle according to [SWS_CM_00303] and following of [3]
ara::com FindServiceHandler according to [SWS_CM_00383] and following of [3]
ara::com::SamplePtr according to [SWS_CM_00702] and follow- ing of [3]
ara::com::SampleAllocateePtr according to [SWS_CM_00308] and [SWS_CM_00306] and following of [3]
Proxy::Event::Subscribe
Proxy::Trigger::Subscribe
Proxy::Event::Unsubscribe
Proxy::Trigger::Unsubscribe
Proxy::GetSubscriptionState
Proxy::SetSubscriptionStateHandler
Proxy::SetSubscriptionStateHandler with Ex- ecutorT
Proxy::UnsetSubscriptionStateChangeHandler
Proxy::GetNewSamples
Proxy::GetNewSamples with ExecutorT
Proxy::GetFreeSampleCount
Proxy::SetReceiveHandler
Proxy::SetReceiveHandler with ExecutorT
Proxy::Trigger SetReceiveHandler
Proxy::UnsetReceiveHandler
Proxy::ResolveInstanceIDs
Proxy::Field Get
Proxy::Field Set
Proxy::FindService
Proxy::FindService with Instance Specifier
Proxy::StartFindService
Proxy::StartFindService with ExecutorT
Proxy::StopFindService
Skeleton::OfferService
Skeleton::StopOfferService
Skeleton::Trigger Send
Skeleton::Event::Send
Skeleton::Allocate
Skeleton::Send with SampleAllocateePtr
Skeleton::ProcessNextMethodCall
Skeleton::ProcessNextMethodCall with Ex- ecutorT
Skeleton::RegisterGetHandler
Skeleton::RegisterGetHandler with Execu- torT
Skeleton::RegisterSetHandler
Skeleton::RegisterSetHandler with Executort
Skeleton::Field Update
IPC
RT
SI
WET
PowerMode
DiagnosticReset
FieldSenderComSpec
Explanation of ara::com API AUTOSAR AP R23-11
EventSubscribe according to [SWS_CM_00141] of [3]
TriggerEventSubscribe according to [SWS_CM_00723] of [3]
EventUnsubscribe according to [SWS_CM_00151] of [3]
TriggerUnsubscribe according to [SWS_CM_00151] of [3]
GetSubscriptionState according to [SWS_CM_00316] of [3]
GetSubscriptionState according to [SWS_CM_00333] of [3]
SetSubscriptionState with ExecutorT according to [SWS_CM_- 11354] of [3]
UnsetSubscriptionStateChangeHandler according to [SWS_- CM_00334] of [3]
GetNewSamples according to [SWS_CM_00701] of [3]
GetNewSamples with ExecutorT according to [SWS_CM_11358] of [3]
GetFreeSampleCount according to [SWS_CM_00705] of [3]
SetReceiveHandler according to [SWS_CM_00181] of [3]
SetReceiveHandler with ExecutorT according to [SWS_CM_- 11356] of [3]
TriggerSetReceiveHandler according to [SWS_CM_00249] of [3]
UnsetReceiveHandler according to [SWS_CM_00183] of [3]
ResolveInstanceIDs according to [SWS_CM_00118] of [3]
FieldGet according to [SWS_CM_00112] of [3]
FieldSet according to [SWS_CM_00113] of [3]
FindService according to [SWS_CM_00622] of [3]
FindService with Instance Specifier according to [SWS_CM_- 00623] of [3]
StartFindService according to [SWS_CM_00123] of [3]
StartFindService with ExecutorT according to [SWS_CM_11352] of [3]
StopFindService according to [SWS_CM_00125] of [3]
OfferService according to [SWS_CM_00101] of [3]
StopOfferService according to [SWS_CM_00111] of [3]
Trigger::Send according to [SWS_CM_00721] of [3]
Event::Send according to [SWS_CM_00162] of [3]
Allocate according to [SWS_CM_90438] of [3]
Send with SampleAllocateePtr according to [SWS_CM_90437] of [3]
ProcessNextMethodCall according to [SWS_CM_00199] of [3]
ProcessNextMethodCall with ExecutorT according to [SWS_- CM_11350] of [3]
RegisterGetHandler according to [SWS_CM_00114] of [3]
RegisterGetHandler with ExecutorT according to [SWS_CM_- 11360] of [3]
RegisterSetHandler according to [SWS_CM_00116] of [3]
RegisterSetHandler with Executor according to [SWS_CM_- 11362] of [3]
Update according to [SWS_CM_00119] of [3]
Inter Process Communication
Realtime
Service Interface
Worst Case Execution Time
PowerMode according to [SWS_SM_91020] of [4]
DiagnosticReset according to [SWS_SM_91015] of [4]
FieldSenderComSpec according to [TPS_MANI_03211] of [1]
|PPortPrototype|PPortPrototype according to [TPS_SWCT_01111] of [5]
|CppImplementationDataType|CppImplementationDataType according to [TPS_MANI_01166] of [1]
|Binding|This typically describes the realization of some abstract concept with a specific implementation or technology.In AUTOSAR, for instance, we have an abstract data type and interface model described in the methodology. Mapping it to a concrete programming language is called lan- guage binding. In the AUTOSAR Adaptive Platform for instance we do have a C++ language binding. In this explanatory document we typically use the tech term bind- ing to refer to the implementation of the abstract (technology in- dependent) ara::com API to a concrete communication transport technology like for instance sockets, pipes, shared memory, ...
|Callable|In the context of C++ a Callable is defined as: A Callable type is a type for which the INVOKE operation (used by, e.g., std::function, std::bind, and std::thread::thread) is applicable. This operation may be performed explicitly using the library function std::invoke. (since C++17)


# Reference

[1] Specification of Manifest AUTOSAR_AP_TPS_ManifestSpecification
[2] Specification of Adaptive Platform Core AUTOSAR_AP_SWS_Core
[3] Specification of Communication Management AUTOSAR_AP_SWS_CommunicationManagement
[4] Specification of State Management AUTOSAR_AP_SWS_StateManagement
[5] Software Component Template AUTOSAR_CP_TPS_SoftwareComponentTemplate
[6] Specification of RTE Software AUTOSAR_CP_SWS_RTE
[7] Middleware for Real-time and Embedded Systems http://doi.acm.org/10.1145/508448.508472
[8] Patterns, Frameworks, and Middleware:Their Synergistic Relationships http://dl.acm.org/citation.cfm?id=776816.776917
[9] SOME/IP Protocol Specification AUTOSAR_FO_PRS_SOMEIPProtocol
[10] E2E Protocol Specification AUTOSAR_FO_PRS_E2EProtocol
[11] Serialization and Unserialization https://isocpp.org/wiki/faq/serialization
[12] Copying and Comparing:Problems and Solutions http://dx.doi.org/10.1007/3-540-45102-1_11
[13] SOME/IP Service Discovery Protocol Specification AUTOSAR_FO_PRS_SOMEIPServiceDiscoveryProtocol

Glossary も付け加えましょう。
https://www.autosar.org/fileadmin/standards/R23-11/FO/AUTOSAR_FO_TR_Glossary.p
df



# 補足資料（Additions）
2023 Countdown Calendar 主催・参加一覧
https://qiita.com/kaizen_nagoya/items/c4c2f08ac97f38d08543

CountDownCalendar月間　いいねをいただいた記事群　views　順
https://qiita.com/kaizen_nagoya/items/583c5cbc225dac23398a

# 関連資料
' @kazuo_reve 私が効果を確認した「小川メソッド」
https://qiita.com/kazuo_reve/items/a3ea1d9171deeccc04da

' @kazuo_reve 新人の方によく展開している有益な情報
https://qiita.com/kazuo_reve/items/d1a3f0ee48e24bba38f1

' @kazuo_reve Vモデルについて勘違いしていたと思ったこと
https://qiita.com/kazuo_reve/items/46fddb094563bd9b2e1e
## 自己記事一覧
プログラマが知っていると良い「公序良俗」
https://qiita.com/kaizen_nagoya/items/9fe7c0dfac2fbd77a945

逆も真：社会人が最初に確かめるとよいこと。OSEK(69)、Ethernet(59)
https://qiita.com/kaizen_nagoya/items/39afe4a728a31b903ddc

「何を」よりも「誰を」。１０年後のために今見習いたい人たち
https://qiita.com/kaizen_nagoya/items/8045978b16eb49d572b2

Qiitaの記事に３段階または５段階で到達するための方法
https://qiita.com/kaizen_nagoya/items/6e9298296852325adc5e

物理記事　上位100
https://qiita.com/kaizen_nagoya/items/66e90fe31fbe3facc6ff

量子(0) 計算機, 量子力学 
https://qiita.com/kaizen_nagoya/items/1cd954cb0eed92879fd4

数学関連記事１００
https://qiita.com/kaizen_nagoya/items/d8dadb49a6397e854c6d

統計(0)一覧
https://qiita.com/kaizen_nagoya/items/80d3b221807e53e88aba

図(0) state, sequence and timing. UML and お絵描き 
https://qiita.com/kaizen_nagoya/items/60440a882146aeee9e8f

品質一覧 
https://qiita.com/kaizen_nagoya/items/2b99b8e9db6d94b2e971

言語・文学記事　１００
https://qiita.com/kaizen_nagoya/items/42d58d5ef7fb53c407d6

医工連携関連記事一覧
https://qiita.com/kaizen_nagoya/items/6ab51c12ba51bc260a82

自動車　記事　１００
https://qiita.com/kaizen_nagoya/items/f7f0b9ab36569ad409c5

通信記事１００
https://qiita.com/kaizen_nagoya/items/1d67de5e1cd207b05ef7

日本語（０）一欄
https://qiita.com/kaizen_nagoya/items/7498dcfa3a9ba7fd1e68

英語(0) 一覧
https://qiita.com/kaizen_nagoya/items/680e3f5cbf9430486c7d

転職(0)一覧
https://qiita.com/kaizen_nagoya/items/f77520d378d33451d6fe

仮説（0）一覧（目標100現在40）
https://qiita.com/kaizen_nagoya/items/f000506fe1837b3590df

音楽　一覧(0) 
https://qiita.com/kaizen_nagoya/items/b6e5f42bbfe3bbe40f5d

「@kazuo_reve 新人の方によく展開している有益な情報」確認一覧 
https://qiita.com/kaizen_nagoya/items/b9380888d1e5a042646b

Qiita(0)Qiita関連記事一覧（自分）
https://qiita.com/kaizen_nagoya/items/58db5fbf036b28e9dfa6

鉄道（０）鉄道のシステム考察はてっちゃんがてつだってくれる
https://qiita.com/kaizen_nagoya/items/26bda595f341a27901a0

安全（0）安全工学シンポジウムに向けて: 21
https://qiita.com/kaizen_nagoya/items/c5d78f3def8195cb2409

一覧の一覧( The directory of directories of mine.) Qiita(100)
https://qiita.com/kaizen_nagoya/items/7eb0e006543886138f39

Ethernet 記事一覧　Ethernet(0)
https://qiita.com/kaizen_nagoya/items/88d35e99f74aefc98794

Wireshark 一覧 wireshark(0)、Ethernet(48) 
https://qiita.com/kaizen_nagoya/items/fbed841f61875c4731d0

線網（Wi-Fi）空中線(antenna)(0) 記事一覧(118/300目標)
https://qiita.com/kaizen_nagoya/items/5e5464ac2b24bd4cd001

OSEK OS設計の基礎　OSEK(100)
https://qiita.com/kaizen_nagoya/items/7528a22a14242d2d58a3

Error一覧 error(0)
https://qiita.com/kaizen_nagoya/items/48b6cbc8d68eae2c42b8

++ Support(0)　
https://qiita.com/kaizen_nagoya/items/8720d26f762369a80514

Coding(0) Rules, C, Secure, MISRA and so on
https://qiita.com/kaizen_nagoya/items/400725644a8a0e90fbb0

coding (101) 一覧を作成し始めた。omake:最近のQiitaで表示しない5つの事象
https://qiita.com/kaizen_nagoya/items/20667f09f19598aedb68

プログラマによる、プログラマのための、統計(0)と確率のプログラミングとその後
https://qiita.com/kaizen_nagoya/items/6e9897eb641268766909

なぜdockerで機械学習するか 書籍・ソース一覧作成中 (目標100)
https://qiita.com/kaizen_nagoya/items/ddd12477544bf5ba85e2

言語処理100本ノックをdockerで。python覚えるのに最適。:10+12
https://qiita.com/kaizen_nagoya/items/7e7eb7c543e0c18438c4

プログラムちょい替え（0）一覧:4件
https://qiita.com/kaizen_nagoya/items/296d87ef4bfd516bc394

Python(0)記事をまとめたい。
https://qiita.com/kaizen_nagoya/items/088c57d70ab6904ebb53

官公庁・学校・公的団体（NPOを含む）システムの課題、官（０）
https://qiita.com/kaizen_nagoya/items/04ee6eaf7ec13d3af4c3

「はじめての」シリーズ　 ベクタージャパン　
https://qiita.com/kaizen_nagoya/items/2e41634f6e21a3cf74eb

AUTOSAR(0)Qiita記事一覧, OSEK(75)
https://qiita.com/kaizen_nagoya/items/89c07961b59a8754c869

プログラマが知っていると良い「公序良俗」
https://qiita.com/kaizen_nagoya/items/9fe7c0dfac2fbd77a945

LaTeX(0) 一覧　
https://qiita.com/kaizen_nagoya/items/e3f7dafacab58c499792

自動制御、制御工学一覧（０）
https://qiita.com/kaizen_nagoya/items/7767a4e19a6ae1479e6b

Rust(0) 一覧　
https://qiita.com/kaizen_nagoya/items/5e8bb080ba6ca0281927

100以上いいねをいただいた記事16選
https://qiita.com/kaizen_nagoya/items/f8d958d9084ffbd15d2a

小川清最終講義、最終講義（再）計画, Ethernet(100) 英語(100) 安全(100)
https://qiita.com/kaizen_nagoya/items/e2df642e3951e35e6a53

＜この記事は個人の過去の経験に基づく個人の感想です。現在所属する組織、業務とは関係がありません。＞
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 初稿 　20231231
### 最後までおよみいただきありがとうございました。
いいね　💚、フォローをお願いします。
#### Thank you very much for reading to the last sentence.
Please press the like icon 💚　and follow me for your happy life.