<!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>FREEDA: Failure-Resilient, Energy-aware, and Explainable Deployment of Microservice-based Applications over Cloud-IoT Infrastructures</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Monica Vitali</string-name>
          <email>monica.vitali@polimi.it</email>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jacopo Soldani</string-name>
          <email>jacopo.soldani@unipi.it</email>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Roberto Amadini</string-name>
          <email>roberto.amadini@unibo.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Antonio Brogi</string-name>
          <email>antonio.brogi@unipi.it</email>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Stefano Forti</string-name>
          <email>stefano.forti@unipi.it</email>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Simone Gazza</string-name>
          <email>simone.gazza@unibo.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Saverio Giallorenzo</string-name>
          <email>saverio.giallorenzo2@unibo.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Pierluigi Plebani</string-name>
          <email>pierluigi.plebani@polimi.it</email>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Francisco Ponce</string-name>
          <email>francisco.ponce@di.unipi.it</email>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Gianluigi Zavattaro</string-name>
          <email>gianluigi.zavattaro@unibo.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>INRIA</string-name>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>France</string-name>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computer Science and Engineering, University of Bologna</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Department of Computer Science</institution>
          ,
          <addr-line>Electronic, and Bio-engineering, Politecnico di Milano</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Department of Computer Science, University of Pisa</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>OPTIMA ARC Industrial Transformation and Training Centre</institution>
          ,
          <addr-line>Melbourne</addr-line>
          ,
          <country country="AU">Australia</country>
        </aff>
        <aff id="aff4">
          <label>4</label>
          <institution>Project overview Duration:</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>FREEDA is an Italian research project aimed at supporting DevOps engineers in achieving failure-resilient and environmentally sustainable deployments of microservice-based applications over the Cloud-edge computing continuum. In this article, we describe motivations, objectives and first results of the FREEDA project, and discuss how FREEDA relates to the Information Systems Engineering community.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Microservice-based Applications</kwd>
        <kwd>Cloud-Edge</kwd>
        <kwd>Application Deployment</kwd>
        <kwd>Failure-resiliency</kwd>
        <kwd>Energyawareness</kwd>
        <kwd>Sustainabile IT</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Project Overview</title>
      <sec id="sec-1-1">
        <title>1.1. Context and Motivation</title>
        <p>
          The extensive integration of smart connected devices, coupled with the increasing
computational capacities they ofer, requires a transformation of Cloud computing into ubiquitously
distributed infrastructures that exploit computing capabilities at the edge of the network
(CloudIoT) [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]. The distributed infrastructure on which the Cloud-IoT computing continuum is based
is characterised by significant heterogeneity and variability. In such a scenario, the computing
devices composing the infrastructure range from cloud servers to smart IoT devices. These nodes
difer in terms of computational and storage capabilities, performance, cost, and ownership.
In common scenarios as data-intensive applications, another aspect to be considered is the
mutual position of the diferent nodes when they have to exchange information and the type
of connection (i.e., wired or wireless) afecting the communication time and cost. At the same
time, the infrastructure composition is continuously changing: nodes might join overtime or
might become unavailable at some point, as well as their performance and capabilities might be
afected by external factors (i.e., other applications concurrently running on the same hardware);
additionally, the workload of the applications hosted in such an infrastructure is characterised
by fluctuations in workload and trafic.
        </p>
        <p>In this context, the widespread adoption of Microservice-based Applications (MSAs) in
delivering enterprise solutions has increased the need for facilitating MSA deployment across
the Cloud-IoT infrastructures seamlessly. An MSA is an application designed as a set of loosely
coupled smaller components, each one with specific functionalities. Each component is also
characterised by specific functional (e.g., amount of computational and storage resources needed)
and non-functional (e.g., response time, latency) requirements that need to be considered and
satisfied when the application is deployed on the infrastructure.</p>
        <p>
          Given the complexity of both the Cloud-IoT infrastructure (i.e., number of nodes,
heterogeneity, and variability) and the application (e.g., number of components and specific requirements),
properly mapping each component to a feasible infrastructural node is becoming a complex and
time-consuming task. This calls for approaches where the diferent deployment requirements of
the microservices composing the application are considered together with the capabilities and
features of the infrastructure. These approaches could influence the DevOps practice, which
must take into consideration potential service and hosting node failures, as well as cascading
failures where the malfunction of one infrastructure node or service leads to the failure of
others [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ].
        </p>
        <p>
          The need for the deployment of resilient applications must also align with the recent European
Union’s requirements for sustainable IT [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ][
          <xref ref-type="bibr" rid="ref4">4</xref>
          ], including the reduction of consumed energy.
Even though cloud infrastructures’ environmental impact has been significantly reduced in
recent years, this reduction does not apply to edge devices or smaller data centers. Additionally,
the deployed applications’ energy demand has been increasing with the widespread adoption of
the Cloud, due to the availability of large amounts of computational resources at a reduced cost.
This is expected to occur in Cloud-IoT infrastructures as well, therefore calling for supporting
energy-aware MSA deployments [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ][
          <xref ref-type="bibr" rid="ref6">6</xref>
          ][
          <xref ref-type="bibr" rid="ref7">7</xref>
          ].
        </p>
        <p>The combination of all these characteristics makes it dificult to reason on the Cloud-IoT
deployment configuration of MSAs. Moreover, deployment requirements can conflict (e.g.,
resilience can be increased by deploying replicated service instances, which increases the toll
on the energy budget). This calls for novel techniques and tools that help DevOps engineers to
reason on deployment requirements.</p>
        <p>H
I
A
R</p>
        <p>Failure
Analyzer
Energy</p>
        <p>Analyzer
Enrichment</p>
        <p>A+
I
R+</p>
        <p>Reasoner
a+</p>
        <p>I</p>
        <p>R+
Multi-Criteria</p>
        <p>Solver
Trade-Off</p>
        <p>Cloud-IoT
continuum
D
E</p>
        <p>DevOps
Engineer</p>
      </sec>
      <sec id="sec-1-2">
        <title>1.2. Proposed Approach</title>
        <p>FREEDA aims to address the demand for DevOps support in deploying MSAs within Cloud-IoT
infrastructures, integrating considerations for failure resilience and environmental sustainability.
An overview of the proposed approach is illustrated in Fig. 1.</p>
        <p>The project enables the holistic deployment of an MSA over a Cloud-IoT infrastructure by
trading among its (possibly conflicting) deployment requirements. More precisely, FREEDA
will enable analyzing an MSA and a Cloud-IoT infrastructure, together with information on the
current and former MSA deployments (if any), to elicit additional requirements enabling the
enforcement of the MSA deployment’s failure resilience and energy sustainability.</p>
        <p>As shown in Fig. 1, the proposed solution is divided into two main phases (Enrichment and
Trade-Of ) each one supported by two main components. The main stakeholder of the proposed
approach is the DevOps Engineer willing to deploy an MSA in the infrastructure. The DevOps
Engineer must provide the following information:
• A description of the application components (A): the set of microservices composing the
application and their mutual relationships.
• A set of requirements (R): functional (computational and storage resources needed)
and non-functional (performance, security, energy) requirements associated with each
component.
• A description of the infrastructure (I): the set of nodes in which the application can
be deployed and their capabilities and cost. These nodes might belong to the DevOps
organization or an external organization (e.g., a public or private cloud provider).</p>
        <p>Additionally, to these inputs provided by the DevOps engineer, we expect to have also
information coming from the historical monitoring of the infrastructure and the application, if
already deployed (H).</p>
        <p>Using these inputs, FREEDA will provide the DevOps Engineer with a valid deployment
able to fulfil all the expressed constraints. The core of the methodology is the Multi-Criteria
Solver component. This component formally models the deployment problem, by encoding it
in a constraint modelling language and builds a solver providing the best deployment plan (D).</p>
        <p>Before being able to perform this step, the Enrichment phase needs to be executed. This
phase aims at improving the application and requirements description to ensure the fulfilment
of the failure resiliency and environmental sustainability requirements. The enrichment phase
consists of two main components:
• Failure Analyzer: the focus of this component is to enrich the application and its
requirements description with additional features. The failure identifies possible causes of
failure in the application execution and includes proper sidecar integration components
(e.g., circuit breakers) in A to avoid failure propagation. It also generates novel hard/soft
requirements in R for enforcing failure resiliency at deployment time, e.g., avoiding
deploying services on nodes that are known to fail if subject to a given load, or whose
failure is predicted to occur soon based on the available historical data.
• Energy Analyzer: this component develops techniques to classify the profile of the nodes
in a Cloud-IoT infrastructure and correspondingly generate requirements for reducing
the energy consumed by MSAs deployed on such infrastructure. Also, the relation
between an MSA’s components, based on the connections/functional dependencies between
microservices and information on the data they exchange are considered in the analysis
to provide insights about microservice co-placement to the solver.</p>
        <p>The output of the enrichment phase is an updated and enrichment description of the
application components (A+) and requirements (R+), including failure-resiliency and energy-aware
considerations. The enrichment phase reduces the design efort required from the DevOps
Engineer by ensuring the satisfaction of these non-functional aspects in the deployment of the
application without the need for her direct intervention.</p>
        <p>As discussed in Sect. 1.1, FREEDA needs to operate in a dynamic environment that can afect
both infrastructure and the application composition, as well as the applications’ requirements.
Anytime a significant change is detected or requirements get violated, a new execution of
the Multi-Criteria Solver is needed to generate a new deployment plan. To avoid the
inefifciency that might result from a full re-deployment of an already running application, the
Reasoner component is in charge of determining a —possibly small— subset a+ of the
application components that need to be re-deployed due to violation of the requirements in R+. This
continuous reasoning approach might generate a sub-optimal deployment plan while reducing
the disruption of the re-deployment and ensuring the satisfaction of all the requirements.</p>
        <p>The last relevant feature distinguishing the FREEDA approach from the state of the art is
Explainability. FREEDA aims at providing DevOps engineers with proper and human-friendly
explanations (E) on why/how specific deployment choices have been taken by the solver. Such
explanations can also be exploited by the DevOps engineers to improve the MSA description
or requirements. For instance, the explanation may suggest the deployment of additional
components (e.g., circuit breakers) to reduce the risk of failure of another component, thus
increasing the cost and energy consumption of the proposed solution. Based on this, a DevOps
engineer may decide to refactor her service, natively including resiliency in the design.</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>2. Project Objectives and Expected Results</title>
      <sec id="sec-2-1">
        <title>The project targets four main objectives:</title>
        <p>
          (1) Holistic MSA Deployment over the Cloud-Edge continuum: FREEDA will develop novel
techniques to determine a suitable trade-of among the MSA’s deployment requirements,
therein including cost, hardware, software, security, failure resilience, and sustainability
requirements.
(2) Continuous Reasoning for Adaptive MSA Deployment over the Cloud-Edge continuum:
FREEDA will develop continuous reasoning-like [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ][
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] to timely adapt the deployment
of an MSA over a Cloud-Edge infrastructure when changes in the MSA, infrastructure, or
deployment requirements occur.
(3) Explainable Enhancement of MSA Deployments’ Failure Resilience: FREEDA will develop
explainable techniques to enhance the failure resilience of to-be-deployed MSAs over
Cloud-Edge infrastructures.
(4) Explainable Reduction of MSA Deployments’ Environmental Impact: FREEDA will develop
explainable techniques for reducing brown energy consumption when deploying MSAs
over Cloud-Edge infrastructures.
        </p>
        <p>
          FREEDA will deliver a set of techniques to fulfil the project’s objectives, which will be
prototyped to form a toolchain for planning MSA deployment across Cloud-IoT infrastructures. These
techniques correspond to the main components outlined in Fig. 1. Development within FREEDA
will adopt an iterative approach, beginning with basic implementations of proposed techniques
and gradually refining and extending them until project goals are achieved. Each element
of the approach will be provided as independent components, allowing DevOps Engineers to
activate and configure them according to specific needs and objectives for their applications. The
toolchain’s components will be developed with a service-oriented approach. While the specific
technologies and languages for implementation are still being examined, the aim remains to
leverage standard and open-source solutions whenever possible. As an example, the deployment
plan D and the descriptions of the application A, requirements R, and infrastructure I will be
articulated in a YAML1 file format, while the optimization problem will be formulated using
MiniZinc [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] as constraint modeling language and solved with optimization tools supporting
MiniZinc (e.g., Gurobi2 or OR-Tools3).
        </p>
        <p>
          The practical application of these techniques will be demonstrated through realistic use cases,
illustrating the (re)configuration of MSA deployment over a testbed Cloud-IoT infrastructure.
Operations and monitoring of the deployment will leverage existing tools, such as those based
on TOSCA [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] or EDMM [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ]. Additionally, FREEDA aims to engage with standardization
committees (e.g., OASIS TOSCA) and open industrial initiatives (e.g., Cloud Native Computing
Foundation, Gaia-X, Next Generation Internet, Industrial Internet Consortium). This dual
approach will facilitate the exploration of emerging Cloud and Edge/Fog standards and solutions
within FREEDA, while also contributing to standards and initiatives through the solutions
developed within the project.
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>1https://yaml.org 2https://www.gurobi.com/ 3https://developers.google.com/optimization</title>
        <p>The prototype tools and their integration as a toolchain will be released as open-source
software in public repositories, such as GitHub.</p>
        <sec id="sec-2-2-1">
          <title>2.1. Preliminary Results</title>
          <p>FREEDA has started its operations in September 2023. At the current stage, the partners have
been involved in activities for the definition of:
• A preliminary version of the mathematical formalization of the optimization problem,
which included a detailed description of the application, the infrastructure, and the
requirements;
• A preliminary and simplified implementation of the solver using the model formalization
to find a suitable deployment solution.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Relevance for the CAISE Community</title>
      <p>The project’s alignment with the themes of the International Conference on Advanced
Information Systems Engineering (CAISE) underscores its relevance to the Information Systems
Engineering community. Specifically, FREEDA addresses challenges that are of particular
interest to this community, as delineated in the Call for Papers:
• Microservices design and deployment: this topic is aligned with the main motivation of
the project as expressed in objective O1;
• Cloud- and edge-based IS engineering: this topic is aligned with the context in which</p>
      <p>FREEDA operates as declared in objectives O1 and O2;
• Context-aware, autonomous, and adaptive IS: this topic is aligned with the goal of the
continuous reasoner component, adapting the deployment according to the context of
execution and requirements violations as declared in objective O2.</p>
      <p>Moreover, the project’s focus resonates with key themes from previous editions of the
conference. For instance, the Intelligent Information Systems theme from CAISE 2021 acknowledged
the heightened level of uncertainty faced by organizations and the growing imperative for
Intelligent Information Systems that ofer trusted, adaptive, agile, and autonomous solutions.
Similarly, the Resilient Information Systems theme from CAISE 2020 recognized the inherent
complexity of information systems as they evolve, leading to susceptibility to various forms of
degradation and failure. These topics are central to FREEDA’s objectives.</p>
    </sec>
    <sec id="sec-4">
      <title>Acknowledgments</title>
      <p>This work was supported by the project FREEDA (CUP: I53D23003550006), funded by the
frameworks PRIN (MUR, Italy) and Next Generation EU.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>A. J.</given-names>
            <surname>Ferrer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. M.</given-names>
            <surname>Marquès</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Jorba</surname>
          </string-name>
          ,
          <article-title>Towards the decentralised cloud: Survey on approaches and challenges for mobile, ad hoc, and edge computing, ACM Computing Surveys (CSUR) 51 (</article-title>
          <year>2019</year>
          )
          <fpage>1</fpage>
          -
          <lpage>36</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>J.</given-names>
            <surname>Soldani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Brogi</surname>
          </string-name>
          ,
          <article-title>Anomaly detection and failure root cause analysis in (micro) servicebased cloud applications: A survey, ACM Computing Surveys (CSUR) 55 (</article-title>
          <year>2022</year>
          )
          <fpage>1</fpage>
          -
          <lpage>39</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>EU</given-names>
            <surname>,</surname>
          </string-name>
          <article-title>A new strategic agenda 2019 - 2024</article-title>
          , https://www.consilium.europa.eu/media/39914/ a
          <article-title>-new-strategic-</article-title>
          <string-name>
            <surname>agenda-</surname>
          </string-name>
          2019
          <article-title>-2024</article-title>
          .pdf,
          <year>2019</year>
          . Accessed:
          <fpage>2024</fpage>
          -04-12.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <article-title>[4] EU, Eu. financing the climate transition</article-title>
          , https://www.consilium.europa.eu/en/policies/ climate-finance/,
          <year>2021</year>
          . Accessed:
          <fpage>2024</fpage>
          -04-12.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>S.</given-names>
            <surname>Forti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Brogi</surname>
          </string-name>
          ,
          <article-title>Green application placement in the cloud-iot continuum</article-title>
          ,
          <source>in: International Symposium on Practical Aspects of Declarative Languages</source>
          , Springer,
          <year>2022</year>
          , pp.
          <fpage>208</fpage>
          -
          <lpage>217</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>M.</given-names>
            <surname>Vitali</surname>
          </string-name>
          ,
          <article-title>Towards greener applications: Enabling sustainable-aware cloud native applications design</article-title>
          ,
          <source>in: International Conference on Advanced Information Systems Engineering</source>
          , Springer,
          <year>2022</year>
          , pp.
          <fpage>93</fpage>
          -
          <lpage>108</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>M.</given-names>
            <surname>Vitali</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Schmiedmayer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Bootz</surname>
          </string-name>
          ,
          <article-title>Enriching cloud-native applications with sustainability features</article-title>
          ,
          <source>in: 2023 IEEE International Conference on Cloud Engineering (IC2E)</source>
          , IEEE,
          <year>2023</year>
          , pp.
          <fpage>21</fpage>
          -
          <lpage>31</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>J.</given-names>
            <surname>Soldani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Amadini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Brogi</surname>
          </string-name>
          , et al.,
          <article-title>Towards Sustainable Deployment of Microservices over the Cloud-Edge Continuum, with FREEDA</article-title>
          , in: International Workshop on Flexible Resource and
          <article-title>Application Management on the Edge (FRAME)</article-title>
          , ACM,
          <year>2024</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>4</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>S.</given-names>
            <surname>Forti</surname>
          </string-name>
          , et al.,
          <article-title>Declarative continuous reasoning in the cloud-iot continuum</article-title>
          ,
          <source>J. Log. Comput</source>
          .
          <volume>32</volume>
          (
          <year>2022</year>
          )
          <fpage>206</fpage>
          -
          <lpage>232</lpage>
          . doi:
          <volume>10</volume>
          .1093/LOGCOM/EXAB083.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>P. O'Hearn</surname>
          </string-name>
          ,
          <article-title>Continuous reasoning: Scaling the impact of formal methods</article-title>
          ,
          <source>in: LICS</source>
          <year>2018</year>
          , ACM,
          <year>2018</year>
          , p.
          <fpage>13</fpage>
          -
          <lpage>25</lpage>
          . doi:
          <volume>10</volume>
          .1145/3209108.3209109.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>N.</given-names>
            <surname>Nethercote</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. J.</given-names>
            <surname>Stuckey</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Becket</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Brand</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G. J.</given-names>
            <surname>Duck</surname>
          </string-name>
          , G. Tack,
          <article-title>MiniZinc: Towards a standard CP modelling language</article-title>
          ,
          <source>in: International Conference on Principles and Practice of Constraint Programming</source>
          , Springer,
          <year>2007</year>
          , pp.
          <fpage>529</fpage>
          -
          <lpage>543</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>M.</given-names>
            <surname>Rutkowski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Lauwers</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Noshpitz</surname>
          </string-name>
          ,
          <string-name>
            <surname>C.</surname>
          </string-name>
          Curescu (eds.),
          <source>TOSCA Simple Profile in YAML Version 1</source>
          .3, https://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/
          <year>v1</year>
          .3/ os/TOSCA-Simple-
          <article-title>Profile-YAML-v1.3-os</article-title>
          .html,
          <year>2020</year>
          . Accessed:
          <fpage>2024</fpage>
          -04-12.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>M.</given-names>
            <surname>Wurster</surname>
          </string-name>
          ,
          <string-name>
            <given-names>U.</given-names>
            <surname>Breitenbücher</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Brogi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Diez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Leymann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Soldani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Wild</surname>
          </string-name>
          ,
          <article-title>Automating the deployment of distributed applications by combining multiple deployment technologies</article-title>
          .,
          <source>in: CLOSER</source>
          ,
          <year>2021</year>
          , pp.
          <fpage>178</fpage>
          -
          <lpage>189</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>