<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Towards Semantic model-to-model Mapping of Cross-Domain Component Interfaces for Interoperability of Vehicle Applications</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>An Approach towards Synergy Exploration</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Juergen Mottok Dept. of Electrical Engineering and Information Technology OstBayerische Technical University(OTH)</institution>
          ,
          <addr-line>Regensburg Regensburg</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Premek Brada Dept. of Computer Science and Engineering, Faculty of Applied Sciences University of West Bohemia Pilsen</institution>
          ,
          <country country="CZ">Czech Republic</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Sangita De, Michael Niklas and Brian Rooney Continental AG</institution>
        </aff>
      </contrib-group>
      <fpage>57</fpage>
      <lpage>64</lpage>
      <abstract>
        <p>-With the increase in demand of services in the automotive industry, automotive enterprises prefer to collaborate with other qualified cross-domain partners to provide complex automotive functions (or services), such as autonomous driving, OTA (Over The Air) vehicle update, V2X (Vehicle-to-Vehicle communication), etc. One key element in cross-domain enterprise collaboration is the mutual agreement between interfaces of software components. In this context, model-to-model mappings of software component models of heterogeneous frameworks for automotive services and to explore the synergies in their interface semantics, have become an essential factor in improving the interoperability among the automotive and other cross-domain enterprises. However, one of the challenges in achieving cross-domain component interface model-to-model mappings at an application level lies in detecting the interface semantics and the semantic relations that are conveyed in different component models in different frameworks. This paper addresses this challenge using a Model Driven Architecture (MDA) based analytical approach to explore interface semantic synergies in the cross-domain component meta-models that are used for automotive services. The approach applies manual semantic checking measurements at an application interface level to understand the meanings and relations between the different meta-model entities of crossdomain framework software components. In this research, we attempt to ensure that interface description models of software components from heterogeneous frameworks can be compared, correlated and re-used for automotive services based on semantic synergies. We have demonstrated our approach using component meta-models from cross-domain enterprises, that are used for the automotive application domain.</p>
      </abstract>
      <kwd-group>
        <kwd>component</kwd>
        <kwd>Framework</kwd>
        <kwd>domain</kwd>
        <kwd>interface</kwd>
        <kwd>semantic</kwd>
        <kwd>mapping</kwd>
        <kwd>synergy</kwd>
        <kwd>metamodel</kwd>
        <kwd>syntax</kwd>
        <kwd>application</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>I. INTRODUCTION</title>
      <p>Today’s vehicle electronics are essentially clusters of
heterogenous ECUs (Electronic Control Units) from various
suppliers with varying levels of complexity. From simple
sensor/actuators all the way up to High Performance
Computing (HPC) chipsets, communicating over
heterogeneous communication networks or even off-car to
Wireless Networks. The application (app) developers must
have knowledge of a wide range of technologies instead of
being focused on a particular technology such as
programming or data interchange. The automotive software
industry always looked for means to narrow the gap on the
way from requirement to software. Therefore, this would
Copyright © 2019 for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0)</p>
      <p>
        Current System Engineering models in an automotive
domain such as SysML (System Modelling Language), UML,
etc. allows graphical modelling of component interfaces
independent of software. Typically, an Interface Description
Language (IDL) defines the software interface agreements
between the app component interfaces. IDLs are typically
bound to one or more programming language generators. Over
the time, in the automotive app domain the level of abstraction
at which functionality is specified, published and or consumed
has gradually become higher and higher [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. Eventually
progress has been made from modules, to objects, to
components, and now to services [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. A service is the major
construct for publishing and should be used at the point of
each significant interface. Today most of the SWC interfaces
are based on Service Contracts, thereby allowing
heterogeneous systems to communicate and interchange their
services. The SOA (Service-Oriented Architecture) pattern
allows us to manage the usage (delivery, acquisition,
consumption, etc.) in terms of, related services [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. To bridge
the semantic gap between the FW SWCs and to achieve
interoperability by reusing of artifacts, requires understanding
of the semantic mapping at app SWC interface level [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ][
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>
        The IDLs that are used for automotive app domain SOSCM
(Service- Oriented Software Component Model) interface
description may need to consider the following fundamental
characteristics[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]:
      </p>
      <p>Interface type: The distinction of the basic interface
type: operation-based (e.g. methods invocations) and
data-based service interface (e.g. data passing).</p>
      <p>Separation of Interface Roles: The distinction between
the provides-part and the requires-part of a service
interface.</p>
      <sec id="sec-1-1">
        <title>Interface interaction points: Service</title>
        <p>interaction points (e.g. ports, topics, etc.).
interface
Method invocation: Method signatures containing
information with valid parameter types, e.g.
Clientserver, Sender-Receiver, Publish-Subscribe etc.
•
•</p>
        <p>Attributes: Specification of attributes or fields e.g.
getters, setters, Notifiers, etc.
• Interaction with Connectors: Specification of software
connectors used for realization of an interface mapping
between provider and receiver SWCs interfaces.
• Interface Behavior &amp; Semantic Annotation
constraints: The invariants, pre- and postcondition
constraints of a component interface internal behavior
depends on the state of the SWC.
• Interface Binding: The binding type describes the way
a vehicle app SWC interfaces binds to a middleware
communication protocol for intra- or inter-ECU
communication.</p>
        <p>A component construct fundamentally combines both
service interfaces and interaction description. However, SWC
interface binding to middleware is not considered in the
current scope to align the focus towards interface semantic
synergies exploration for heterogeneous component models
purely at app level.</p>
      </sec>
      <sec id="sec-1-2">
        <title>A. Contribution of the Report</title>
        <p>
          The automotive industry can be regarded as a complex yet
connected network (ecosystem) of highly interdependent
subsystems as seen in Fig. 1. Systems with a heterogeneous
implementations, architectures, semantics have to be
integrated into collaborative environments to support
automotive complex services. The interoperability between
them has become a major challenge in this new ecosystem,
thereby generating several research questions about how to
manage the information exchange and collaboration between
these heterogeneous system’s FWs at app level with so vastly
different properties [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]. This paper presents a detailed
investigation on semantic survey of the component interface
models of various cross-domain FWs. The paper explores the
possibilities of semantic service-based interfaces matches and
reveals the areas of semantic mismatches between the
information ex-change formats of heterogeneous system’s
FWs at an app level where the interoperability is crucial [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ].
The proposed solution in this paper is based on exploration of
component interface semantic synergies [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ][
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]. Exploration of
interface semantic synergies could also further aid in SWC
reusability in the future.
        </p>
        <p>B. Motivation Scenario and Related Work</p>
        <p>
          In the last decade a plethora of different interface
specification models or IDLs were designed using different
technologies to support automotive app domain. This could be
due to the fact: firstly, coexistance of new ECU HW interfaces
with legacy as seen in Fig. 1, secondly, the conformance to
frequent new standards in automotive domain [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ], thirdly, the
non-functional system requirements such as performance and
scalability. Unlike adaption of ADLs (Architecture
Description Languages) of frameworks that requires adaption
of the entire end-to-end stack at system specification level,
adaption of IDLs would basically focus on adaption of
components, ports, connectors, algorithmic code of FW
SWCs purely at an app level [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ]. To increase interoperability
and efficient reuse of component interface model, it is
important to understand the differentiation of component
model interfaces.
        </p>
        <p>Fig. 1. An Overview of Service Interdependent Communication between
the ECU partitions</p>
        <p>
          The authors of [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] proposes a Component Model
Classification FW which identifies and discusses the basic
principles of component models. The authors of [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ] proposes
alignment of ontologies of source UML models with semantic
heterogeneity into a single ontology or merged coherent
model by using a process of detection and resolution of
semantic conflicts that may exist among the different UML
models. To deal with interoperability, one possible option is
to make each component implement several interfaces, which
makes the software interface unnecessarily big. A second
possible option may be to provide different implementations
of a single component for each of the automotive development
environments. Such a solution however, will increase the
development cost and test effort. A third option could be to
possibly consider the role of connectors in the construction of
a software system from reusable components that is to
consider especially the role connectors should play when the
distribution and deployment of a component-based
application is considered, as proposed by authors of [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ].
        </p>
        <p>
          In this context Software Adaption is a promising approach
to build flexible interfaces for variable software systems.
Authors of [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ] proposes adapter systems to deal with service
mismatch problems that can happen in the information
exchange in heterogeneous SOA-based environments where
the interoperability is crucial. The authors of [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] present an
automated approach to model-to-model mapping and
transformation methodology, which applies semantic and
syntactic checking measurements to detect the meanings and
relations between different models automatically. The authors
of [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] propose component model-to-model transformations
to establish translation of semantics by manual mapping of
programming languages of heterogeneous platforms [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ].
        </p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>II. METHODOLOGY</title>
      <p>
        With the proposed methodology based on static analysis
of interface semantics, we have attempted to provide a level
of abstraction at SWC interface semantic specification level
and have defined an abstract UML profile (M2 level) model
also called Component-Port-Connector (CPC) model [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]
[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], to describe each of the cross-domain FW SWC constructs
in context of interfaces. The SWC constructs agrees mostly to
the traits that are visible in the Black-box view of a component.
A SWC construct of SOA based automotive app domain FWs
fundamentally represents (i) the SWC
service-basedinterfaces used for the interaction with the other components
for inter- or intra-ECU communication, and (ii) the means of
SWC binding and communication using middleware. With the
given approach each of the FW SWC constructs are
represented using the CPC models, abstracted from the SWC
meta-models of heterogeneous domain FWs.
      </p>
      <p>A. Classified Levels for Semantic Survey of Software
Component Interfaces</p>
      <p>
        To illustrate the approach of static semantic analysis of
SWC interfaces, we have considered few of the SWC
constructs of the cross-domain platforms supporting
automotive apps. In this approach, Interface Syntactic level
was not considered as it covers only the syntactic aspect and
describes the signature of an interface in a FW specific
programming language and is relatively out of current
research scope. For simplicity, we have classified SWC
constructs into three basic levels [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ][
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] :
• Interface Semantic level: reinforces the syntactic level
and concerns with the meaning of features often
specified by the expectations and effects of individual
features. A generalization of this level can be assumed
as semantics [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
• Interface Behavioral level: represents dynamic
behavior of service-based interfaces based on
constraints (e.g. constraints on their temporal ordering,
precondition, postcondition, invariants, etc.). It
expresses their internal behavior (e.g. internal states).
      </p>
      <p>
        Composition level: Connection represents interactions
between interface functionalities and behavior in two
components as far as accessible through SWC ports [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]
e.g. Synchronous, Asynchronous, etc.
      </p>
      <p>
        Fig. 2 illustrates automotive app domain SWC constructs
represented by an abstract generic CPC model [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ][
        <xref ref-type="bibr" rid="ref12">12</xref>
        ][
        <xref ref-type="bibr" rid="ref19">19</xref>
        ].
Towards the SWC interface semantic synergy exploration, the
structure of an abstract generic CPC model illustrates the
abstract view of the components at different containment
levels, their interface types, their typed input and output ports,
and the connectors between them. Abstraction of the generic
CPC model emphasize on the common service-based interface
semantic properties and hide the platform specific details that
are not needed in the interface description [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ].
      </p>
      <p>
        A generic specific CPC model can further provide
knowledge base for future automotive domain specific
software solution such as coherent, unified IDL or a Meta-IDL
model. With the reference to the abstract generic CPC model,
we have tried to represent the CPC model for each of the FW
SWC constructs based on three identified basic levels:
Interface semantic, Interface Behavior and Composition [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
With the semantic survey we have compared and revealed the
areas of service interface semantic matching and mismatches
among the cross-domain FW IDLs at model level in reference
to the generic CPC model.
dds
gRPC
rest
rpc
inter_service_comm_protocol
1. .*
      </p>
      <p>Binder</p>
      <p>PostCondition
operation_based</p>
      <p>Port_based
In-interface:Client
Out-interface:Server</p>
      <p>In-interface:
Subscribe
Out-interface:</p>
      <p>Publish
Connectors</p>
      <p>Synchronous
Asynchronous
III. A SEMANTIC COMPARISON OF COMPONENT CONSTRUCTS
BETWEEN CROSS-DOMAIN FWS AND AUTOMOTIVE FW
This section provides an overview of abstract SWC
interface model descriptions in context of “constructs”, for
those FW components that are used in automotive app
domain. The meta-models used for component constructs
identifies the list of relevant concepts and a list of relevant
relationships between these concepts specific to FWs.
A. Automotive Domain: AUTOSAR Adaptive Framework</p>
      <p>AUTOSAR (AUTomotive Open System Architecture) is
widely accepted as the defacto standard of automotive system
software architecture for developing apps of various
automotive platforms during the different phases of a vehicle
life cycle. The AUTOSAR Adaptive platform (AR AP) app
SWC template meta- model is implemented using ARXML
Schema. The AR AP SWC has a service provider port
(PPortPrototype) and a receiver port (RPortPrototype). Each
PortPrototype is typed using service interfaces. An example
of AR AP app SWC (release version 18-10) specific
metaclass DOC_ComponentModel</p>
      <p>G1
P1</p>
      <p>A Semantic Relation
P1 ⊂ G1
∪</p>
      <p>ArgumentDataPrototype
+ direction: ArgumentDirectionEnum
+ serverArgumentImplPolicy: ServerArgumentImplPolicyEnum [0..1]
+argument * {ordered}</p>
      <p>AutosarDataPrototype</p>
      <p>
        C9
model (M2 level) UML profile representation can be seen in
Fig. 3. The Service interface model employed for interface
description is specified using various elements, this includes
[
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]:
•
•
•
      </p>
      <p>Aggregation of variable data prototypes in the role of
Events (VariableDataPrototype);
Aggregation of Getter, Setter and Notifiers in the role
of Fields. A Field is a combination of a Remote
Procedure Call (RPC) and an event.</p>
      <p>Aggregation of Client-Server Operations in the role of
Methods. Arguments data required for Client-Server
Operation is represented in the role of
ArgumentDataPrototype in the meta-model as a
precondition. Method calls used for communication
among SWC types in AR AP can be described as
synchronous or asynchronous (e.g. fireAndForget).</p>
      <p>The service interfaces instances in AR AP are deployed
using RPC communication.</p>
      <p>SwComponentType
Adaptiv eApplicationSw ComponentType</p>
      <p>ARElement</p>
      <p>AtpBlueprint
AtpBlueprintable</p>
      <p>AtpType</p>
      <p>C1
«atpVariation,atpSplitabPle»1
C2
+port 0..*</p>
      <p>AtpBlueprintable</p>
      <p>AtpPrototype
PortPrototype
«atpVariation»
0..* +field</p>
      <p>AutosarDataPrototype</p>
      <p>C8 Field
+ hasGetter: Boolean
+ hasNotifier: Boolean
+ hasSetter: Boolean</p>
      <p>C4</p>
      <p>PortInterface</p>
      <p>C5
CompositionSw ComponentType</p>
      <p>C3
«atpVariation»</p>
      <p>«atpVariation»
+method 0..*</p>
      <p>AtpStructureElement
C6 Identifiable</p>
      <p>ClientServ erOperation
+ fireAndForget: Boolean [0..1]</p>
      <p>Serv iceInterface
«atpVariation»
+event 0..*
C7 AutosarDataPrototype
VariableDataPrototype
B. Infotainment Domain: Franca Framework</p>
      <p>
        Franca IDL (FIDL) is developed as a part of the GENIVI
standard Franca (version 0.13.0) FW and supports IVI
(InVehicle infotainment) system’s interfaces. Franca IDL is
language binding neutral and independent of concrete
bindings. Franca+ IDL (FCDL) provides an extension to the
Franca FW that adds support to the modeling of components,
composition of components, typed ports (provides and
required), port interfaces (optional major and minor versions)
and connectors between ports as seen in the meta-model
represented by UML profile in the Fig. 4 [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. Franca FW
uses FIDL to define app interfaces and FCDL to define app
SWCs and their configurations. Like AR AP, Franca+ FW
also supports the CompositionComponentPrototype (named
as Component). A component contained in a composition is
called Component Prototype.
      </p>
      <p>TABLE I. INTERFACE SEMANTIC SYNERGIES OF SWC MODEL:
AUTOSAR ADAPTIVE VS FRANCA (‘C’ IS CONSTRUCT MODEL ELEMENT)</p>
      <sec id="sec-2-1">
        <title>AUTOSAR Adaptive</title>
        <p>Component Construct Element</p>
      </sec>
      <sec id="sec-2-2">
        <title>Franca Component Construct Element</title>
        <p>C1
C3
C4
C5
C6
C7
C8</p>
        <p>C10
C11
C13
C14
C19
C16
C17</p>
        <p>
          The service attribute marks a component as service
running on the target platform. The Methods, Events, and
Fields of AR AP service interface are semantically aligned to
Franca+ IDL’s (FCDL) Methods, Broadcasts and Attributes.
TABLE I. illustrates interface semantic synergies (indicated
by arrows) observed between the app SWC constructs (only
at app interface level) meta-model elements of AR AP and
Franca FWs. Semantic mapping of Franca IDL
Fire-andForget Method to AR AP app service interface Method can be
achieved by activation of the “fire &amp; forget” semantics of a
given method by setting the value of attribute
method.fireAndForget to value true [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ].
        </p>
        <p>C11</p>
        <p>ServiceComponentPrototype</p>
        <p>C12
«FRInterfacePrototype»</p>
        <p>FPortInterface
+ Fversion:major: int
- Fversion:minor: int</p>
        <p>C14
«FRElement»
FComponentPrototype</p>
        <p>C10
+port</p>
        <p>0...*
«FRpPrototype»
FPortPrototype</p>
        <p>C13</p>
        <p>P2
C16
+broadcast
«FRType»</p>
        <p>FBroadcast
- FrancaProvDataElementsInterface: Dataprototype
- Notification: Dataprototype
+attribute 0...*
+,method
0...*
C17
«FRType»</p>
        <p>FAttribute
+ Getter(): int
+ Setter(): void
«FRType»</p>
        <p>FMethod
C18</p>
        <p>
          The Robot Operating System (ROS) developed by Willow
Garage aims to provide a software development environment
for robotics. ROS is a perfect FW for autonomous driving cars
and provides high-level functions such as route planning,
connectivity, etc. Literally, ROS (version 2.0) is not a
component-oriented software. However, like in many
programming paradigms (objects in object-orientation, etc.),
ROS also strives to build apps from modular units. In the ROS
programming model, the modular programming unit is a node
[
          <xref ref-type="bibr" rid="ref8">8</xref>
          ].Nodes are semantically similar to SWComponentPrototype
in AR AP as can be seen in Fig. 5.
        </p>
        <p>A Topic can be considered as a named communication
channel which is used to send and receive messages between
nodes and can be semantically mapped to PortInterface of AR
AP. In ROS2 (ROS version 2.0) all the necessary information
exchange among nodes is performed through messages. ROS2
has two basic types of interaction endpoints attached to a node
that are data and control interaction endpoints.</p>
        <p>In case of the exchanged information having data
semantics (using DDS: Data Distribution Services) and being
communicated mostly asynchronously (non-blocking mode)
«FrancaDataPrototype»</p>
        <p>FArgument
+ direction: ArgumentDirectionEnum</p>
        <p>1..*
argument</p>
        <p>C15
«FRType»</p>
        <p>FNormalMethod
+ ClientServerOperation()</p>
        <p>«FRType»</p>
        <p>FFirenForgetMethod
+ fireAndForget: Boolean[0...1]</p>
        <p>
          C19
C21
as a pre-condition between invoker and invoke, this
functionality is achieved through introduction of the messages
and the concept of topics to which the messages are published
for subscription [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]. ROS2 TopicSubscription can be
semantically mapped to EventSubscription in AR AP. Data
Semantics are semantically similar to the asynchronous
fireAndForget Method invocation of AR AP [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]. In contrast to
AR AP, the concept of a connection does not exist in ROS2.
Location-transparency between nodes is achieved through the
concept of a master node. The master node provides naming
and registration facilities for all nodes [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ][
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]. In ROS2 in case
of the exchanged information having command semantics and
being communicated mostly synchronously (blocking mode)
as a pre-condition between invoker and invoke, this
functionality is achieved through introduction of a service
concept. The service in ROS2 is defined by a string name and
a pair of messages, a request and a reply message and is
semantically similar to RPC based ClientServerOperation in
AR AP. Unlike AR AP, services cannot be grouped through
service ports in ROS2. In ROS2 component models or nodes
are described using Message Description language (MDL) or
Service Description Language (SDL) based on data and
command semantics requirements.
class RoboticsDomain Model
        </p>
        <p>An Android application runs in its own process and cannot
access the data of another application running in a different
process. To allow one application to communicate with
another running in a different process, Android provides an
implementation of IPC (Inter Process Communication)
through the Android Interface Definition Language (AIDL). It
allows to define the programming interface that both the client
and service agree upon in order to communicate with each
other using IPC. Four different types of app components are
used as essential building blocks of an Android app namely,
Activities, Services, Broadcast receivers and Content
providers.</p>
        <p>Three of the four component types activities, services, and
broadcast receivers are activated by an asynchronous
«SwComponentPtototype,ModularUnit»</p>
        <p>Node</p>
        <p>C22</p>
        <p>0...*
- is Service: Boolean
- isDataflow: Boolean
+ ros::init(): void
+ ros::NodeHandle(): void
+ ros::SpinOnce(): Boolean
C27</p>
        <p>Control Flow
Two-way Semantics(RPC):Blocking mode
Service Driven</p>
        <p>C23
C22
C25
C26
C27
C29</p>
        <p>C28</p>
        <p>P3
Data Flow
(Messages)
One Way Data
Semantics(nonblocking mode)</p>
        <p>
          One way Semantics
(non-blocking
mode)
message called an Intent (also an IPC). Intents bind individual
components to each other at run-time using messages [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ].
However, a data request is treated by the Content Provider
(CP). The requesting data is indicated through URI (Uniform
Resource Identifier), which provides the standard access to
CP. The communication between various functionalities of
app components is provided by Receiver of Broadcast and
Intents (RBI). For the communication, the object Intent must
be passed as a parameter for the RBI to search the
functionality. The broadcast receiver schedules the
JobServices event chains. These Events are semantically
similar to Events used by AR AP app SWCs. However, if an
app service is used only by the local application and does not
need to work across processes, then only a Binder class
implementation can provide direct client access to public
methods in the service [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]. Unlike AR AP apps, for most of
the Android apps, the service doesn’t need to perform
multithreading, so using a Messenger allows the service to handle
one call at a time. If it’s important that the service to be
multithreaded, use of AIDL is preferred to define the interface [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ].
        </p>
        <p>The startService() service method call invoked by a client
result in a corresponding call to the server or service’s
Service.onStartCommand (Intent, int, int) method. On
successful service connection binding with the stub or server,
the client receives an instance of IBinder interface using
onServiceConnected() callback method as seen in Fig. 6.
These method calls of an Android app can be semantically
mapped to ClientServerOperation() method calls and Notifier
fields of an AR AP app SWC. The oneway keyword modifies
the behavior of remote calls. When it is used, a remote call
does not block, it simply sends the transaction data and
immediately returns. The oneway remote method calls can be
semantically mapped to asynchronous ClientServerOperation
or method calls of an AR AP app SWC. If oneway is used with
a local call, there is no impact and the call is still synchronous.
class TelematicsDomain Model</p>
        <p>
          Unlike AR AP app SWC model, Android app model does
not have ports. TABLE III. Illustrates interface semantic
synergies (indicated by arrows) observed between the app
SWC construct (only interface) meta-model elements of AR
AP and Android FWs.
specific software solution for automotive app interface
models, aligning ontologies is a crucial issue in the field of
semantic integration, which aims to find semantic
correspondences between a pair of elements of ontologies by
identifying semantic relations. The interoperability of
different UML profile-based component interface models
(described in section III) within the same vehicle information
system would require a process of detection of interface
semantic synergies and resolution of semantic conflicts. The
ontologies alignment can use one or more similarity measures
(syntactic, semantic and structural) to detect the set of
mappings [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]. To better meet this objective, and to
significantly increase the scope of future semantic integration
algorithms for automotive app interface models following our
approach, an overall semantic ontology mapping must be done
between the different component construct meta-models.
        </p>
        <p>
          If we consider G1, G2, G3 and G4 are the graphical model
representations of different FW component construct
metamodels (as described in section III) and P1,P2,P3 and P4 are
specific semantic relations or ontologies included in G1, G2,
G3 and G4 such that P1 ⊂ G1, P2 ⊂ G2, P3 ⊂ G3 and P4 ⊂ G4.
Then based on interface semantic static analysis approach and
semantic synergy results, we can say that the semantic
ontologies represented by P1, P2, P3 and P4 are such that P1 ≅
P2 ≅ P3 ≅ P4 with overlapping knowledge domains. Therefore,
we can also say that I (G1, G2, G3, G4) is the set of isomorphic
or similar sub-graphs [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]. However, such a semantic
ontology mapping could be better explained with
transformation of the UML profiles in ontologies.
        </p>
        <p>Today the development of vehicle software systems is
getting more and more complex and widely distributed. End
users expect faster, reliable and scalable results despite
unpredictable changes in the market. With the proposed
approach towards interoperability, we were successful to
explore interface semantic synergies among few of the
crossdomain component-based software FWs. The app component
constructs dimension refers to the notions of reusability and
resolvability, which are important principles of CBSE
(Component based Software Engineering). The proposed
approach of interface static semantic analysis ensures that
SWC interface models of heterogeneous frameworks can be
compared, correlated and re-used for vehicle apps. The main
contribution of this paper is based on the semantic survey of
various cross-domain FW SWC interface models from
component construct perspective. The FW components
considered in the research scope are associated with
automotive app domain. Each FW component construct is
represented in a CPC (Component-Port-Connector) model
format using an UML profile (M2 level) representation based
on the hierarchically classified three distinct levels: Semantic,
Behavior and Composition. The semantic survey of IDLs
revealed several areas where they provide common extensive
support, both in terms of modeling capabilities and
algorithmic (IDL) support. On the other hand, the survey also
pointed out areas in which existing IDLs are severely differed
from one another.</p>
        <p>The static interface semantic analysis approach is at a
conceptual stage and is carried out manually. The approach
considered the target meta-model as automotive domain SWC
construct meta-model and the source meta-model as other
cross-domain industrial SWC construct meta-models, for the
semantic mapping (or comparisons). With our approach, we
considered AUTOSAR Adaptive app SWC meta-model as
target model. The intention of this consideration of the target
SWC meta-model is due to the fact that AUTOSAR has been
accepted as a de-facto standard for automotive software
architecture. The decision for the selection of source and
targets meta-models has been made from autonomous driving
app’s interoperability viewpoint. There is no evolutionary
relation between the source and target. In order to transform
source models to target models in future or to evolve the
model transformation rules from source to target, semantic
mappings should be built on the meta-model level and used on
the model level.</p>
        <p>Considering the context of enterprise interoperability and
collaboration that is cross-enterprise, the static interface
semantic analysis and comparison approach could simulate
the process of integrating the information systems of different
enterprises for EIS (Enterprise Integration System)
integration. In the last decade, the automotive and other
crossdomain research in the field of Self-driving has facilitated the
development and state-of-the-art so that this technology is
evaluated nowadays in large-scales on public roads. In this
context of autonomous driving functionality, it is worth to
mention that for some of the other existing cross-domain
component models that we have already shortlisted, we would
like to extend our work in the direction of cross-domain
interface semantic analysis and comparison to explore more
semantic synergies between these component models and
automotive standard FW component models in the future.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>I.</given-names>
            <surname>Crnkovic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Sentilles</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Vulgarakis</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Chaudron</surname>
          </string-name>
          , “
          <article-title>A Classification Framework for Component Models”</article-title>
          ,
          <source>IEEE Transactions on Software Engineering</source>
          <volume>37</volume>
          (
          <issue>5</issue>
          ),
          <fpage>593</fpage>
          -
          <lpage>615</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>T.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Truptil</surname>
          </string-name>
          and
          <string-name>
            <given-names>F.</given-names>
            <surname>Benaben</surname>
          </string-name>
          , “
          <article-title>An automatic model-to-model mapping and transformation methodology to serve model-based systems engineering</article-title>
          ”,
          <source>Information Systems and EBusiness Management</source>
          , Springer Verlag,
          <year>2017</year>
          ,
          <volume>15</volume>
          (
          <issue>2</issue>
          , SI), pp.
          <fpage>323</fpage>
          -
          <lpage>376</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3] AUTOSAR, “
          <article-title>Specification of Manifest”</article-title>
          ,
          <source>AUTOSAR AP Release 18- 10</source>
          ,
          <year>2017</year>
          .http://www.autosar.org.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4] AUTOSAR, http://www.autosar.org, “
          <article-title>Integration of Franca IDL SWC Descriptions”</article-title>
          ,
          <source>AUTOSAR Release 16-11</source>
          ,
          <year>November 2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>H.</given-names>
            <surname>Bruyninckx</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Hochgeschwender</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Gherardi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Klotzbücher</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Kraetzschmar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Brugali</surname>
          </string-name>
          ,
          <article-title>"The BRICS Component Model: a Modelbased Development Paradigm for Complex Robotics Software Systems"</article-title>
          ,
          <source>Annual ACM Symposium on Applied Computing (SAC).</source>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>T.</given-names>
            <surname>Pramsohler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Schenk</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          <article-title>Barthels und U Baumgarten, “A layered interface-adaptation architecture for distributed component-based systems”</article-title>
          . en.
          <source>In: Future Generation Computer Systems</source>
          ,Elsevier,Vol
          <volume>47</volume>
          ,
          <year>June 2015</year>
          ,pp
          <fpage>113</fpage>
          -
          <lpage>126</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>D.</given-names>
            <surname>Bálek</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Plášil</surname>
          </string-name>
          (
          <year>2001</year>
          )
          <article-title>“Software Connectors and Their Role in Component Deployment”</article-title>
          . (eds)
          <article-title>New Developments in Distributed Applications and Interoperable Systems</article-title>
          .
          <source>DAIS 2001. IFIP International Federation for Information Processing</source>
          , vol
          <volume>70</volume>
          . Springer, Boston, MA.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>A.</given-names>
            <surname>Shakhimardanov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Hochgeschwender</surname>
          </string-name>
          , and
          <string-name>
            <given-names>G. K.</given-names>
            <surname>Kraetzschmar</surname>
          </string-name>
          , “
          <article-title>Component Models in Robotics Software”</article-title>
          .
          <source>In Proceedings of the Performance Metrics for Intelligent Systems Workshop (PerMIS</source>
          <year>2010</year>
          ). Baltimore, US.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>D.</given-names>
            <surname>Stampfer</surname>
          </string-name>
          , “
          <fpage>D2</fpage>
          .
          <article-title>2.1 State of the Art on Service-Oriented Software Component Models”</article-title>
          ,
          <source>FIONA ITEA2-12038, version 1</source>
          .0,
          <string-name>
            <surname>March</surname>
          </string-name>
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Birken</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          , http://www.bmw.com “Franca User Guide”, “
          <article-title>Franca Component Definition language Franca+ User guide” “</article-title>
          .
          <source>Release 0.12.0</source>
          .1,
          <string-name>
            <surname>Eclipse</surname>
            <given-names>Foundation</given-names>
          </string-name>
          ,
          <string-name>
            <surname>itemis</surname>
            <given-names>AG</given-names>
          </string-name>
          ,
          <year>2013</year>
          . Release 0.
          <fpage>13</fpage>
          .0,
          <string-name>
            <given-names>BMW</given-names>
            <surname>Group</surname>
          </string-name>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>D.</given-names>
            <surname>Di</surname>
          </string-name>
          . Ruscio,
          <string-name>
            <given-names>D.</given-names>
            <surname>Wagelaar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Iovino</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Pierantonio</surname>
          </string-name>
          <article-title>“Translational Semantics of a co-evolution Specific language with the EMF Transformation Virtual Machine”</article-title>
          ,
          <source>ICMT</source>
          <year>2012</year>
          , pp
          <fpage>71</fpage>
          -
          <lpage>89</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>P.</given-names>
            <surname>Brada</surname>
          </string-name>
          , “
          <article-title>A Look at Current Component Models From Black-box Perspective”</article-title>
          ,
          <source>35th Euromicro Conference on Software Engineering and Advanced Applications</source>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>A. G.</given-names>
            <surname>Parada</surname>
          </string-name>
          and
          <string-name>
            <given-names>L.</given-names>
            <surname>Brisolara</surname>
          </string-name>
          , “
          <article-title>A Model Driven Approach for Android Application Development”</article-title>
          ,
          <source>Brazilian Symposium on Computing System Engineering</source>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>H.</given-names>
            <surname>Benouda</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Essbai</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Azizi</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Moussaoui</surname>
          </string-name>
          , “
          <article-title>Modeling and Code Generation of Android Application Using Acelo”</article-title>
          ,
          <source>International Journal of Software Engineering and Its</source>
          Applications vol.
          <volume>10</volume>
          , No. 3
          <year>2016</year>
          , pp.
          <fpage>83</fpage>
          -
          <lpage>94</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>H.</given-names>
            <surname>Elasri</surname>
          </string-name>
          ,,E.Elabbassi,
          <string-name>
            <given-names>S.</given-names>
            <surname>Abderrahim</surname>
          </string-name>
          and Muhammad, “
          <article-title>Semantic integration of UML Class diagram with Semantic Validation on Segments of Mapping”</article-title>
          ,
          <string-name>
            <surname>ArXiv</surname>
          </string-name>
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>D.</given-names>
            <surname>Sprott</surname>
          </string-name>
          and
          <string-name>
            <given-names>L.</given-names>
            <surname>Wilkes</surname>
          </string-name>
          , “
          <article-title>Understanding Service-Oriented Architecture”</article-title>
          .
          <source>The Architecture Journal</source>
          ,
          <volume>1</volume>
          (
          <issue>1</issue>
          ):
          <fpage>10</fpage>
          -
          <lpage>17</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>C.</given-names>
            <surname>Paniagua</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Delsing</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Eliasson</surname>
          </string-name>
          , “Interoperability Mismatch Challenges in
          <source>Heterogeneous SOA-based Systems”</source>
          ,
          <source>2019 IEEE International Conference on Industrial Technology (ICIT)</source>
          ,
          <source>DOI: 10.1109/ICIT</source>
          .
          <year>2019</year>
          .
          <volume>8754991</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <surname>I. Malavolta</surname>
          </string-name>
          ,
          <article-title>"Software Architecture Modeling by Reuse, Composition and</article-title>
          <string-name>
            <given-names>Customization.</given-names>
            "
            <surname>Universita di L'Aquila</surname>
          </string-name>
          ,
          <string-name>
            <surname>L</surname>
          </string-name>
          'Aquila,
          <source>Italy, Thesis</source>
          <volume>1</volume>
          (
          <year>2012</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19] RobMoSys,“Block-Port.Connector”,
          <source>RobMoSys Wiki</source>
          ,
          <year>June 2017</year>
          http://www.robmosys.eu.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>