<!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>On the Importance of Simulation in Enabling Continuous Delivery and Evaluating Deployment Pipeline Performance</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Andrea D'Ambrogio</string-name>
          <email>dambro@uniroma2.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alberto Falcone, Alfredo Garro</string-name>
          <email>alfredo.garrog@dimes.unical.it</email>
          <email>falberto.falcone, alfredo.garrog@dimes.unical.it</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Andrea Giglio</string-name>
          <email>a.giglio@unimarconi.it</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dept. of Enterprise Engineering, University of Rome</institution>
          ,
          <addr-line>Tor Vergata, Via del Politecnico 1, 00133, Rome</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Dept. of Informatics, Modeling, Electronics and Systems Engineering, University of Calabria</institution>
          ,
          <addr-line>Via P. Bucci 41C, 87036, Rende</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Dept. of Innovation and, Information Engineering, Guglielmo Marconi University</institution>
          ,
          <addr-line>Via Plinio 44, 00193, Rome</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>-In modern Software Engineering, Continuous Delivery (CD) is a development approach in which a software is iteratively developed in short cycles ensuring, for each cycle, that the new features are available to end users as soon as they are implemented and tested. CD aims at defining, building and releasing software with greater speed and frequency through the deployment pipeline resulting in three major benefits, visibility, feedback and continuous deployment respectively, enabling the software functional items to efficiently flow from development to production. In this domain, the need for evaluating the performance of the deployment pipeline emerges, since the conventional metrics available in the software engineering discipline are not suited to handle all the involved aspects. In this paper, the metrics suited for supporting CD are introduced and an integration with Modeling and Simulation (M&amp;S) techniques is discussed, based on the Business Process Model and Notation (BPMN) standard, which could represent a valid support offering a graphical notation to easily specify the deployment pipeline steps as a standard and repeatable process. The main objective is to identify feasible perspectives in which simulation methods and principles can be exploited, thus evaluating the effectiveness of M&amp;S to support performance analysis of a deployment pipeline, seen as a predictable process. Specifically, M&amp;S can be seen as an enabling tool for the evaluation and comparison of different CD choices against requirements through an effective implementation of simulation techniques and virtual testing. Index Terms-Continuous Delivery, Business Process Model and Notation (BPMN), Modeling and Simulation</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>I. INTRODUCTION</title>
      <p>
        Nowadays, in the software engineering and software
development domains, many influencing factors play a fundamental
role in making software production activities increasingly
challenging. Fast-changing customer requirements, as well as
unpredictability of market and the need of an ever shorter time
to-market are non-negligible aspects that have to be taken into
account, since software development has become a demanding
area of business [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. First approaches, strongly based on
attractive lean principles proposed the adoption of strategies such
as “Decide as late as possible” [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ], configured themselves
as early steps towards a Continuous Delivery (CD) approach.
      </p>
      <p>
        Copyright c held by the author
Furthermore, the dramatic impact of the Agile Manifesto on
the way software production is managed, has led in recent
years to the widespread adoption of new emerging approaches
in software engineering. The first of the twelve fundamental
principles defined in the aforementioned manifesto states that
“Our highest priority is to satisfy the customer through early
and continuous delivery of valuable software” [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ].
      </p>
      <p>Despite the fact that continuous delivery was explicitly
mentioned in this principle, its widespread adoption is the
result of an evolution of different approaches through the
years. Starting from continuous integration (CI) shifting
towards modern continuous deployment pipelines, releasing new
software versions early and often has become mainstream, and
now represents a concrete option also for an ever growing
number of companies and practitioners. Let us summarize
some baseline definitions:</p>
      <p>Continuous Integration. CI is the process of ensuring that
a software build is in a correct working state, guaranteeing
developers that the release is suitable for production. In
this approach, members of a team are pushed to integrate
their work frequently, typically each person integrates
at least daily leading to several integrations per day.
It is worth noting that each integration is verified by
an automated build and test procedure with the aim of
detecting integration errors as soon as possible.</p>
      <p>Continuous Delivery. Deriving from CI, CD ensures that
a build is always in a releasable state. Going hand to hand
with a DevOps approach, where the team is responsible
for all aspects of software delivery, after integration and
testing activities the software is actually provisioned to a
full, production-like stack, and delivered to some set of
end users.</p>
      <p>Continuous Deployment. When the entire process, from
check-in to production, is fully automated, with no human
intervention, continuous deployment is implemented.
Deployment Pipeline. The foundation of continuous
delivery is the deployment pipeline, which can be seen the path
that a code change takes from check-in (i.e. the commit
operation) to production.</p>
      <p>CD is a software engineering approach that represents a
huge step forward in productivity and quality for companies
and organizations that adopt it. CD is gaining attention since it
provides a well-established process that allows team members
to work together to define and create large and complex
software with a higher level of control. CI claims to enable
companies to release new features, configuration properties,
bug fixes and tests, to customers safely and quickly in a
sustainable way. This means that it mainly focuses on asserting
the correct compilation of the source code and that it passes
a chain of test units.</p>
      <p>
        However, measuring the performance of a CD deployment
pipeline is a challenging task that requires a considerable effort
in terms of both time and cost. Many companies including
Google, Facebook and IBM are developing their software
products by using CD [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] and are trying to find out viable
solutions to measure the CD performance. To this purpose,
significant benefits can derive from the possibility to perform
Modeling and Simulation (M&amp;S) activities on the CD
deployment pipeline in order to understand, measure and optimize
the behavior of systems on which to perform experiments and
theoretical analyses.
      </p>
      <p>In this context, the paper introduces metrics that are suited to
evaluate the performance of a CD deployment pipeline through
M&amp;S techniques based on the Business Process Model and
Notation (BPMN) standard, in the purpose of defining the
pipeline as a standard process and also of analyzing it as a
repeatable and predictable process.</p>
      <p>The ultimate aim is to provide an exploratory analysis of the
available approaches to minimize the cycle-time in software
production (i.e. the period it takes from an idea to provide
actual business value), and also to investigate the different
domains in which simulation techniques can be fruitfully
exploited to enforce continuous delivery activities through a
deployment pipeline optimization.</p>
      <p>The rest of this paper is organized as follows. Section II
provides an introduction to the essential concepts and
background knowledge on the research domain. The Continuous
Delivery (CD) methodology and the typical architecture of
a CD deployment pipeline are presented along with some
related works available in literature. In Section III, the CD
deployment pipeline is defined through the concepts provided
by the Business Process Model and Notation (BPMN) standard
with particular focus on how to make available Modeling and
Simulation (M&amp;S) practices during the pipeline flow in order
to evaluate, predict and optimize its behavior. Finally, Section
IV discusses the main objectives of the work and presents
some future works.</p>
    </sec>
    <sec id="sec-2">
      <title>II. BACKGROUND AND RELATED WORK</title>
      <p>
        Continuous Delivery (CD) is a concept which has been
taken as a pillar of modern Agile software engineering [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]
because its enables higher software development velocity
and productivity. The concept of continuous delivery means
simplifying and automating the whole delivery process for an
application after the source code has been committed into a
repository. CD is centered around the collaboration aspects of
teams involved in the software production such as, developers,
project managers and users, as well as automating the software
delivery steps so as to ensure that a software is always ready
to be deploy and then delivered to end-users.
      </p>
      <p>
        Basically, the deployment pipeline is an automated process
for getting software from the repository into the hands of
endusers. CD is preceded by the Continuous Integration (CI) in
which the team members integrates the source code [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ], [
        <xref ref-type="bibr" rid="ref34">34</xref>
        ].
This step leads to a faster feedback cycle and to benefits such
as improved productivity and increased communication [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ].
Figure 1 shows the deployment pipeline.
      </p>
      <p>Commit
Build
Test
Deploy</p>
      <sec id="sec-2-1">
        <title>Source Code</title>
      </sec>
      <sec id="sec-2-2">
        <title>Commit</title>
      </sec>
      <sec id="sec-2-3">
        <title>Compile and</title>
      </sec>
      <sec id="sec-2-4">
        <title>Build</title>
      </sec>
      <sec id="sec-2-5">
        <title>Environment tests</title>
      </sec>
      <sec id="sec-2-6">
        <title>Functional tests</title>
      </sec>
      <sec id="sec-2-7">
        <title>Non-Functional tests</title>
      </sec>
      <sec id="sec-2-8">
        <title>Performance tests</title>
      </sec>
      <sec id="sec-2-9">
        <title>Stability tests</title>
      </sec>
      <sec id="sec-2-10">
        <title>Manual tests</title>
      </sec>
      <sec id="sec-2-11">
        <title>Production tests</title>
        <p>Automatic
Manual
e
n
il
e
p
i
P
D
C</p>
        <p>
          The CD deployment pipeline starts when developers commit
the source code changes into the version control system. At
this point, the CI Management System (CI-MS) triggers a
new instance of the deployment pipeline and compiles the
source code. If the compile procedure successfully completed
a transition to the test phase is performed; otherwise the
procedure terminates with an error. In the test phase, the
CI-MS runs a set of unit tests, performs code analysis, and
builds the installer package. In this step, some manual tests
needs to be performed in order to evaluate domain-dependent
functional and non-functional requirements. If all the tests
pass, the executable code is used to generate the binaries that
will be stored in an artifact repository [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ].
        </p>
        <p>The related works available in the literature are vast and
extend through empirical and modeling and simulation
approaches to studying processes in software development.</p>
        <p>
          In [
          <xref ref-type="bibr" rid="ref33">33</xref>
          ] Van Der Hoek et al. identified the problems of
releasing component-based software and presented a flexible
software release management tool that acts as a bridge to
reduces the gap between the development process and
deployment process.
        </p>
        <p>
          Lahtela et al. in [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ] presented nine significant challenges
regarding the delivery process of software. The authors, also
presented solutions to overcome these challenges through
welldefined guidelines on how to build an ITIL-based release
management process and how it should be performed.
        </p>
        <p>
          Kajko-Mattson and Fan in [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ] outlined a model of the
release management process integrating both the vendor and
acceptor sides.
        </p>
        <p>
          Krishnan in [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ] presented an economic model to capture
and analyze a set of tredoffs involved in the software release
decisions and discussed a method to optimize the delivery
process that takes into account crucial factors such as the
software development cycle and the changes in market needs.
        </p>
        <p>
          The above presented works do not cover all the aspects
engaged in the continuous delivery process and do not provide
an adequate view on the issues that can emerge in performing
the release management for IT services [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]. Moreover, they
are based on empirical results and not on simulation ones that
can help to better understand, predict and optimize the delivery
process of software.
        </p>
        <p>Through the following related works, an insight into the
main issues related to the use of modeling and simulation
techniques in delivering software, is given.</p>
        <p>
          Dlugi et al. in [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] highlighted the difficulties to evaluate the
performance of a software release, mainly related to the lack of
a test environment that is comparable to a production system.
The authors introduced a model-based performance change
detection process that uses modeling and simulation methods
for evaluating performance metrics of different software
versions. Also, they developed a a plug-in for a CD deployment
pipeline based on Jenkins.
        </p>
        <p>
          In [
          <xref ref-type="bibr" rid="ref35">35</xref>
          ], Vo¨st and Wagner investigated the CD pipeline
in the automotive domain. They evaluated the effect of
various functional and non-functional requirements on the
development life cycle. They presented a typical delivery
pipeline in automotive software that adopts
Hardware-in-theLoop-Simulation approaches to evaluate the software with the
operating environment.
        </p>
        <p>
          Zia et al. in [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] used the Business Process Model and
Notation (BPMN) standard to evaluate DevOps alternatives.
The effectiveness of BPMN has been demonstrated in other
domain [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ], [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ], [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ], and this can represent a viable solution
to model and simulate CD pipelines.
        </p>
        <p>This paper has various purposes in common with the
presented works but unlike them it introduces metrics to evaluate
the performance of a CD deployment pipeline through M&amp;S
techniques based on BPMN so as to define a standard CD
pipeline on which to perform analysis.</p>
        <p>III. THE PIPELINE AS A STANDARD AND PREDICTABLE</p>
        <p>PROCESS</p>
        <sec id="sec-2-11-1">
          <title>A. The Pipeline</title>
          <p>
            Under the assumption that both a business process
collaboration and a CD deployment pipeline implement an exchange
of information between logical processes, in this paper the
adoption of BPMN as a notation to define a deployment
pipeline is proposed. This allows to perform simulation test
units in order to evaluate the performance of a pipeline through
a set of well-known metrics such as, those presented in [
            <xref ref-type="bibr" rid="ref25">25</xref>
            ].
          </p>
          <p>The deployment pipeline is the workflow, with related
activities, that a source code follows from commit to production.</p>
          <p>
            Each commit, made by the development team, generates a
release candidate of the software which flows through the
pipeline. If everything goes well, which means that all steps
of the pipeline are correctly executed, the software is ready
for release. Figure 2 shows a general CD deployment pipeline
formalized in BPMN notation [
            <xref ref-type="bibr" rid="ref17">17</xref>
            ].
          </p>
          <p>With reference to the BPMN/CD deployment pipeline
depicted in Figure 2, the pipeline starts in the Development
swing-lane where the source code is ready to be committed
into a repository. A transition to the Continuous Integration
swing-lane happens and during the activity transition a
connection to the repository is performed. At this point, the commit
activity is performed in order to save the changes to both the
local and remote repository. In the Build activity, the source
code is built and the resulting executable file is generated.</p>
          <p>After that, a transition to the Simulation activity is done.</p>
          <p>
            Throughout this stage, the new software version is rigorously
tested through simulation techniques to evaluate, predict and
optimize its behavior. It is important that all the requirements
aspects whether functional, non-functional, performance,
security and compliance are verified. For each simulation test,
some software metrics related to various constructs like class,
cohesion and inheritance have been evaluated. To evaluate
the complexity of the source code, three standard metrics,
which are proposed by various researchers, can considered
[
            <xref ref-type="bibr" rid="ref36">36</xref>
            ]: (i) CCM (Cyclomatic Complexity Metric), which is a
metric based on graph theory that represents the number
of linearly independent paths through a program’s code; (ii)
HCM (Halstead Complexity Metric), which measures the logic
volume of the code. It is calculated on the count of the
operators and operands; (iii) (v) NF (number of function),
which represents the total number of functions. Typically,
the lower are the values of these metrics the lower is the
complexity of the source code and thus higher should be the
code compactness, readability and reliability.
          </p>
          <p>In the last activity, named Test units, a set of parametrized
test units are executed. This allows to measure the progress
of the software and detect side effects. A transition to the
Production swing-lane happens if all the activities have been
successfully completed. Otherwise, if at least one activity
failed, a state transition to the source code activity is
performed, since the source code needs to be revised, and the
pipelines terminates.
t
n
e
m
p
o
l
e
v
e
D
n
o
itr
a
g
e
It
n
s
u
o
u
n
it
n
o
C
n
o
it
c
u
d
o
r
P
e
s
a
e
l
e
R</p>
          <p>source code</p>
          <p>The Production swing-lane, the parameters related to the tar- to identify process improvement potential.
get environment (e.g. AWS Amazon Cloud, Microsoft Azure, On the other hand, we find those metrics that refer to the
Google Cloud, etc.) are configured in the Environment con- amount of work done in a certain time, for example the number
figuration activity. Thereafter, the Source code configuration of users (or jobs) that complete the whole process during an
activity is performed, in which the software is configured to observation time. In this case, the abovementioned metrics are
run into the target environment. Finally, additional manual test related to the concept of throughput.
units, which take into account the production environment, are In the context of continuous delivery and deployment, the
executed in the manual test units activity. concepts of “user” or “job” can be effectively intended as</p>
          <p>A transition to the Release swing-lane happens if everything “features” flowing throughout the pipeline, from the initial
goes well. Otherwise, the issues occurred during the produc- commit to the final deployment in production.
tion activities are collected and stored into the error repository Since from a business analyst perspective, the cycle time
in order to be evaluated and fixed by developers. In the Release is the period it takes from an idea to provide actual business
swing-lane, the image of the software release is created and value, it is easy to understand that most profits could be gained
deployed in the environment. from that idea if it can be implemented quickly. If the cycle
B. Relevant Metrics time is too high, competitors might be first or the idea might</p>
          <p>Generally speaking, in the study of business processes not be relevant anymore.
performance, metrics of particular interest fall under two main Under this perspective, it becomes clear how, to that
opcategories. timizing the cycle time requires an efficient process which</p>
          <p>On the one hand we find those metrics that are directly usually spans multiple departments and involves a lot of people
related to time, for example the time in which a user (or job) (i.e., a complex process).
crosses the entire process starting from the initial state arriving In order to optimize a complex process, we need an efficient
at the final state, executing different tasks in its path. In this way to specify and analyze each task that is involved in it. As
case, this metric is defined as cycle time. aforementioned we propose BPMN to describe the deployment</p>
          <p>Since cycle time includes both value-adding and non value- pipeline process, and propose the use of simulation techniques
adding activity times (e.g., waiting times), it is a powerful tool to enact analysis activities.</p>
          <p>
            A similar approach enabling performance predictions over
a business process has been introduced and discussed in [
            <xref ref-type="bibr" rid="ref5">5</xref>
            ],
[
            <xref ref-type="bibr" rid="ref9">9</xref>
            ]
          </p>
          <p>Benefits of analyzing the process of such a pipeline include
finding and removing bottlenecks (e.g., a specific activity that
is too expensive in terms of time, due to some inefficiency),
shortening the feedback loop (i.e., measuring activities in the
middle of the pipeline can be useful to provide an early
feedback to end users), automating as much as possible (i.e.,
an accurate analysis can lead to the identification and the
reduction of expensive manual activities and eliminate any
error-prone manual tasks). In other words, the ultimate purpose
is to optimize and visualize what’s going on to improve the
flow.</p>
          <p>In the continuous delivery and deployment domain, it is
easy to understand how the throughput of the pipeline used to
deliver new features to production (i.e., to the end user) is a
relevant metric.</p>
          <p>
            Referring to the lean world and to kanban practices, a metric
that completely captures the concept of the pipeline is certainly
flow efficiency, which is calculated based on the actual work
time (i.e., the actual time spent working on a feature) measured
against the total wait time (e.g., data transfer, hardware or
software provisioning, environment setting, etc.), presented in
[
            <xref ref-type="bibr" rid="ref26">26</xref>
            ].
          </p>
          <p>The calculation of flow efficiency is as follows:</p>
          <p>Flow E f f iciency in % =</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Where:</title>
      <sec id="sec-3-1">
        <title>Work Time</title>
        <p>Work Time + Wait Time
Work Time is the time in which the development of the
feature under study can be seen as in progress.</p>
        <p>Wait Time is the time in which the development of the
feature under study can be seen as blocked or waiting.</p>
        <p>
          Other interesting metrics have been introduced, which can
be fruitfully taken into account for analyzing a deployment
pipeline, as Features Per Month (FPM), Releases Per Month
(RPM), or Fastest Possible Feature Lead Time [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ].
        </p>
        <p>Releases Per Month (RPM), measures the number of
releases that have been completed during a single month.
It is worth noting how changes in the long term of this
metric suggest information on changes in the release
cycle. Data for obtaining such a measure can be retrieved
from the version control system or from the integration
server logs, for instance.</p>
        <p>Fastest Possible Feature Lead Time, measures a sort of
best case scenario in which, without delays and latencies
(e.g., caused by the use of feature branches or by separate
build processes), the feature under study spends time only
in the build and test phase on the pipeline.</p>
        <p>Also monitoring Mean Time Between Failures (MTBF) and
Mean Time To Repair (MTTR) and their balancing can be an
effective way to optimize the deployment pipeline.</p>
        <p>Mean time between failures reminds the team to to avoid
easy failures. However, core point of software development is
to provide new value to users, and only looking at MTBF can
result in teams becoming overly cautious and never releasing
anything new.</p>
        <p>In order to avoid such a drawback, a focus on mean time
to recover (i.e., a metric that measures the ability to rollback
in case of a mistake) can be a key counterbalance.</p>
        <p>Mean Time Between Failures (MTTF), is the predicted
elapsed time between inherent failures of a system, during
normal system operation. In the deployment pipeline can
be a measure of the mean time between a feature not
passing some test, for example. MTBF can be calculated
as the arithmetic mean (average) time between failures
of a system (i.e., a feature scoring a KO in some test).
Achieving a good MTBF in a pipeline involves getting
feedback early on and making sure that thorough
validation occurs in testing environments. Moreover, such
validations should be run on environments that are similar
to production, and with realistic data.</p>
        <p>
          Mean Time To Repair (MTTR), represents the average
time required to repair a failed component or device (i.e.,
the failure of a feature in the pipeline). Assuming failure
is inevitable, it’s important to ensure that mean time to
recover is as fast as possible. In other words, it measures
the time that is needed to “rollback” to a previous build
after a release failure. In this scenario it is clear how
robust monitoring of production is essential. In order to
make this approach more effective, teams should learn
about failures through monitoring and alerts, not through
customer complaints.
Features Per Month (FPM), identifies the number of new
features that have crossed the entire pipeline during a
month. The metric is based on Day-by-the-Hour (DbtH),
which measures quantity produced over hours worked
[
          <xref ref-type="bibr" rid="ref29">29</xref>
          ].
        </p>
        <p>
          The ever-growing complexity of modern software, which
also involves physical and/or virtual platforms, requires the
adoption of effective analysis techniques to support the design
and operation. Using M&amp;S techniques is it possible to generate
the real-world scenarios that would be hard to get in the
real world, especially in distributed environments [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ], [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ],
[
          <xref ref-type="bibr" rid="ref18">18</xref>
          ], [
          <xref ref-type="bibr" rid="ref27">27</xref>
          ], [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ], [
          <xref ref-type="bibr" rid="ref28">28</xref>
          ]. Moreover, moving from monolith to
Microservice architecture, the involved parts have their own
lifecycle [
          <xref ref-type="bibr" rid="ref32">32</xref>
          ].
        </p>
        <p>The solution introduced in section III (see Figure 2) regards
the availability of a Simulation activity that combines the static
test units with simulation ones. The benefit of the Simulation
activity is that it continuously urges the software services,
creating a constant and uniform load on them. This allows to
monitor the CD development pipeline and notify developers if
any activity failed.</p>
        <p>Moreover, through the use of the Simulation activity is it
possible to evaluate the source code, which is managed by a
CD development pipeline, on specific embedded platforms and
then overcome typical issues involved in the hardware-based
setups, such as:</p>
        <p>Hardware Checking. Managing simulation tests is much
easier respect to use hardware, especially when complete
and actual tests are too expensive to be performed in
terms of cost, time and other resources. Though
simulation is also easier to handle multiple hardware
configurations, since this means to change configuration parameters
in the tests.</p>
        <p>Test Software Reflecting the Hardware. Generally,
Hardware platforms have limited amounts of computational
power and memory space. Through simulation is it
possible to evaluate the maximum workload.</p>
        <p>Configuration Reuse. With a simulation is very easy to
create, save and reuse hardware/software configurations.
Error Handling. The part of the source code that is
responsible for handling faults and errors conditions can
be difficult to test on hardware. Through a simulator,
inject errors/faults is easy since any part of the simulator
code can be accessed and modified.</p>
        <p>Environmental aspects. By using simulation is it possible
to imitate environmental conditions in order to evaluate
how the system responds to environmental stresses. Such
tests are very hard to perform using the real system.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>IV. CONCLUSIONS</title>
      <p>In the last decades software production activities have
become increasingly challenging and software development
has become a demanding area of business. In order to reduce
the time to market of new product features, following the
Agile and DevOps principles, new approaches as continuous
delivery and continuous integration are now widely adopted,
enabling the software functional items to efficiently flow from
development to production.</p>
      <p>Such an approach leverages on methods and tools as the
deployment pipeline, which represents a series of tasks to be
executed in order to deliver a software product or feature to
end users, starting from a commit stage.</p>
      <p>From this perspective, the need for analyzing and optimizing
such activities emerges.</p>
      <p>In this paper, we have discussed the adoption of a
wellknown standard to represent the deployment pipeline as a
process (i.e., BPMN), in order to make it repeatable and clearly
specified.</p>
      <p>Moreover, we have discussed a set of candidate metrics
which can be suitable to analyze the performance of such
process, most of them referable to the concepts of throughput
and cycle-time.</p>
      <p>Finally, we have discussed the benefits of simulation
approaches and techniques to carry on performance predictions
over a deployment pipeline.</p>
      <p>More specifically, the support provided from simulation can
be twofold. On the one hand, end-to-end performance of the
whole pipeline can be analyzed over different configurations,
and, on the other hand, particular hardware or software
components can be simulated (e.g., using contracts in case of
microservices or using a virtual hardware component).</p>
      <p>
        As a further step, work is ongoing to implement a full stack
framework to enact modeling and simulation of a deployment
pipeline, leveraging on previous experiences in a cloud-based
environment [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ].
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>Zia</given-names>
            <surname>Babar</surname>
          </string-name>
          , Alexei Lapouchnian, and
          <string-name>
            <given-names>Eric</given-names>
            <surname>Yu</surname>
          </string-name>
          .
          <article-title>Modeling devops deployment choices using process architecture design dimensions</article-title>
          .
          <source>In IFIP Working Conference on The Practice of Enterprise Modeling</source>
          , pages
          <fpage>322</fpage>
          -
          <lpage>337</lpage>
          . Springer,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>P.</given-names>
            <surname>Bocciarelli</surname>
          </string-name>
          ,
          <string-name>
            <surname>A. D'Ambrogio</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          <string-name>
            <surname>Paglia</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Panetti</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Giglio</surname>
          </string-name>
          .
          <article-title>A cloud-based service-oriented architecture for business process modeling and simulation</article-title>
          .
          <source>In CEUR Workshop Proceedings - INCOSE Italia Conference on Systems Engineering. CEUR-WS, CEUR-WS</source>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Paolo</given-names>
            <surname>Bocciarelli</surname>
          </string-name>
          ,
          <string-name>
            <surname>Andrea D'Ambrogio</surname>
            , Alberto Falcone, Alfredo Garro, and
            <given-names>Andrea</given-names>
          </string-name>
          <string-name>
            <surname>Giglio</surname>
          </string-name>
          .
          <article-title>A model-driven approach to enable the distributed simulation of complex systems</article-title>
          .
          <source>In Complex Systems Design &amp; Management, Proceedings of the Sixth International Conference on Complex Systems Design &amp; Management</source>
          ,
          <string-name>
            <surname>CSD</surname>
          </string-name>
          &amp;M
          <year>2015</year>
          , Paris, France,
          <source>November 23-25</source>
          ,
          <year>2015</year>
          , pages
          <fpage>171</fpage>
          -
          <lpage>183</lpage>
          . Springer-Verlag,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Paolo</given-names>
            <surname>Bocciarelli</surname>
          </string-name>
          ,
          <string-name>
            <surname>Andrea D'Ambrogio</surname>
            ,
            <given-names>Andrea</given-names>
          </string-name>
          <string-name>
            <surname>Giglio</surname>
          </string-name>
          , and Antonio Mastromattei.
          <article-title>Automated development of web-based modeling services for msaas platforms</article-title>
          .
          <source>In International Workshop on Model-Driven Approaches for Simulation Engineering (Mod4Sim</source>
          <year>2017</year>
          ),
          <source>part of the 2017 Spring Simulation Multiconference (SpringSim</source>
          <year>2017</year>
          ), Virginia Beach,
          <string-name>
            <surname>VA</surname>
          </string-name>
          , USA,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Paolo</given-names>
            <surname>Bocciarelli</surname>
          </string-name>
          ,
          <string-name>
            <surname>Andrea D'Ambrogio</surname>
            ,
            <given-names>Andrea</given-names>
          </string-name>
          <string-name>
            <surname>Giglio</surname>
            , and
            <given-names>Emiliano</given-names>
          </string-name>
          <string-name>
            <surname>Paglia</surname>
          </string-name>
          .
          <article-title>A bpmn extension to enable the explicit modeling of complex task resources</article-title>
          .
          <source>In Proceedings of the INCOSE Italy Conference on Systems Engineering</source>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Paolo</given-names>
            <surname>Bocciarelli</surname>
          </string-name>
          ,
          <string-name>
            <surname>Andrea D'Ambrogio</surname>
            , Antonio Mastromattei, Emiliano Paglia, and
            <given-names>Andrea</given-names>
          </string-name>
          <string-name>
            <surname>Giglio</surname>
          </string-name>
          .
          <article-title>Business process modeling and simulation: State of the art and msaas opportunities</article-title>
          .
          <source>In Proceedings of the Summer Simulation Multi-Conference, SummerSim '17</source>
          , pages
          <fpage>1</fpage>
          -
          <lpage>12</lpage>
          , San Diego, CA, USA,
          <year>2017</year>
          . Society for Computer Simulation International.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Paolo</given-names>
            <surname>Bocciarelli</surname>
          </string-name>
          ,
          <string-name>
            <surname>Andrea D'Ambrogio</surname>
            ,
            <given-names>Emiliano</given-names>
          </string-name>
          <string-name>
            <surname>Paglia</surname>
            , and
            <given-names>Andrea</given-names>
          </string-name>
          <string-name>
            <surname>Giglio</surname>
          </string-name>
          .
          <article-title>A service-in-the-loop approach for business process simulation based on microservices</article-title>
          .
          <source>In Proceedings of the 50th Computer Simulation Conference, SummerSim</source>
          <year>2018</year>
          , Bordeaux, France,
          <source>July 09-12</source>
          ,
          <year>2018</year>
          , pages
          <fpage>24</fpage>
          :
          <fpage>1</fpage>
          -
          <lpage>24</lpage>
          :
          <fpage>12</fpage>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Gerry</given-names>
            <surname>Gerard</surname>
          </string-name>
          <string-name>
            <surname>Claps</surname>
          </string-name>
          , Richard Berntsson Svensson, and
          <string-name>
            <given-names>Aybke</given-names>
            <surname>Aurum</surname>
          </string-name>
          .
          <article-title>On the journey to continuous deployment: Technical and social challenges along the way</article-title>
          .
          <source>Information and Software Technology</source>
          ,
          <volume>57</volume>
          (Complete):
          <fpage>21</fpage>
          -
          <lpage>31</lpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Andrea D'Ambrogio</surname>
            , Emiliano Paglia, Paolo Bocciarelli, and
            <given-names>Andrea</given-names>
          </string-name>
          <string-name>
            <surname>Giglio</surname>
          </string-name>
          .
          <article-title>Towards performance-oriented perfective evolution of bpmn models</article-title>
          .
          <source>In 6th International Workshop on Model-Driven Approaches for Simulation Engineering</source>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Markus</surname>
            <given-names>Dlugi</given-names>
          </string-name>
          , Andreas Brunnert, and
          <string-name>
            <given-names>Helmut</given-names>
            <surname>Krcmar</surname>
          </string-name>
          .
          <article-title>Model-based performance evaluations in continuous delivery pipelines</article-title>
          .
          <source>In Proceedings of the 1st International Workshop on Quality-Aware DevOps, QUDOS</source>
          <year>2015</year>
          , Bergamo, Italy, September 1,
          <year>2015</year>
          , pages
          <fpage>25</fpage>
          -
          <lpage>26</lpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Christof</surname>
            <given-names>Ebert</given-names>
          </string-name>
          , Gorka Gallardo, Josune Hernantes, and
          <string-name>
            <given-names>Nicolas</given-names>
            <surname>Serrano</surname>
          </string-name>
          .
          <source>Devops. IEEE Software</source>
          ,
          <volume>33</volume>
          (
          <issue>3</issue>
          ):
          <fpage>94</fpage>
          -
          <lpage>100</lpage>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>Alberto</given-names>
            <surname>Falcone</surname>
          </string-name>
          and
          <string-name>
            <given-names>Alfredo</given-names>
            <surname>Garro</surname>
          </string-name>
          .
          <article-title>The SEE HLA starter kit: enabling the rapid prototyping of hla-based simulations for space exploration</article-title>
          .
          <source>In Modeling and Simulation of Complexity in Intelligent, Adaptive and Autonomous Systems</source>
          <year>2016</year>
          ,
          <article-title>MSCIAAS 2016, and Space Simulation for Planetary Space Exploration</article-title>
          ,
          <string-name>
            <surname>SPACE</surname>
          </string-name>
          <year>2016</year>
          ,
          <article-title>part of the 2016 Spring Simulation Multiconference</article-title>
          ,
          <source>SpringSim</source>
          <year>2016</year>
          , Pasadena, CA, USA, April 3-
          <issue>6</issue>
          ,
          <year>2016</year>
          , page 1.
          <article-title>The Society for Modeling and Simulation International Inc</article-title>
          .,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>Alberto</given-names>
            <surname>Falcone</surname>
          </string-name>
          and
          <string-name>
            <given-names>Alfredo</given-names>
            <surname>Garro</surname>
          </string-name>
          .
          <article-title>A java library for easing the distributed simulation of space systems</article-title>
          .
          <source>In 16th International Conference on Modeling and Applied Simulation, MAS</source>
          <year>2017</year>
          ,
          <article-title>Held at the International Multidisciplinary Modeling</article-title>
          and Simulation Multiconference,
          <year>I3M 2017</year>
          , Barcelona, Spain,
          <source>September 18-20</source>
          ,
          <year>2017</year>
          , pages
          <fpage>6</fpage>
          -
          <lpage>13</lpage>
          .
          <article-title>CAL-TEK S.r</article-title>
          .l.,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Alberto</surname>
            <given-names>Falcone</given-names>
          </string-name>
          , Alfredo Garro, Anastasia Anagnostou, and
          <string-name>
            <surname>Simon J. E. Taylor.</surname>
          </string-name>
          <article-title>An introduction to developing federations with the high level architecture (HLA)</article-title>
          .
          <source>In 2017 Winter Simulation Conference, WSC</source>
          <year>2017</year>
          ,
          <string-name>
            <surname>Las</surname>
            <given-names>Vegas</given-names>
          </string-name>
          ,
          <string-name>
            <surname>NV</surname>
          </string-name>
          , USA, December 3-
          <issue>6</issue>
          ,
          <year>2017</year>
          , pages
          <fpage>617</fpage>
          -
          <lpage>631</lpage>
          .
          <article-title>Institute of Electrical and Electronics Engineers Inc</article-title>
          .,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Alberto</surname>
            <given-names>Falcone</given-names>
          </string-name>
          , Alfredo Garro,
          <string-name>
            <surname>Andrea D'Ambrogio</surname>
            ,
            <given-names>and Andrea</given-names>
          </string-name>
          <string-name>
            <surname>Giglio</surname>
          </string-name>
          .
          <article-title>Engineering systems by combining bpmn and hla-based distributed simulation</article-title>
          .
          <source>In 2017 IEEE International Conference on Systems Engineering Symposium, ISSE</source>
          <year>2017</year>
          , Vienna, Austria,
          <source>October 11-13</source>
          ,
          <year>2017</year>
          , pages
          <fpage>1</fpage>
          -
          <lpage>6</lpage>
          . Institute of Electrical and Electronics Engineers Inc.,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Alberto</surname>
            <given-names>Falcone</given-names>
          </string-name>
          , Alfredo Garro,
          <string-name>
            <surname>Andrea D'Ambrogio</surname>
            ,
            <given-names>and Andrea</given-names>
          </string-name>
          <string-name>
            <surname>Giglio</surname>
          </string-name>
          .
          <article-title>A model-driven method to allow the distributed simulation of bpmn models</article-title>
          .
          <source>In 27th IEEE International Conference on Enabling Technologies: Infrastructure for Collaborative Enterprises, WETICE</source>
          <year>2018</year>
          , Paris, France, June 27-29,
          <year>2018</year>
          , pages
          <fpage>0</fpage>
          -
          <lpage>0</lpage>
          . Institute of Electrical and Electronics Engineers Inc.,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>Alberto</surname>
            <given-names>Falcone</given-names>
          </string-name>
          , Alfredo Garro,
          <string-name>
            <surname>Andrea D'Ambrogio</surname>
            ,
            <given-names>and Andrea</given-names>
          </string-name>
          <string-name>
            <surname>Giglio</surname>
          </string-name>
          .
          <article-title>Using bpmn and hla for engineering sos : lessons learned and future directions</article-title>
          .
          <source>In 2018 IEEE International Conference on Systems Engineering Symposium, ISSE</source>
          <year>2018</year>
          , Rome, Italy, October 1-
          <issue>3</issue>
          ,
          <year>2018</year>
          .
          <article-title>Institute of Electrical and Electronics Engineers Inc</article-title>
          .,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <surname>Alberto</surname>
            <given-names>Falcone</given-names>
          </string-name>
          , Alfredo Garro,
          <string-name>
            <given-names>Simon J. E.</given-names>
            <surname>Taylor</surname>
          </string-name>
          , Anastasia Anagnostou,
          <string-name>
            <surname>Nauman R. Chaudhry</surname>
          </string-name>
          , and
          <string-name>
            <surname>Omar-Alfred Salah</surname>
          </string-name>
          .
          <article-title>Experiences in simplifying distributed simulation: The HLA development kit framework</article-title>
          .
          <source>Journal of Simulation</source>
          ,
          <volume>11</volume>
          (
          <issue>3</issue>
          ):
          <fpage>208</fpage>
          -
          <lpage>227</lpage>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <surname>Angelo</surname>
            <given-names>Furfaro</given-names>
          </string-name>
          , Teresa Gallo, Alfredo Garro, Domenico Sacca`, and
          <string-name>
            <given-names>Andrea</given-names>
            <surname>Tundis</surname>
          </string-name>
          .
          <article-title>Requirements specification of a cloud service for cyber security compliance analysis</article-title>
          .
          <source>In Cloud Computing Technologies and Applications (CloudTech)</source>
          ,
          <year>2016</year>
          2nd International Conference on, pages
          <fpage>205</fpage>
          -
          <lpage>212</lpage>
          . IEEE,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>Jim</given-names>
            <surname>Highsmith</surname>
          </string-name>
          and
          <string-name>
            <given-names>Martin</given-names>
            <surname>Fowler</surname>
          </string-name>
          .
          <article-title>The agile manifesto</article-title>
          .
          <source>Software Development Magazine</source>
          ,
          <volume>9</volume>
          (
          <issue>8</issue>
          ):
          <fpage>29</fpage>
          -
          <lpage>30</lpage>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>Jez</given-names>
            <surname>Humble</surname>
          </string-name>
          and
          <string-name>
            <given-names>David</given-names>
            <surname>Farley</surname>
          </string-name>
          .
          <article-title>Continuous delivery: reliable software releases through build, test, and deployment automation</article-title>
          .
          <source>AddisonWesley Boston</source>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <surname>Mira</surname>
            Kajko-Mattsson and
            <given-names>YuLong</given-names>
          </string-name>
          <string-name>
            <surname>Fan</surname>
          </string-name>
          .
          <article-title>Outlining a model of a release management process</article-title>
          .
          <source>Transactions of the SDPS</source>
          ,
          <volume>9</volume>
          (
          <issue>4</issue>
          ):
          <fpage>13</fpage>
          -
          <lpage>25</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <surname>Mayuram</surname>
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Krishnan</surname>
          </string-name>
          .
          <article-title>Software release management: a business perspective</article-title>
          .
          <source>In Proceedings of the 1994 Conference of the Centre for Advanced Studies on Collaborative Research, October 31 - November 3</source>
          ,
          <year>1994</year>
          , Toronto, Ontario, Canada, page
          <volume>36</volume>
          ,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>A.</given-names>
            <surname>Lahtela</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Jntti</surname>
          </string-name>
          .
          <article-title>Challenges and problems in release management process: A case study</article-title>
          .
          <source>In 2011 IEEE 2nd International Conference on Software Engineering and Service Science</source>
          , pages
          <fpage>10</fpage>
          -
          <lpage>13</lpage>
          ,
          <year>July 2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <surname>Timo</surname>
            <given-names>Lehtonen</given-names>
          </string-name>
          , Sampo Suonsyrja¨,
          <string-name>
            <given-names>Terhi</given-names>
            <surname>Kilamo</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Tommi</given-names>
            <surname>Mikkonen</surname>
          </string-name>
          .
          <article-title>Defining metrics for continuous delivery and deployment pipeline</article-title>
          .
          <source>In Proceedings of the 14th Symposium on Programming Languages and Software Tools (SPLST'15)</source>
          , Tampere, Finland, October 9-
          <issue>10</issue>
          ,
          <year>2015</year>
          ., pages
          <fpage>16</fpage>
          -
          <lpage>30</lpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>N.</given-names>
            <surname>Modig</surname>
          </string-name>
          .
          <article-title>This is Lean: Resolving the Efficiency Paradox</article-title>
          . Rheologica,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <article-title>Bj o¨rn Mo¨ ller, Alfredo Garro</article-title>
          , Alberto Falcone, Edwin
          <string-name>
            <given-names>Z.</given-names>
            <surname>Crues</surname>
          </string-name>
          , and Daniel E. Dexter.
          <article-title>Promoting a-priori interoperability of hla-based simulations in the space domain: The SISO space reference FOM initiative</article-title>
          .
          <source>In 20th IEEE/ACM International Symposium on Distributed Simulation and Real Time Applications</source>
          , DS-RT
          <year>2016</year>
          , London, United Kingdom,
          <source>September 21-23</source>
          ,
          <year>2016</year>
          , pages
          <fpage>100</fpage>
          -
          <lpage>107</lpage>
          .
          <article-title>Institute of Electrical and Electronics Engineers Inc</article-title>
          .,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <surname>Bjo</surname>
          </string-name>
          <article-title>¨ rn M o¨ller, Alfredo Garro</article-title>
          , Alberto Falcone, Edwin
          <string-name>
            <given-names>Z.</given-names>
            <surname>Crues</surname>
          </string-name>
          , and Daniel E. Dexter.
          <article-title>On the execution control of HLA federations using the SISO space reference FOM</article-title>
          .
          <source>In 21st IEEE/ACM International Symposium on Distributed Simulation and Real Time Applications</source>
          ,
          <string-name>
            <surname>DSRT</surname>
          </string-name>
          <year>2017</year>
          , Rome, Italy,
          <source>October 18-20</source>
          ,
          <year>2017</year>
          , pages
          <fpage>75</fpage>
          -
          <lpage>82</lpage>
          .
          <article-title>Institute of Electrical and Electronics Engineers Inc</article-title>
          .,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>Kai</given-names>
            <surname>Petersen</surname>
          </string-name>
          and
          <string-name>
            <given-names>Claes</given-names>
            <surname>Wohlin</surname>
          </string-name>
          .
          <article-title>Measuring the flow in lean software development</article-title>
          .
          <source>Softw</source>
          .,
          <string-name>
            <surname>Pract</surname>
          </string-name>
          . Exper.,
          <volume>41</volume>
          (
          <issue>9</issue>
          ):
          <fpage>975</fpage>
          -
          <lpage>996</lpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <given-names>Mary</given-names>
            <surname>Poppendieck</surname>
          </string-name>
          and
          <string-name>
            <given-names>Tom</given-names>
            <surname>Poppendieck</surname>
          </string-name>
          .
          <source>Lean Software Development: An Agile Toolkit. Addison-Wesley Longman Publishing Co., Inc</source>
          ., Boston, MA, USA,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [31]
          <string-name>
            <given-names>Daniel</given-names>
            <surname>Sta</surname>
          </string-name>
          <article-title>˚hl and Jan Bosch</article-title>
          .
          <article-title>Modeling continuous integration practice differences in industry software development</article-title>
          .
          <source>Journal of Systems and Software</source>
          ,
          <volume>87</volume>
          :
          <fpage>48</fpage>
          -
          <lpage>59</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          [32]
          <string-name>
            <given-names>Guido</given-names>
            <surname>Steinacker</surname>
          </string-name>
          .
          <article-title>Scaling with microservices and vertical decomposition</article-title>
          . dev. otto. de,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          [33]
          <string-name>
            <surname>Andre</surname>
            <given-names>´ van der Hoek and Alexander L.</given-names>
          </string-name>
          <string-name>
            <surname>Wolf</surname>
          </string-name>
          .
          <article-title>Software release management for component-based software</article-title>
          . Softw.,
          <string-name>
            <surname>Pract</surname>
          </string-name>
          . Exper.,
          <volume>33</volume>
          (
          <issue>1</issue>
          ):
          <fpage>77</fpage>
          -
          <lpage>98</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          [34]
          <string-name>
            <given-names>Manish</given-names>
            <surname>Virmani</surname>
          </string-name>
          .
          <article-title>Understanding devops &amp; bridging the gap from continuous integration to continuous delivery</article-title>
          .
          <source>In Innovative Computing Technology (INTECH)</source>
          ,
          <year>2015</year>
          Fifth International Conference on, pages
          <fpage>78</fpage>
          -
          <lpage>82</lpage>
          . IEEE,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          [35]
          <string-name>
            <given-names>Sebastian</given-names>
            <surname>Vo</surname>
          </string-name>
          <article-title>¨ st and Stefan Wagner</article-title>
          .
          <article-title>Towards continuous integration and continuous delivery in the automotive industry</article-title>
          .
          <source>arXiv preprint arXiv:1612.04139</source>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref36">
        <mixed-citation>
          [36]
          <string-name>
            <given-names>Sheng</given-names>
            <surname>Yu</surname>
          </string-name>
          and
          <string-name>
            <given-names>Shijie</given-names>
            <surname>Zhou</surname>
          </string-name>
          .
          <article-title>A survey on metric of software complexity</article-title>
          .
          <source>In Information Management and Engineering (ICIME)</source>
          ,
          <year>2010</year>
          The 2nd IEEE International Conference on, pages
          <fpage>352</fpage>
          -
          <lpage>356</lpage>
          . IEEE,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>