<!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>
      <journal-title-group>
        <journal-title>December</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Multi-Level SLA Specification Language for IoT Applications</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Noureddine Staifi</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Meriem Belguidoum</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>LIRE Laboratory, University of Constantine 2</institution>
          ,
          <country country="DZ">Algeria</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2021</year>
      </pub-date>
      <volume>1</volume>
      <fpage>8</fpage>
      <lpage>20</lpage>
      <abstract>
        <p>Service level agreement (SLA) is a formal contract between a service provider and a service consumer, used to guarantee the achievement of Quality of Service (QoS) expectations. An IoT application is made up of several layers in which several devices are used, the main challenges can be summarized into two points: (1) how to describe the SLA terms, such as QoS properties, service levels, penalties in SLA violation, and (2) how to integrate an SLA into all the application layers. For that, SLAs must be specified more expressively and encompass concepts and constraints related to the multi-layered nature of IoT applications and user preference-aware. However, almost all existing SLA specifications are unable to cover all these requirements. We believe that an SLA can be represented in a domain-specific language (DSL) to facilitate the expression of SLA terms, automate the negotiation, and adapt the provided services according to these terms. Therefore, in this paper, we propose a DSL called ML-SLA-IoT, which is a multi-level SLA specification language with customisable, parametrised and dynamic management, intended for IoT applications. ML-SLA-IoT is more advantageous than others languages in terms of specification of user preferences, the use of microservices and the ML-SLA concepts.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Service Level Agreement</kwd>
        <kwd>Quality of Service</kwd>
        <kwd>SLA specification</kwd>
        <kwd>Domain-specific language</kwd>
        <kwd>Internet of Things</kwd>
        <kwd>Multi-level SLA</kwd>
        <kwd>User preference-aware</kwd>
        <kwd>Microservices</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Services are marketed under formal contracts known as Service Level Agreements (SLA) which
is a formal contract between a service provider and a service consumer. It formally specifies
the provided services, the obligations of each party and the applicable penalties in the case of
non-compliance with the contract [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. The SLA aims to meet customer’s Quality of Service
(QoS) expectations and allows each party to respect its commitment, and in the case of conflict,
it improves the understanding aspect between the involved parties. The consumer uses SLA as
a legal description of what a provider has promised to provide. In turn, the provider uses it as a
record of what to be delivered [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <p>
        User expectations must be provided with guaranteed QoS levels, in which requirements are
formally specified in SLA. Guaranteeing QoS is a dificult task to achieve [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], e.g. IoT application
systems are generally made up of several layers involving multiple heterogeneous hardware and
software resources, multiple data types from digital and wearable sensors and multi QoS levels
from the lowest to the highest one. Providing QoS guarantees requires the technical ability to
ensure that their QoS requirements are met on each IoT application system layer.
      </p>
      <p>
        There are three types of SLAs [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], firstly, Customer-based SLA is an agreement that puts all
the customer’s requirements and expectations into a single document, this means that all the
provided services will be described and contained in one SLA. Secondly, Service-based SLA is
an agreement in which the provider lists services in a service catalogue, each service has its
own fixed SLA parameters, which do not take into account user preferences. Finally, multi-level
SLA (ML-SLA) is an agreement that is classified into diferent stages, it is customized according
to the end-user requirements, it allows the user to integrate several conditions into the same
system to create a more suitable service. ML-SLA is a solution to solve the problems related
to: (1) the integration of contracts into the entire multilayer architecture, and (2) the flexibility
limitation resulting from the static nature of traditional SLA approaches in terms of QoS and
pricing.
      </p>
      <p>
        Mostly, SLAs were written using natural language and the agreement compliance verification
used to be done manually. Some solutions have been proposed to facilitate this process using
SLA models, nevertheless, those solutions lead to new problems in specifying diferent service
levels for diferent customers [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. To resolve these problems, it is necessary to automate the
process in which diferent SLAs are described, provided and observed flexibly. To simplify the
contractual process for the involved parties and optimise time and costs, researchers from the
service provider community have developed several SLA specification languages [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. These
languages are important for clarifying expectations and quantifying them in measurable terms.
Indeed, specifying expectations provides guarantees to customers and helps them to focus on
what is the most important.
      </p>
      <p>
        The most optimal way to specify an SLA is to use a Domain-Specific Language (DSL), it
is generally a small programming language dedicated to a specific application domain. It is
designed to provide solutions to the problems raised in a particular field and is, therefore,
dificult to reuse in other fields. This is why this type of programming language difers from
General-Purpose Language (GPL) such as Java, C and C++, whose purpose is to ofer solutions
to any problem, which may not be the most optimal way, then, the DSL concepts and notations
must be close to the objects handled in the treated field [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. DSLs are created through a process
that includes the following steps: decision, analysis, design, implementation, evaluation, and
deployment. The decision and analysis determine the need for a DSL as well as the domain model.
The design that results from the formalisation of the DSL abstract syntax is then presented. The
implementation includes the integration of DSL artefacts into the infrastructure. The evaluation
phase is used to validate the DSL, followed by the deployment phase used to deliver the DSL [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
      </p>
      <p>
        IoT applications become more complex since several services have to be provided
simultaneously with high expected QoS. Indeed, the eficient management of these services is an
important issue, hence, one of the solutions is to use a microservices-based approach.
Microservices [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] refer to both an architecture and a software development approach which consists
in dividing applications into simplest and independent elements. Unlike a classic monolithic
approach, where all components form an inseparable entity, microservices aim to divide the
business behaviour into small services, which can be run independently of each other. It ofers
reusability, scalability, extensibility, ease of integration, low coupled architecture, flexibility,
continuous deployment, complexity management and ease of QoS management.
      </p>
      <p>Existing SLA specification languages for IoT applications have limitations such as (a) eficient
application management through consideration of the multi-layered nature of IoT, (b) clear
and expressive specification of terms and obligations, and (c) consideration of user preferences.
However, an SLA specification language for IoT applications must: (1) be domain-specific to
handle all IoT constraints (such as the multiplicity of the provided services, the variety of the used
devices, and the management of preferences), (2) allow a low coupled architecture to facilitate
reusability, scalability, and integration, to ensure the QoS across all layers of the application, and
(3) be user preference-aware. Therefore, this paper aims to propose ML-SLA-IoT, a DSL for SLA
specification, intended for IoT applications. It difers from other SLA specification languages in
the description of user preferences, microservices, and ML-SLA concepts. ML-SLA-IoT allows
to:
• Overcome the problems of traditional SLAs in terms of fixed QoS and pricing.
• Facilitate the SLA management, and select the best service ofer from the end user’s point
of view.
• Identify the diferent resources used in the IoT application.
• Clarify the ofered services by fragmenting each of them into a set of microservices for
ease of integration, scalability, extensibility, and low coupled architecture.</p>
      <p>• Define the obligations of each party and the associated sanctions.</p>
      <p>We propose the creation of ML-SLA-IoT, and not to extend one of the existing languages
because of: (1) the existing SLA specification languages for IoT are dificult to use because of
their complex syntax (e.g. IoT-SLA is specified in JSON, and WSN-SLA is specified in XML),
(2) the existing languages do not allow to cover all the essential aspects of a contract for an
IoT application (e.g. the consideration of the multi-layered nature of IoT applications), and (3)
existing languages are intended for other areas, such as cloud computing, and reorienting the
domain of a language causes loss of eficiency and expressiveness. This is why we propose
ML-SLA-IoT, which is easy to understand and use, because its syntax is close to human language,
and it is practical for IoT application management (because of the use of diferent concepts
such as ML-SLA and microservices). In terms of real world applications, ML-SLA-IoT can be
used for the eficient QoS management of the services provided as part of an IoT application,
and especially in the phases: (1) contract term negotiation (ML-SLA-IoT provides a high level
of clarity and expressiveness), and (2) verification of contract compliance (by monitoring the
parameters specified in the SLA).</p>
      <p>The remainder of this paper is structured as follows: Section 2 discusses some related work.
In Section 3, the proposed SLA specification language is described. Section 4 illustrates the
proposed language through a case study. Section 5 presents a comparative study using relevant
criteria. In Section 6, the paper is concluded and future work are presented.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Related work</title>
      <p>Initially, SLAs were written in natural language. However, from the 2000s, the field saw the
creation of SLA specification languages, and this language creation mechanism has slowed
down in recent years. In this section, we will present the most used languages. Each area of
computer science has its own SLA specification languages, in this section, we will review the
best-known languages in each area.</p>
      <p>
        Regarding Cloud Computing, CSLA [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] is proposed to address problems raised by current
SLA solutions that are unable to ofer an SLA language capable of managing the Cloud dynamic
nature, multiple QoS settings, WAN access and fluctuation in end users. A contract in CSLA is
made up of parties and obligations. However, CSLA does not consider multi-party contracts, it
does not use ML-SLA and does not specify the devices used to provide services.
      </p>
      <p>
        SLAC [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] is designed to specify SLAs for Cloud Computing. The main diferences from the
existing specification languages are that SLAC is domain-specific, its semantics are formally
defined to avoid ambiguity, and it supports leading Cloud deployment models, and allows the
specification of multiparty agreements. An SLA in SLAC consists of: the contract description,
the specification of the contract conditions and the guarantee definitions for these conditions.
Nevertheless, SLAC does not use ML-SLA and does not specify the devices and user preferences.
      </p>
      <p>
        In the field of web services, WSLA [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] is a framework for defining and monitoring SLAs for
web services. It provides a formal language, an XML schema, and a runtime architecture that
interprets the language and manages SLA tasks. It describes the expected service levels about
business and technical objectives. The same service can be ofered at diferent levels. An SLA in
WSLA describes all the contracted aspects between the signatory parties concerning a specific
service, and it consists of parties, service description and obligations. Even though, WSLA is
dificult to use because of its complex grammar, it does not consider multi-party contracts, and
it does not specify the devices and user preferences.
      </p>
      <p>
        WS-Agreement [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] is an SLA specification language for Web services. It is an XML-based
Web service language and protocol to generate a proposed ofer agreement that the agreement
initiator wants to establish, negotiate this agreement according to specific constraints, create
an agreement between the service provider and the customer with all the conditions and
restrictions, and then observe the final compliance. An SLA in WS-Agreement is made up of
context, service terms and guarantee terms. Nevertheless, WS-Agreement does not specify the
QoS parameters, devices and user preferences, and does not consider multi-party contracts.
      </p>
      <p>
        For IT services, SLA* [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] is an SLA specification language, it is a domain-independent syntax.
SLA* was developed as a refinement of XML standards specific to Web services: WS-Agreement
and WSLA. Now, instead of Web services, SLA* is domain-independent, and instead of XML,
it is language independent. In SLA*, a contract consists of the SLA template attributes, the
agreement parties, the service descriptions, the declarations of variables, and the agreement
terms. Nonetheless, SLA* does not consider multi-party contracts, and it is not easy to use.
      </p>
      <p>
        SLALOM [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] is a domain-specific language to reduce the gap between the customer’s point
of view (business-oriented) and that of the provider (business-oriented towards implementation).
SLALOM facilitates SLA specification and monitoring. The authors note that the evaluation
of the isolated components does not measure QoS, they, therefore, use SLALOM to support
the composition of the measurements from various data sources to present and justify the
measurements of these compositions. An SLA in SLALOM is made up of parties and a set
of clauses, each addressing an IT service. However, SLALOM does not consider multi-party
contracts, and it does not specify the devices and user preferences.
      </p>
      <p>
        For IoT, WSN-SLA [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] is a model for specifying SLA. The authors extend the WSLA model by
integrating elements that meet the constraints of sensor networks. Before the SLA negotiation,
the customer must provide the number, position and characteristics list of each device. This
device specification describes the sensor subsets with diferent QoS requirements. An SLA
consists of parties, devices, service definitions and obligations. Nevertheless, WSN-SLA does
not use ML-SLA and does not specify the QoS parameters and user preferences.
      </p>
      <p>
        SLA-IoT [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] is an end-to-end SLA specification language for IoT, it is a new conceptual model
that captures the knowledge base of IoT-specific SLAs, expressing IoT system entities and their
relationships in the SLA context. It proposes a new multilayer grammar to specify SLA for IoT
applications. It is a tool for final and standardized SLA specification and composition with a full
vocabulary, which provides a finer specification level of the user’s needs. A contract is made up
of parties, SLOs, workflow activities, services and infrastructure resources. However, SLA-IoT
does not specify the penalties, devices and user preferences.
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. ML-SLA-IoT: an SLA specification language for IoT systems</title>
      <p>In what follows, we will present ML-SLA-IoT according to the DSL development lifecycle, the
ifrst subsection will summarize the first three steps of the lifecycle(decision, analysis and design),
and the second subsection will present the last three steps (implementation, evaluation and
deployment).</p>
      <sec id="sec-3-1">
        <title>3.1. ML-SLA-IoT meta-model</title>
        <p>
          The language meta-model has already been presented in [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ], in this paper we will present
an extended version of the meta-model. In this extension, the third-party has been eliminated
and its role has been replaced by the implementation of a monitoring module (outside the
scope of this paper). The elimination of the third-party benefits both parties; for the service
provider, eliminating the third-party reduces costs and minimises the unnecessary allocation of
resources; for the service consumer, the elimination helps ensure data trust and save time due
to the automation of parameters control and monitoring. As shown in Figure 1, ML-SLA-IoT is
composed of six parts: The first one is responsible for identifying the involved parties in the
SLA, ML-SLA-IoT dispenses with the third-party who is responsible for monitoring the SLA
terms. The second one is for the identification of the resources used in the IoT application. The
third one dedicated to the specification of user preferences, it allows a consumer to determine
its preferences in terms of resources and metrics. The fourth one is for the specification of the
set of metrics relating to resources. The fifth one is to specify the obligations of each party, these
obligations are of two types: guarantees and penalties, a guarantee can be an SLO or a Rule
that represents a composition of SLOs. Finally, the sixth one of the language is for specifying
the provided services, where each service is divided into a set of microservices for ease of
integration, reusability, scalability, extensibility and low coupled architecture (for example, the
automatic lighting service is made up of two microservices: the first for lamp management, and
the second for automation and control).
        </p>
        <p>
          We used the concept of ML-SLA as a solution to:
• Cover all layers of an IoT application (sensing, network, service and interface [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]). As
shown in figure 2, metric levels concern the sensing layer, resource specification applies
to the network layer, microservices are used for the service layer, user preferences and
obligations concern the interface layer.
• Manage the flexibility resulting from the static nature of traditional SLA approaches in
terms of QoS and pricing. As shown in figure 3, each QoS metric is divided into three
levels where each level has its price.
        </p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. ML-SLA-IoT implementation</title>
        <p>To implement our language, we used Xtext, which is a free framework developed in Eclipse; Xtext
facilitates the implementation of textual DSLs, it works on a JVM (Java Virtual Machine), and it
is made up of several APIs that describe the diferent aspects and ofer a full implementation of
this language. We use Xtext because it covers all aspects of a complete language infrastructure,
starting from the parser, code generator, or interpreter, up to a complete Eclipse IDE integration
(with all the typical IDE features). Besides, Xtext generates a grammar description, a parser and
an abstract syntax tree. It also ofers an initial grammar that can be extended to define the final
one. The initial grammar ofers important elements such as space management, carriage return,
tabulation, strings, integers, etc.</p>
        <p>Xtext allows to generate the initial grammar from the meta-model, then, we enrich the
grammar by adding the desired rules. Listing 1 shows a part of the ML-SLA-IoT Xtext file, and
the Listing 2 shows the rule concerning the specification of a device.</p>
        <p>Listing 2: The device specification rule
Now, after defining the grammar, we create the Plug-in using Eclipse, which allows us to
write an SLA in the proposed language. The proposed SLA is machine-readable to automate
monitoring whether the parties hold the agreements and guarantees. On the other hand, it is
human-readable to facilitate configuration and maintenance tasks.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. ML-SLA-IoT tool for IoT application</title>
      <p>This section illustrates how to create an SLA for an IoT application, using ML-SLA-IoT. We
developed a Java application with a useful GUI that facilitate the SLA establishment by enabling,
on the one hand, users to enter information related to their preferences in the application form,
and on the other hand, the provider to choose options related to the microservices that can
be provided in the application. Indeed, it allows the generation of SLA terms according to our
proposed microservice and ML-SLA concepts.</p>
      <p>As shown in figure 4, the interface contains five tabs: the tab (a) "General information" is used
to specify the SLA name, the start and end dates, and the involved parties, the tab (b) "Resources"
lists the resources used in the IoT application and their metrics, the tab (c) "Services" indicates
the microservices that must be provided, the tab (d) "Preferences" shows user preferences which
are resource and metric preferences, and the tab (e) "Obligations" allows to express SLOs and
rules.</p>
      <p>To show the usability and eficiency of ML-SLA-IoT, we have used a reduced example of
Smart Home, in which the consumer wants a service for the control of the ambient temperature,
the consumer wants to have three air conditioners, and that the temperature is below 23 °C
in summer, and a short response time. This SLA is made up of a single service which is the
ambient temperature control. This service comprises two microservices: the air conditioner
adjustment and temperature monitoring. The resources used are temperature sensors and air
conditioners. The metrics associated with these devices is temperature and response time. The
SLA has two SLOs and a Rule, the first SLO concerns ambient temperature, and the second
concerns device response time.</p>
      <p>The SLA will be automatically generated after filling in all the fields of the tabs and confirming,
as shown in Listing 3, and the elements listed below are the key points of the language:
• Line 26 to 30: ML-SLA-IoT focuses on the consumer by specifying his preferences to
precisely target the desired goals;
• Line 12 to 15: the use of microservices allows eficient management due to weak coupling
according to two points: the first one is flexibility in the case of dynamic requirement
changes, and the second one is the resource optimization;
• Line 36: rules allow the combination of SLOs to facilitate the management of obligations;
• Line 22 and 23: the use of multi-level metrics to dispense with problems of fixed pricing
1
2
3
4
5
6
7
8
9
10</p>
      <p>and QoS level change.</p>
      <p>SLA " SLA_for_Smart_Home "
S t a r t _ d a t e " 0 3 / 0 3 / 2 0 2 1 "
End_date " 0 3 / 0 3 / 2 0 2 2 "
P a r t i e s {</p>
      <p>Customer { " William_Smith " } ,</p>
      <p>Provider { " Bosch_Smart_Home " }
}
S e r v i c e s {</p>
      <p>S e r v i c e [ " A m b i e n t _ t e m p e r a t u r e _ c o n t r o l " , l i s t _ o f _ m i c r o s e r v i c e s {
Temperature_monitoring , A i r _ c o n d i t i o n e r _ a d j u s t m e n t } ]
}</p>
      <p>Micro_Services {
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35</p>
    </sec>
    <sec id="sec-5">
      <title>5. Discussion</title>
      <p>Current SLA specification languages have limitations, such as the expression of user preferences,
ifxed pricing despite QoS degradation, poor service specification, and tightly coupled service
architecture that afects management, scalability, and service provision. For that, we proposed
ML-SLA-IoT, which is an SLA language specification intended for IoT, it allows to: identify the
involved parties, express the consumer preferences, identify the diferent resources used in the
system, clarify the ofered services by fragmenting each of them into a set of microservices,
use ML-SLA in the partition of metrics in several levels to optimise the management and the
provision of services, define the obligations of each party and the associated sanctions. Figure
5 presents a comparison diagram between ML-SLA-IoT (our proposed language) and some
languages close to our contribution, this diagram includes two levels:
• Unsupported criterion: (the white zone) means that the language does not support the
• Supported criterion: means that the solution supports the criterion, it includes two
criterion.
sub-levels:</p>
      <p>covered.
– Low: (the light gray zone) this evaluation indicates that the criterion is partially
– High: (the dark gray zone) this evaluation indicates that the criterion is completely
covered.</p>
      <p>We discussed and examined the languages based on the following criteria:
• Multi-level: indicates if the language takes into account the notion of ML-SLA.
• QoS parameters: show if the solution specifies the QoS parameters or not.
• Microservice: expresses whether the notion of microservices is considered.
• Penalties expression: indicates whether the language expresses penalties. If it is the
case, it covers all the SLA life cycle, otherwise, it does not cover it.
• User preferences: indicates whether the language takes into account user preferences.
• Used devices: indicates if the language defines the diferent devices used in the service
provision.
As shown in figure 5, no language allows to specify the user preferences, use the microservice
approach to specify services, and support the ML-SLA concept. Only ML-SLA-IoT and WSN-SLA
allow specifying the used devices.</p>
    </sec>
    <sec id="sec-6">
      <title>6. Conclusion and future work</title>
      <p>This paper has presented ML-SLA-IoT, an SLA specification language for IoT applications, it is
a clear, simple, expressive and well-described language, it is user preference-aware allowing to
ensure that the provided QoS meets the agreed consumer expectations, it plays a central role
in selecting the best service ofer from the end user’s point of view, and it covers customer’s
requirements to facilitate the SLA management. ML-SLA-IoT is composed of six parts: The
ifrst one is responsible for identifying the involved parties in the SLA, such as the consumer
and the provider. The second one is dedicated to the specification of user preferences, it allows
a consumer to determine its preferences in terms of resources and metrics. The third one is
for specifying the provided services, where each service is divided into a set of microservices
for ease of integration, reusability, scalability, extensibility and low coupled architecture. The
fourth one is for the identification of the resources used in the IoT application. The fifth one is
for the specification of the set of metrics relating to resources, for the parameterised QoS level
management, we used ML-SLA to solve problems related to the static nature of traditional SLA
approaches in terms of QoS and pricing. Finally, the sixth one is to specify the obligations of
each party, these obligations are of two types: guarantees and penalties, a guarantee can be an
SLO or a Rule that represents a composition of SLOs.</p>
      <p>As long as services evolve, their SLAs become more complicated, even if some points have
already been explored. As a result, challenges remain in SLA management in terms of scalability,
dynamic environmental changes, heterogeneity, etc. Regarding our future work, we intend to
integrate a monitoring module that uses ML-SLA-IoT language to provide and monitor the QoS
as eficient and customized as possible in smart healthcare systems.</p>
    </sec>
    <sec id="sec-7">
      <title>Acknowledgments</title>
      <p>This work was partially supported by the LABEX-TA project MeFoGL:"Méhodes Formelles pour
le Génie Logiciel".</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>I. U.</given-names>
            <surname>Haq</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. A.</given-names>
            <surname>Huqqani</surname>
          </string-name>
          , E. Schikuta,
          <article-title>Hierarchical aggregation of service level agreements</article-title>
          ,
          <source>Data &amp; knowledge engineering 70</source>
          (
          <year>2011</year>
          )
          <fpage>435</fpage>
          -
          <lpage>447</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>L.</given-names>
            <surname>Wu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Buyya</surname>
          </string-name>
          ,
          <article-title>Service level agreement (SLA) in utility computing systems, in: Performance and dependability in service computing: Concepts, techniques and research directions</article-title>
          ,
          <source>IGI Global</source>
          ,
          <year>2012</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>25</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>A.</given-names>
            <surname>Alqahtani</surname>
          </string-name>
          , E. Solaiman,
          <string-name>
            <given-names>R.</given-names>
            <surname>Buyya</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Ranjan</surname>
          </string-name>
          ,
          <article-title>End-to-end QoS specification and monitoring in the internet of things, IEEE Technical Committee on Cybernetics for Cyber-Physical Systems (</article-title>
          <year>2016</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>P.</given-names>
            <surname>Grubitzsch</surname>
          </string-name>
          , I. Braun,
          <string-name>
            <given-names>H.</given-names>
            <surname>Fichtl</surname>
          </string-name>
          , T. Springer, T. Hara,
          <string-name>
            <given-names>A.</given-names>
            <surname>Schill</surname>
          </string-name>
          ,
          <article-title>ML-SLA: Multi-level service level agreements for highly flexible IoT services</article-title>
          ,
          <source>in: 2017 IEEE International Congress on Internet of Things (ICIOT)</source>
          , IEEE,
          <year>2017</year>
          , pp.
          <fpage>113</fpage>
          -
          <lpage>120</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>A.</given-names>
            <surname>Keller</surname>
          </string-name>
          , H. Ludwig,
          <article-title>The WSLA framework: specifying and monitoring service level agreements for web services</article-title>
          ,
          <source>Journal of Network and Systems Management</source>
          <volume>11</volume>
          (
          <year>2003</year>
          )
          <fpage>57</fpage>
          -
          <lpage>81</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>G.</given-names>
            <surname>Karsai</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Krahn</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Pinkernell</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Rumpe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Schindler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Völkel</surname>
          </string-name>
          ,
          <article-title>Design guidelines for domain specific languages</article-title>
          ,
          <source>in: Proceedings of the 9th OOPSLA Workshop on DomainSpecific Modeling</source>
          , Helsinki: Helsinki School of Economics,
          <year>2009</year>
          , pp.
          <fpage>7</fpage>
          -
          <lpage>13</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>A.</given-names>
            <surname>Barišić</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Amaral</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Goulão</surname>
          </string-name>
          ,
          <article-title>Usability driven DSL development with USE-ME</article-title>
          ,
          <source>Computer Languages, Systems &amp; Structures</source>
          <volume>51</volume>
          (
          <year>2018</year>
          )
          <fpage>118</fpage>
          -
          <lpage>157</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>H.</given-names>
            <surname>Vural</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Koyuncu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Guney</surname>
          </string-name>
          ,
          <article-title>A systematic literature review on microservices</article-title>
          ,
          <source>in: International Conference on Computational Science and Its Applications</source>
          , Springer,
          <year>2017</year>
          , pp.
          <fpage>203</fpage>
          -
          <lpage>217</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Kouki</surname>
          </string-name>
          ,
          <string-name>
            <surname>Service Level</surname>
          </string-name>
          Agreement-Driven Approach to Cloud Elasticity Management,
          <source>Ph.D. thesis</source>
          , Nantes,
          <source>Ecole des Mines</source>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>R. B. Uriarte</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Tiezzi</surname>
          </string-name>
          , R. D. Nicola,
          <article-title>SLAC: A formal service-level-agreement language for cloud computing</article-title>
          ,
          <source>in: Proceedings of the 2014 IEEE/ACM 7th International Conference on Utility and Cloud Computing, IEEE Computer Society</source>
          ,
          <year>2014</year>
          , pp.
          <fpage>419</fpage>
          -
          <lpage>426</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>H.</given-names>
            <surname>Ludwig</surname>
          </string-name>
          , A. Keller, A. Dan,
          <string-name>
            <given-names>R. P.</given-names>
            <surname>King</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Franck</surname>
          </string-name>
          ,
          <article-title>Web service level agreement (WSLA) language specification, Ibm corporation (</article-title>
          <year>2003</year>
          )
          <fpage>815</fpage>
          -
          <lpage>824</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>A.</given-names>
            <surname>Andrieux</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Czajkowski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Dan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Keahey</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Ludwig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Nakata</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Pruyne</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Rofrano</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Tuecke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Xu</surname>
          </string-name>
          ,
          <article-title>Web services agreement specification (WS-Agreement)</article-title>
          , in: Open grid forum (
          <year>2007</year>
          ), volume
          <volume>128</volume>
          ,
          <year>2007</year>
          , p.
          <fpage>216</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>K. T. Kearney</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Torelli</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Kotsokalis</surname>
          </string-name>
          , SLA*:
          <article-title>An abstract syntax for Service Level Agreements</article-title>
          ,
          <source>in: 2010 11th IEEE/ACM International Conference on Grid Computing, IEEE</source>
          ,
          <year>2010</year>
          , pp.
          <fpage>217</fpage>
          -
          <lpage>224</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>A.</given-names>
            <surname>Correia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Amaral</surname>
          </string-name>
          , et al.,
          <article-title>SLALOM: a Language for SLA Specification and Monitoring</article-title>
          , arXiv preprint arXiv:
          <volume>1109</volume>
          .6740 (
          <year>2011</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>G.</given-names>
            <surname>Gaillard</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Barthel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Theoleyre</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Valois</surname>
          </string-name>
          ,
          <article-title>SLA Specification for IoT Operation -</article-title>
          The
          <string-name>
            <surname>WSN-SLA</surname>
            <given-names>Framework</given-names>
          </string-name>
          ,
          <source>Technical Report 8567, INRIA</source>
          ,
          <year>2014</year>
          . URL: http://icube-publis.
          <source>unistra.fr/7-GBTV14</source>
          , 71 pages.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>N.</given-names>
            <surname>Staifi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Belguidoum</surname>
          </string-name>
          ,
          <article-title>Adapted smart home services based on smart contracts and service level agreements</article-title>
          ,
          <source>Concurrency and Computation: Practice and Experience</source>
          (
          <year>2021</year>
          )
          <article-title>e6208</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>L. Da</given-names>
            <surname>Xu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>He</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <article-title>Internet of things in industries: A survey</article-title>
          ,
          <source>IEEE Transactions on industrial informatics 10</source>
          (
          <year>2014</year>
          )
          <fpage>2233</fpage>
          -
          <lpage>2243</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>