<!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 a Domain-Specific Language for the Virtual Validation of Cloud-native Mobility Services</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Philipp Heisig</string-name>
          <email>philipp.heisig@fh-dortmund.de</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Christoph Flick</string-name>
          <email>christoph.flick001@stud.fh-dortmund.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dortmund University of Applied Sciences and Arts</institution>
          ,
          <addr-line>Dortmund</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>IDiAL Institute, Dortmund University of Applied Sciences and Arts</institution>
          ,
          <addr-line>Dortmund</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>-Future vehicles can be considered as ”IoT devices on liable vehicle connectivity with changing data transfer rates wheels” as they exhibit high-performance computation resources, must be expected and real-time processing of the resulting various sensing devices, and a data-driven software architecture. data may be necessary for certain features. Furthermore, cloudfWorhiinlenothveataivveaialanbdilditiysruofptaivuetommoobtiilvietybsiegrvdiacteas, pprroovciedsessintghevebhaicslies native mobility services have to scale with the high number of data within the cloud poses also several challenges. A major vehicles on the road, while the architecture has to process also challenge in this context is the validation of cloud-native mobility a variance in data stemming from different types of vehicles. services regarding their proper functionality and the fulfillment Hence, scalable, resilient, and secured mobility services are of non-functional requirements. Due to the cost-efficient nature required to achieve the vision of connected vehicles. soifmsuimlautiloantioinss, mtroarfeficasnidmumlaotrioen uinsedco mfobrinaatiovnirtwuaitlh pnreotowfo-orfk- A major challenge here is to test and validate mobility concept of mobility services and their software architectures. services regarding their proper functionality and the fulfillment Nevertheless, the creation of adequate simulation environments of non-functional requirements, in particular scalability and specific to connected vehicle scenarios is time-consuming and reliability. While occasionally applied test approaches in the requires explicit domain knowledge. In this paper, we present automotive domain focused on the vehicle itself and the adepscrroitpottiyopnicoafl dcoonmnaeicnt-esdpevciefihciclleansgcueangaeritoasiloarnedd tthoe thaeccfoorrdminagl according validation of in-vehicle functionality, cloud-native generation of simulation environments. Therefore, we make use mobility services operate upon networks of vehicles and infrasof the traffic simulator Eclipse SUMO as well as the co-simulation tructure devices and thus require a massive amount of varying environment Eclipse MOSAIC and demonstrate the usage of our and vehicle-specific data that need to be fed into the services DSL via the use case of a restricted traffic zone. Although the for testing. As traffic scenarios are manifold and complex, test iDt SaLlresoadfyarhoelnplsy tsoupapbosrttratchte csoemtuppleoxfitmyiannimd aelatsreaftfihce ssceetn-uaprioosf, drives based on a vehicle fleet or setting up a large number of simulation environments for connected vehicle scenarios. hardware and vehicle nodes to generate vehicle-specific data Index Terms-Connected Vehicles, Simulation, Cloud Comput- are not feasible from an economic and operational perspective, ing, IoT, Domain-specific Language, Software Modeling whereas dummy data lack of semantics and neglect environmental conditions like changing connectivity. I. INTRODUCTION A promising way to still establish a testing process for Technological advances, digitization, and area-wide mobile cloud-native mobility services is the usage of traffic simuInternet have transformed vehicles into software-based high lations to generate context-specific automotive data that goes tech products with built-in connectivity and autonomous driv- beyond rudimentary or fake data-sets. In combination with ing features. These vehicles are characterized by the massive network simulators, connected vehicle scenarios can be viramount of multi-modal data emitted by hundreds of various tually created for a proof-of-concept design and evaluation. sensors [1] to provide context information about the vehicle Due to the cost-efficient nature of simulations, virtual testing itself and its environment, e. g. to detect road conditions, can be carried out through the whole development process and monitor tire pressure, or recognize driver's fatigue. Sharing feedback loops based on simulation data can be established to these data within the Internet of Things (IoT) by means test and improve services again and again. Such feedback is of connected vehicles facilitates vehicle data collection and especially valuable at early stages of a development process processing at scale in multiple and simultaneously operating as it provides crucial insights on potential problems with the services running in the cloud. By utilizing cloud computing defined software architecture or used technology and prevents capabilities for data fusion, analysis, and processing, innova- costly and complex late-lifecycle changes [2]. tive and data-driven mobility services running in the cloud can Nevertheless, simulators are usually specialized in reproducbe realized, spanning from road safety over smart, efficient, ing certain aspects, but at least traffic and network simulators and green transportation to location-dependent services. have to be interconnected to support all of the previously deHowever, connected vehicles operate in a safety-critical and scribed validation aspects for connected vehicle scenarios. Cotime-sensitive environment with changing conditions. Unre- simulation refers to the coupling and composition of multiple</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        simulators to simulate an overall system [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Setting up such
co-simulation environments is, however, a complex and
timeconsuming task that requires a lot of domain knowledge and
may prevent developers and software architects from focusing
on the actual service implementation. As stated by Ersal et
al. [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], more research is needed in usability and specification
validation/testing. Especially small and medium-sized
enterprises (SMEs), cities and municipalities, or service providers
yet outside of the automotive domain, such as insurances, are
potential candidates for realizing innovative and cross-domain
mobility services, but lack expertise in automotive testing and
validation approaches.
      </p>
      <p>To ease the set-up of virtual testing environments and thus
enable the development of cloud-native mobility services, we
propose a model-based scenario description via a
domainspecific language (DSL). Therefore, we define a first prototype
of a DSL in this paper that can be used to generate basic traffic
scenarios as foundation for a virtual testing environment.
In addition, we evaluate the applicability of the DSL via
the use case of a restricted traffic zone service. To run the
simulation, we make use of the co-simulation framework
Eclipse MOSAIC1 along with the traffic simulator Eclipse
SUMO2 and Eclipse MOSAIC’s Simple Network Simulator
for simulating ad hoc communication.</p>
      <p>The remainder of this paper is organized as follows:
Section II introduces a general approach on how to enable virtual
testing of cloud-native mobility services. Afterward,
Section III proposes a first version of a DSL to formally describe
traffic scenarios along with a generator for SUMO simulator
configurations. Section IV then evaluate the applicability of
the DSL via the use case of a restricted traffic zone service,
while Section V discusses the results and potential drawbacks.
Finally, Section VI concludes this work.</p>
      <p>II. VIRTUAL TESTING CLOUD-NATIVE MOBILITY</p>
      <p>SERVICES</p>
      <p>
        This section introduces a model-based approach to ease the
set-up of co-simulation environments for connected vehicle
scenarios. The overall goal is to provide sufficient simulation
data for testing cloud-native mobility services by generating an
adequate simulation environment via a model-based scenario
description. As shown in Figure 1, the approach basically
consists of four steps that are described in the following:
1) Scenario Specification: The first step is the definition of
a connected vehicle scenario including its requirements,
which is usually done by a domain expert in natural
language. Based on this, software architects can start to
define a first sketch of a software architecture and
developers may implement basic functionality. Likely, the
architecture will be based on a microservice architecture
(MSA) to feature scalability and flexibility [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
2) Modeling and Configuration: Within the second step,
the informal Scenario Specification will be formalized
1https://www.eclipse.org/mosaic/
2https://www.eclipse.org/sumo/
via a DSL that is designed for describing connected
vehicle scenarios, e. g. how many and what types of
vehicles should be simulated. In addition, the DSL
can be extended to capture non-functional requirements
towards cloud-native mobility services like scalability.
The resulting Scenario Model, i. e. a model that
conforms to the DSL’s metamodel, acts as input for a set
of Config Generators, which automatically generates
configurations for each simulator used in the scenario.
Depending on the simulation tool and in which way
it can be configured, model-to-model or model-to-text
transformations can be applied for the generation
process.
3) Co-simulation: While the configurations allow to set
up each simulator independently, they still need to be
integrated into a co-simulation environment including
a component that is responsible for orchestrating and
controlling the simulation flow of each simulator to
enable interoperability among the simulators. For this
step, existing open-source co-simulation frameworks
like Eclipse MOSAIC or Eclipse OpenMCx3 are
potential candidates to be used. The simulation environment
then generates large amount of semantically enriched
vehicle data on different levels of detail. For replication
of tests or to carry out tests at any time, the generated
data will be persisted in a database.
4) Feedback Loop: In the last step, test data from the
simulation will be contentiously fed into the mobility
service to test both the service functionality and the
software architecture behind it. Predefined metrics
assess the architecture against the different non-functional
requirements defined in the Scenario Model, such as
response time or the number of vehicles that have been
simultaneously served. The test results are generated
by a Report Generator, which helps the developer to
improve the service implementation and software
architecture behind it. By repeating the test, either via new
or based on the previous data sets, Feedback Loops can
be established.
      </p>
      <p>III. DOMAIN-SPECIFIC LANGUAGE FOR CONNECTED</p>
      <p>VEHICLE SCENARIOS</p>
      <p>While the previous section introduced the overall testing
approach for connected vehicle scenarios, this section aims at
realizing the second step of the approach (Modeling and
Configuration) by proposing a first draft of a DSL for generating
multi-modal traffic scenarios.</p>
      <p>In general, DSLs are languages designed to describe and
solve problems within a specific application domain. DSLs
helps domain expert to read, understand, and even write code
via formalized domain models that conform to the metamodel
of the corresponding DSL. In combination with code
generators, DSLs are powerful tools to abstract the underlying
complexity of software systems and enhance development</p>
    </sec>
    <sec id="sec-2">
      <title>3https://projects.eclipse.org/projects/automotive.openmcx</title>
      <p>efficiency. Thus, we propose the usage of a DSL to formally
describe requirements for connected vehicle scenarios.</p>
      <p>
        However, connected vehicle scenarios are complex and
involve a lot of varying and uncertain factors, e. g. different
vehicles with different configurations are interacting among
each other and with further traffic participants and
infrastructure such as cyclists, pedestrians, traffic lights. This leads to
a tremendous number of possible scenarios that need to be
tested [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Therefore, we focus in this paper on the definition
of minimal traffic scenarios for a first proof of concept. The
scope of the DSL is to provide a simple, straightforward way to
setup a traffic simulator with scenarios and simulator settings.
      </p>
      <p>For the first prototype, our DSL will integrate a code
generator (Config Generator) for the open-source traffic simulation
suite Eclipse SUMO, which is designed for microscopic
simulations and supports, among other things, large road networks
and the modeling of inter-modal traffic systems including
vehicles, public transport, and pedestrians. In addition, Eclipse
SUMO is well established in the research community and
provides real-world scenarios. For the implementation of the
DSL, Eclipse Xtext4 is used as it is also open-source and
provides quality-of-life features such as the editor support.
Listing 1 shows an excerpt of the Xtext grammar for the DSL,
while Table I depicts the different building block in detail.</p>
      <p>The foundation of the DSL is built by one or more
configure blocks which contain the configuration details
for a specific simulator, e. g. configure SUMO could be
used to start a configuration block for SUMO. For each
configure block, and as such for each simulator, a separate
configuration file will be created based on predefined Config
Generator. Therefore, the generator traverses the model and
converts the data from the DSL into simulator-specific
con</p>
    </sec>
    <sec id="sec-3">
      <title>4https://www.eclipse.org/Xtext/</title>
      <p>figuration values. In the case of SUMO, for example, the file
generation feature of Eclipse Xtext is used to create a .sumocfg
file, which is the central configuration for a SUMO scenario.
As the DSL is intended to rely on open standards and reuse
existing tools as much as possible, the road network generator
netgenerate5 in combination with the randomTrips.py script
is used to generate a road network as well as random traffic
demand, respectively, in the form of XML files. In addition to
the DSL’s capabilities to configure the generation of network
and traffic demand, it also allows to refer existing files
alternatively, e. g. from real-world scenarios. Apart from the
ability to describe network and traffic demand, the DSL offers
more configuration options for the simulation in general, e. g.
the user of the DSL can set the step length of the simulation
to influences its granularity.</p>
      <p>Although traffic simulation provides already a meaningful
set of vehicle data for testing, coupling at least a traffic
simulator with a network simulator within a co-simulation
environment is necessary for simulating connected vehicle
scenarios. Eclipse MOSAIC6 is an open-source, multi-domain,
co-simulation framework for connected and automated
mobility that supports the integration and coupling of
simulators from different domains. To run a basic traffic
scenario within Eclipse MOSAIC, a SUMO network file and
a SUMO configuration file are required, whereas the route
file is created by the MOSAIC SUMO Ambassador during
execution. While these files can be already generated with
the SUMO Config Generator of our DSL, running SUMO
within MOSAIC requires further files such as a runtime.json,
a mapping config.json for mapping simulated applications to
the simulation units, and a scenario database, which contains</p>
    </sec>
    <sec id="sec-4">
      <title>5https://sumo.dlr.de/docs/netgenerate.html</title>
      <p>6https://www.eclipse.org/mosaic/
data about the roads, road connections, potential road
restrictions, and all possible routes which vehicles may take in the
simulation. To also automate the setup of these files and run
SUMO scenarios within Eclipse MOSAIC, one can use the
MOSAIC mode of our DSL, which generates the required files
with default values. The mode also enables the simulation
of existing SUMO traffic scenarios with MOSAIC via the
SumoScenarioAmbassador instead of using a scenario
database. Basically, the SumoScenarioAmbassador
implements a TraCI7 client that sends all relevant commands to
the running SUMO instance.</p>
      <p>To further improve the portability of the simulation, a docker
mode was introduced to the language, which can be enabled by
putting mode Docker at the top of a file. When the docker
mode is active, not only the SUMO files are generated but
also a Dockerfile which contains the commands to create a
fully-functional image including the desired simulators and the
setup for those generators. Besides, a README.md gets
generated with instructions and commands to run the dockerized
simulation suite.</p>
      <p>Listing 1</p>
      <p>EXCERPT OF THE DSL’S XTEXT GRAMMAR
Domainmodel:
(’mode’ mode=Mode)?
config+=Config+;
Config:
’configure’ name=Simulator ’{’
(input=Input &amp;
output=Output? &amp;
time=Time? &amp;
routing=Routing?)
’}’;
Input:
’input’ ’{’</p>
      <p>input=(FileInput | GeneratorInput)
’}’;
GeneratorInput:
’generate’ type=GeneratorType ’size’ size=INT;
(’random-seed’ randomSeed=INT)?;
FileInput:
{FileInput}
((’netFile’ netFile=STRING) &amp;
(’routeFiles’ routeFiles=List)? &amp;
(’additionalFiles’ additionalFiles=List)?);
Output:
{Output} ’output’ ’{’
((humanReadable?=’humanReadable’)? &amp;
(’statisticFile’ statisticFile=STRING)? &amp;
(’summaryFile’ summaryFile=STRING)? &amp;
(’tripinfoFile’ tripinfoFile=STRING)?)
’}’;
Time:
{Time} ’time’ ’{’
((’start_at’ start=INT ’seconds’)? &amp;
(’end_at’ end=INT ’seconds’)? &amp;
(’steplength’ steplength=DOUBLE ’seconds’)?)
’}’;
Routing:
{Routing} ’routing’ ’{’</p>
      <p>((’algorithm’ algorithm=Alogrithm)?)
’}’;</p>
    </sec>
    <sec id="sec-5">
      <title>7https://sumo.dlr.de/docs/TraCI.html</title>
      <p>Config
Input
Generator
Input
Generator
Type
FileInput
Output
Time
Routing
List:</p>
      <p>list+=STRING (’,’ list+=STRING)*;
enum Mode:</p>
      <p>Simple | Docker | Docker_TraCI | MOSAIC | MOSAIC_Docker;
enum GeneratorType:</p>
      <p>Grid | Spider | Random;
enum Alogrithm:</p>
      <p>dijkstra | astar | CH | CHWrapper;
enum Simulator:</p>
      <p>SUMO;</p>
    </sec>
    <sec id="sec-6">
      <title>IV. USE CASE: RESTRICTED TRAFFIC ZONE</title>
      <p>This section introduces the use case of a restricted traffic
zone to demonstrate and evaluate the DSL prototype defined
in Section III. In this use case, unauthorized vehicles are
prevented from entering a predefined area for safety reasons,
e. g. when a festival is taking place. Therefore, a roadside unit
is placed near or inside the restricted zone that communicates
with all vehicles close by via ad hoc close-range
communication. The roadside unit request the vehicle type and ID
from each vehicle, calculates the distance of the vehicle to
the restricted traffic zone, and send all data to a cloud-native
service deployed by the city’s traffic department. The service
receives the data and checks if the vehicle is allowed to enter
the zone, e. g. vehicles like an ambulances should be allowed
to enter the zone. If the vehicle is not authorized and violates
the rules by approaching too close to the restricted traffic zone,
the service broadcasts a stop signal via the roadside unit to the
vehicle, which has an in-vehicle application deployed that can
process the stop signal and execute it.</p>
      <p>This use case involves different types of vehicles and
devices with software running on embedded devices as well as
within the cloud. Developing such a service requires a through
investigation and developers implementing the service have
to assess the functionality and software architecture behind
already at early stages of the development process. To save
time, money, and ensure high-quality services, a first proof
of concept via a simulated environment can give valuable
feedback about the service quality and potential technical
problems. Based on the DSL (see Listing 1), a rudimentary
co-simulation environment for the use case can be defined as
shown in Listing 2, which basically creates a SUMO traffic
scenario. Among the traffic simulation via Eclipse SUMO, also
the ad hoc close-range communication between vehicles and
roadside unit as well as the in-vehicle application have to be
simulated. Thus, we make use of the co-simulation framework
Eclipse MOSAIC and accordingly set the MOSAIC mode of
our DSL to further integrate the according simulators.</p>
      <p>Listing 2
EXAMPLE Scenario Model FOR THE RESTRICTED TRAFFIC ZONE USE CASE</p>
      <p>BASED ON THE DSL
mode MOSAIC
configure SUMO {
input {
netFile "highway.net.xml"
routeFiles "highway.rou.xml"
}
time {
start_at 0 seconds
end_at 1000 seconds
}
}</p>
      <p>For the simulation of the in-vehicle application, a predefined
Java class implementing the VehicleOperatingSystem
interface is added in the generated mapping config.json file.
The application simply reduces the vehicle speed in case
it receives a stop signal. Within the mapping config.json
file, also the location of the roadside unit can be set via
latitude and longitude values. The communication between
the roadside unit and vehicles is based on IEEE 802.11p and
can be simulated by using the Simple Network Simulator,
which is already integrated in Eclipse MOSAIC and can be
configured within the sns config.json file, e. g. the
communication range can be altered by setting the maximum allowed
number of hops. For the implementation of the roadside
unit application, Eclipse MOSAIC integrates another interface,
called RoadSideUnitOperatingSystem, that provides
functionality specific to roadside units, e. g. vehicle routing.
The application creates a loop in which it broadcasts a message
every few milliseconds to all vehicles inside the prior defined
geographical area using the GeoArea class.</p>
      <p>Figure 2 shows the running simulation of the defined use
case, which is the third step of the process in Section II.
During the simulation, vehicles were spawned on a highway
and then attempted to drive through the restricted area. In the
figure, simulation units sending messages are colored in red
while units receiving messages are colored green, i. e. vehicles
inside the area are receiving messages, and the roadside unit is
sending messages. Due to different vehicle speeds, the braking
distance of each vehicles differs accordingly.</p>
    </sec>
    <sec id="sec-7">
      <title>V. DISCUSSION</title>
      <p>The use case in the previous section demonstrated that our
DSL prototype allows a highly expressive description of basic
traffic scenario configurations by means of road networks as
well as traffic demand. By using the code generation facilities
of Eclipse Xtext, SUMO simulation scenarios can be generated
and also integrated in the co-simulation environment Eclipse
MOSAIC. In addition, we support dockerized images for
greater portability. Generally, using a DSL improves
productivity and reduces effort when creating traffic scenarios.</p>
      <p>Nevertheless, there are several challenges and drawbacks
we observed when creating the DSL. One central issue when
creating a DSL for the description of traffic scenarios is the
complexity of the domain, especially when the goal of the
language is the generation of concrete simulation scenarios.
The complexity of the DSL and its functionality have to be
carefully balanced so that it is powerful enough to describe
traffic scenarios in a sufficient manner, but still be easily
graspable by domain experts and parsable by a code generator.
If the DSL becomes too complex, it would lose most of its
intended purpose. Essentially, the only remaining advantage
would be the tool support that an DSL provides, such as auto
completion and syntax highlighting.</p>
      <p>For a first prototype, our DSL was narrowed down to the
usage with the traffic simulator Eclipse SUMO. This focus
led to a bias during the design of the DSL, resulting in the
DSL’s structure to be similar to the structure of configuration
files of SUMO scenarios. While this DSL was a first prototype
for a general proof-of-concept if formal description of traffic
scnearios in the context of connected vehicles are applicable,
future versions of the DSL would need certain extensions to
better describe general-purpose traffic scenarios.</p>
      <p>There are also some drawbacks when running a
SUMO scenario within Eclipse MOSAIC via the
SumoScenarioAmbassador instead of having a proper
scenario database file: i) In-vehicle applications can only be
mapped to vehicles types, but not individual vehicles; ii) all
simulated vehicles are spawned by SUMO which prevents
independent vehicle spawners; iii) simulated application are
not able to make use of the navigation module to influence
vehicle’s routing in the applications; and iv) it is not possible
to map applications to traffic lights. Another concern when
using the application simulator in Eclipse MOSAIC to test a
connected vehicle application is that it need to be wrapped
with a MOSAIC application to be testable, which only work
with Java applications currently.</p>
    </sec>
    <sec id="sec-8">
      <title>VI. CONCLUSION</title>
      <p>In this paper, we presented a first prototype for a DSL that
supports the formal description of connected vehicle scenarios
and the automatic derivation of a simulation environment
for the traffic simulator Eclipse SUMO as well as the
cosimulation environment Eclipse MOSAIC via generators.
Despite that the DSL so far only support the setup of minimal
traffic scenarios, we have shown with the use case of a
restricted traffic zone that it is already possible to test more
sophisticated connected vehicles applications that require the
coupling of different simulators. By providing Docker
support, the setup of simulation environments can be significant
simplified. Nevertheless, there are still several drawbacks as
discussed in Section V. Generally, a more generic,
simulatorindependent approach is necessary that also integrates
domainindependent testing aspects like data privacy. Therefore, a
stronger focus should be placed on the integration of available
open-source formats as the DSL foundation, such as ASAM
OpenCRG, OpenDRIVE, and OpenSCENARIO</p>
      <p>
        For the future we are planing to redesign our DSL regarding
more flexibility and provide a ready to use web-based user
interface without the hassle of installing and configuring the
DSL locally. Furthermore, more sophisticated end-to-end
connected vehicle scenarios that integrate additional data sources,
e. g. from traffic infrastructure or the smart city, are required to
extend our DSL with new building blocks. This also includes
the support of additional simulators and automotive standards
such as the Vehicle Signal Specification8. In addition to that,
we want to define metrics to asses the architecture against
nonfunctional requirements as described in step four in Section II.
Therefore, metrics specifically developed for MSAs can be
integrated to identify, for example, microservices anti pattern
[
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] such as API versioning or hard-coded endpoints. Another
example for a MSA-specific metric would be to measure the
cyclic dependency, i. e. the amount of inter-service
communication.
      </p>
    </sec>
    <sec id="sec-9">
      <title>8https://genivi.github.io/vehicle signal specification/</title>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Leandro D'Orazio</surname>
            ,
            <given-names>Filippo</given-names>
          </string-name>
          <string-name>
            <surname>Visintainer</surname>
            , and
            <given-names>Marco</given-names>
          </string-name>
          <string-name>
            <surname>Darin</surname>
          </string-name>
          .
          <article-title>Sensor networks on the car: State of the art and future challenges</article-title>
          .
          <source>In 2011 Design, Automation &amp; Test in Europe</source>
          , pages
          <fpage>1</fpage>
          -
          <lpage>6</lpage>
          . IEEE,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Byron</surname>
            <given-names>J</given-names>
          </string-name>
          <string-name>
            <surname>Williams and Jeffrey C Carver</surname>
          </string-name>
          .
          <article-title>Characterizing software architecture changes: A systematic review</article-title>
          .
          <source>Information and Software Technology</source>
          ,
          <volume>52</volume>
          (
          <issue>1</issue>
          ):
          <fpage>31</fpage>
          -
          <lpage>51</lpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3] Cla´udio Gomes, Casper Thule, David Broman,
          <string-name>
            <given-names>Peter</given-names>
            <surname>Gorm Larsen</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Hans</given-names>
            <surname>Vangheluwe</surname>
          </string-name>
          . Co-simulation:
          <article-title>State of the art</article-title>
          .
          <source>arXiv preprint arXiv:1702.00686</source>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Tulga</given-names>
            <surname>Ersal</surname>
          </string-name>
          , Ilya Kolmanovsky, Neda Masoud, Necmiye Ozay, Jeffrey Scruggs, Ram Vasudevan, and
          <article-title>Ga´bor Orosz. Connected and automated road vehicles: state of the art and future challenges</article-title>
          .
          <source>Vehicle system dynamics</source>
          ,
          <volume>58</volume>
          (
          <issue>5</issue>
          ):
          <fpage>672</fpage>
          -
          <lpage>704</lpage>
          ,
          <year>2020</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Tobias</given-names>
            <surname>Schneider</surname>
          </string-name>
          and
          <string-name>
            <given-names>A</given-names>
            <surname>Wolfsmantel</surname>
          </string-name>
          .
          <article-title>Achieving cloud scalability with microservices and devops in the connected car domain</article-title>
          .
          <source>In Software Engineering (Workshops)</source>
          , pages
          <fpage>138</fpage>
          -
          <lpage>141</lpage>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Sven</given-names>
            <surname>Hallerbach</surname>
          </string-name>
          .
          <article-title>Simulation-based testing of cooperative and automated vehicles</article-title>
          .
          <source>PhD thesis</source>
          , Universita¨t Oldenburg,
          <year>2020</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Pablo</given-names>
            <surname>Alvarez</surname>
          </string-name>
          <string-name>
            <given-names>Lopez</given-names>
            , Michael Behrisch, Laura Bieker-Walz, Jakob Erdmann,
            <surname>Yun-Pang Flo</surname>
          </string-name>
          ¨ttero¨d, Robert Hilbrich, Leonhard Lu¨cken, Johannes Rummel,
          <string-name>
            <given-names>Peter</given-names>
            <surname>Wagner</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Evamarie</given-names>
            <surname>Wießner</surname>
          </string-name>
          .
          <article-title>Microscopic traffic simulation using sumo</article-title>
          .
          <source>In The 21st IEEE International Conference on Intelligent Transportation Systems</source>
          , pages
          <fpage>2575</fpage>
          -
          <lpage>2582</lpage>
          . IEEE,
          <year>November 2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Davide</given-names>
            <surname>Taibi</surname>
          </string-name>
          , Valentina Lenarduzzi, and
          <string-name>
            <given-names>Claus</given-names>
            <surname>Pahl</surname>
          </string-name>
          .
          <article-title>Microservices antipatterns: A taxonomy</article-title>
          .
          <source>In Microservices</source>
          , pages
          <fpage>111</fpage>
          -
          <lpage>128</lpage>
          . Springer,
          <year>2020</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>