11# Configuration
22
3- The main configuration items we have to deal with in ` mw::com ` are mappings from "logical" service instances to real
3+ The main configuration items we have to deal with in ` mw::com ` are mappings from "logical" service instances to real
44existing service instances with their concrete used technical binding.
55Currently, we prepare our configuration to support the following technical bindings:
66- SOME/IP
@@ -22,7 +22,7 @@ So our implementation of `score::mw::com::ServiceIdentifierType` contains the fu
2222of its short-name-path as its identifying name member.
2323
2424_ Important_ : ` score::mw::com::ServiceIdentifierType ` is a fully binding independent identification of a service type.
25- The technical bindings might use complete different data types for identification of a specific service type.
25+ The technical bindings might use complete different data types for identification of a specific service type.
2626Service versioning is still a very immature topic in AUTOSAR and especially in the SWS Communication Management. So
2727right now our implementation of ` score::mw::com::ServiceVersionType ` fulfills the minimal requirements by providing a major
2828and minor part each typed as ` std::uint32_t ` to fulfill minimal model compatibility.
@@ -34,7 +34,7 @@ We have to clearly separate those two notions within our configuration.
3434The ` ServiceTypeDeployment ` aka ` Service Interface Deployment ` in AUTOSAR speech, maps a binding independent
3535` ServiceType ` to a concrete technical implementation.
3636The binding independent ` ServiceType ` is defined within AUTOSAR metamodel by its Service Interface and its
37- corresponding [ service type identification] ( #service-type-identification ) .
37+ corresponding [ service type identification] ( #service-type-identification ) .
3838So within the configuration we might need to express, how a certain abstract ` ServiceType ` shall be represented in a
3939` SOME/IP ` or a ` LoLa ` binding. For instance, both bindings might use their own, distinct service ID
4040for identification and also the embedded service parts (events, fields, methods) might have different identification and
@@ -54,7 +54,7 @@ specific properties are:
5454
5555### Deployment time decisions
5656While AUTOSAR generally foresees, that ` ServiceTypeDeployment ` aka ` Service Interface Deployment ` is a
57- generation, i.e. pre-compile step, this is ** not** true for our implementation! The amount of code, which is affected at
57+ generation, i.e. pre-compile step, this is ** not** true for our implementation! The amount of code, which is affected at
5858generation time is kept minimal and only applies to binding independent parts of ` mw::com ` . As this is required by the
5959` ara::com ` specification.
6060
@@ -63,20 +63,20 @@ Our technical binding implementation is configured during runtime, when both art
6363
6464### Responsibility for ` ServiceTypeDeployment ` and ` ServiceInstanceDeployment `
6565
66- The responsibility for ` ServiceInstanceDeployment ` is clearly assigned to the integrator of the ECU. The knowledge
66+ The responsibility for ` ServiceInstanceDeployment ` is clearly assigned to the integrator of the ECU. The knowledge
6767about processes and applications is needed, in addition to the knowledge on how to package the ` ServiceInstanceDeployment `
6868config artifacts with the applications.
6969
70- For ` ServiceTypeDeployment ` this is not so clear. In case of ` ServiceTypeDeployments ` for local only communication,
71- which is the case of our ` LoLa ` binding, it is also the job of the ECU integrator, as it is only a local ECU
72- optimization. Without any effect to the boardnet. In case of ` SOME/IP ` ` ServiceTypeDeployments ` , it might be expected
70+ For ` ServiceTypeDeployment ` this is not so clear. In case of ` ServiceTypeDeployments ` for local only communication,
71+ which is the case of our ` LoLa ` binding, it is also the job of the ECU integrator, as it is only a local ECU
72+ optimization. Without any effect to the boardnet. In case of ` SOME/IP ` ` ServiceTypeDeployments ` , it might be expected
7373for the future, that parts of ` ServiceTypeDeployment ` come from central toolchains (Symphony).
7474
7575## Instance Specifiers
7676
7777` InstanceSpecifier ` is an AUTOSAR AP mechanism to specify some instance of a service type in a binding or deployment
7878independent way ** within the source code** !
79- If you look at the underlying (` ARXML ` ) model of your software component, you express the provision of a specific
79+ If you look at the underlying (` ARXML ` ) model of your software component, you express the provision of a specific
8080service instance or the requirement of a specific service instance with a P-port or R-port respectively, which is typed
8181by the service interface, from which the [ service type identification] ( #service-type-identification ) is deduced.
8282Such a port instance also has (like a service interface) a fully qualified name (expressed via a short-name-path),
@@ -160,7 +160,7 @@ part and a `ServiceInstanceDeployment` (`service_instances`) in the lower part.
160160
161161As you see in this example, we map the ` InstanceSpecifier ` (i.e. port) ` "abc/abc/TirePressurePort" ` to concrete service
162162instances.
163- What is ** not** visible here: Whether ` "abc/abc/TirePressurePort" ` is a provided or required service instance. Both
163+ What is ** not** visible here: Whether ` "abc/abc/TirePressurePort" ` is a provided or required service instance. Both
164164could be possible, since we do support 1 to n mappings in both cases.
165165Here we have a mapping of ` "abc/abc/TirePressurePort" ` to two different concrete technical instances: The first one is a
166166SOME/IP based instance (so it is most likely used for inter ECU, network communication) and the second is a concrete
@@ -173,7 +173,7 @@ initialization from a default manifest or configuration path, an explicit user p
173173a directly handed over JSON.
174174The sequence during startup would look like this:
175175
176- < img src = " broken_link_k/swh/ddad_score/ mw/com/design/configuration/sequence_startup_view.uxf?ref=18c835c8d7b01056dd48f257c14f435795a48b7d " />
176+ ![ SEQUENCE_STARTUP_VIEW ] ( "broken_link_k/swh/safe-posix-platform/score/ mw/com/design/configuration/sequence_startup_view.puml" )
177177
178178During this call a singleton instance of ` score::mw::com::impl::Runtime ` gets created, which gets the parsed/validated
179179configuration in the form of ` score::mw::com::detail::Configuration ` .
@@ -182,7 +182,6 @@ configuration in the form of `score::mw::com::detail::Configuration`.
182182* one (` instanceInstances ` ), which holds the ` ServiceInstanceDeployment ` s, where the key is the ` InstanceSpecifier ` . The
183183 ` ServiceInstanceDeployment ` s refer to/depend on the ` ServiceTypeDeployment ` s.
184184
185- Details can
186- be seen in the following class diagram:
185+ Details can be seen in the following class diagram:
187186
188- < img src = " broken_link_k/swh/ddad_score/ mw/com/design/configuration/structural_view.uxf?ref=18c835c8d7b01056dd48f257c14f435795a48b7d " />
187+ ![ STRUCTURAL_VIEW ] ( "broken_link_k/swh/safe-posix-platform/score/ mw/com/design/configuration/structural_view.puml" )
0 commit comments