<!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>Awareness and Control in Adaptable Transition Systems?</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Roberto Bruni</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Andrea Corradini</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Fabio Gadducci</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alberto Lluch Lafuente</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Andrea Vandin</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>DTU Compute, Technical University of Denmark</institution>
          ,
          <addr-line>DK</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Department of Informatics, University of Pisa</institution>
          ,
          <addr-line>IT</addr-line>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Electronics and Computer Science, University of Southampton</institution>
          ,
          <country country="UK">UK</country>
        </aff>
      </contrib-group>
      <fpage>19</fpage>
      <lpage>22</lpage>
      <abstract>
        <p>The CoDa approach. Self-adaptive systems are advocated as a solution to the problem of mastering the complexity of modern software systems and the continuous evolution of the environment where they operate. Self-adaptation is considered a fundamental feature of autonomic systems, one that can specialise to several other self-* properties, like self-configuration and self-optimisation. Should the analysis favour a black-box perspective, a software system is called “self-adaptive” if it can modify its behaviour in response to a change in its context. On the contrary, white-box adaptation focuses on how adaptation is realised in terms of architectural and linguistic mechanisms and usually promotes a clear separation of adaptation and application logics. Our own approach [2, 5] characterizes adaptivity on the basis of a precisely identified collection of control data (CoDa), deemed to be interpreted as those data whose manipulation triggers an adaptation. This view is agnostic with respect to the form of interaction with the environment, the level of context-awareness, the use of reflection for self-awareness. In fact, our definition applies equally well to most of the existing approaches for designing adaptive systems. Overall, it provides a satisfactory answer to the question “what is adaptation conceptually ?”. But “what is adaptation formally ?” and “which is the right way to reason about adaptation, formally ?”. We are aware of only a few works (e.g. [8]) that address the foundational aspects of adaptive systems, including their semantics and the use of formal reasoning methods, and often only generic analysis techniques are applied. An example of the possibilities of such technique is our approach [4] to adaptive self-assembly strategies using Maude (and following precisely both [8] and [2]), where we applied standard simulation and statistical model checking. Adaptable Transition Systems. Building on the intuitions briefly discussed above and on some foundational models of component based systems (like I/O automata [7] and interface automata [1]), we proposed a simple formal model based on a new class of transition systems [3], and we sketched how this definition can be used to specify properties related to the adaptive behaviour of a system. A central role is again played by control data, as well as by the interaction among components and with the enviroment (not addressed explicitly in [2]).</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>PNSE’15 – Petri Nets and Software Engineering</p>
      <p>Let us recall that the steps of I/O and interface automata are labeled over
three disjoint sets of actions, namely input, output and internal actions. The
composition of two automata is defined only if certain disjointness constraints over
the sets of actions are satisfied, and it is obtained conceptually as a synchronous
composition on shared actions and asynchronous on the others, the differences
between the two models not being relevant at this level of abstraction.</p>
      <p>
        Adaptable Transition Systems (ATSs) combine these features on actions
within an extended Kripke frame presentation, in order to capture the essence
of adaptativity. An ATS is a tuple A = hS, A, T, Φ, l, Φci where S are the states,
A = hI, O, Hi is a triple of three disjoint sets of input, output and internal actions,
and T ⊆ S × A × S is a transition relation, where by A here we denote the union
I ] O ] H. Furthermore, Φ is a set of atomic propositions, and l : S → 2Φ is
a labeling function mapping states to sets of propositions. Finally, Φc ⊆ Φ is a
subset of control propositions, which play the role of the control data [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <p>A transition s →a s0 ∈ T is called an adaptation if it changes the control data,
i.e., if there exists a φ ∈ Φc such that φ ∈ l(s) ⇐⇒ φ 6∈ l(s0). Otherwise, it is
called a basic transition. An action a ∈ A is called a control action if it labels at
least one adaptation, and the set of all control actions is denoted by C.</p>
      <p>The relationship between the action set C and the alphabets I, O and H
is arbitrary in general, but it could satisfy some pretty obvious constraints for
specific classes of systems. For example, an ATS A is self-adaptive if C ∩ I = ∅,
i.e., if all adaptations are under the control of the system. If instead C ⊆ I
the system is adaptable; intuitively, adaptations cannot be executed locally but
should be triggered by an external manager. Hybrid situations are possible as
well, when a system has both input and local control actions.</p>
      <p>
        The composition operations on I/O automata can be extended seamlessly to
ATSs. They have been exploited to model the composition of an adaptable basic
component AB and an adaptation manager AM that realizes the adaptation logics,
for example a control loop in the style of the MAPE-K architecture [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. In this
case, natural well-formedness constraints could be expressed as relations among
sets of actions. For example, the manager controls completely the adaptivity
features of the basic component if CB ⊆ OM ; and if the manager itself is at least
partly adaptable (i.e., CM ∩ IM 6= ∅), a natural requirement to avoid circularities
would be that OB ∩ CM = ∅, i.e. that the basic component cannot govern the
adaptivity of the manager. Composition of ATSs will also be used to model
different kinds of aggregation of adaptive systems, like ensembles and swarms.
Summing up the talk. ATSs are a concrete instance of a methodological
approach to white-box adaptation for software systems. More precisely, the CoDa
approach we sketched in the first section provides the designer with a criterion
to specify where adaptation is located and, as a consequence, which parts of a
system have to be adapted. It assumes the possibility to inspect, to some extent,
the internal structure of a system, and requires to identify a set of control data,
which can be changed to adapt the component’s behaviour. Adaptation is the
run-time modification of such data.
      </p>
      <p>F. Gadducci et al: Awareness and Control in Adaptable Transition Systems</p>
      <p>As described in the second section, ATSs extend interface automata by
equipping them with a set of control propositions evaluated on states, which
represent the formal counterpart of control data. As for control data, the choice
of control propositions is arbitrary but it imposes a clear separation between
the ordinary, functional behaviours and the adaptive ones. Control propositions
can then be exploited in the specification and analysis of adaptive systems,
formally recovering various notions proposed in the literature, such as adaptability,
feedback control loops, and control synthesis.</p>
      <p>The talk presents ATSs and some applications, and it introduces an explicit
representation of awareness data, ideally intended as those “sensor” data that
are exploited at the control level in order to possibly enforce an adaptation.
Awareness and control data complement each other in answering the question
regarding where and when adaptation takes places: A clear identification of
awareness data helps selecting which artifacts indicate that it may be necessary
to perform an adaptation, and precisely stating when that may occur.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1. de Alfaro,
          <string-name>
            <given-names>L.</given-names>
            ,
            <surname>Henzinger</surname>
          </string-name>
          , T.A.:
          <article-title>Interface automata</article-title>
          .
          <source>In: ESEC/SIGSOFT FSE 2001. ACM SIGSOFT Software Engineering Notes</source>
          , vol.
          <volume>26</volume>
          (
          <issue>5</issue>
          ), pp.
          <fpage>109</fpage>
          -
          <lpage>120</lpage>
          . ACM (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Bruni</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Corradini</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gadducci</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lluch-Lafuente</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vandin</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>A conceptual framework for adaptation</article-title>
          . In: de Lara, J.,
          <string-name>
            <surname>Zisman</surname>
            ,
            <given-names>A</given-names>
          </string-name>
          . (eds.)
          <source>FASE. LNCS</source>
          , vol.
          <volume>7212</volume>
          , pp.
          <fpage>240</fpage>
          -
          <lpage>254</lpage>
          . Springer (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Bruni</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Corradini</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gadducci</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lluch-Lafuente</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vandin</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Adaptable transition systems</article-title>
          . In:
          <string-name>
            <surname>Martí-Oliet</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Palomino</surname>
            ,
            <given-names>M. (eds.) WADT</given-names>
          </string-name>
          <year>2012</year>
          .
          <article-title>LNCS</article-title>
          , vol.
          <volume>7841</volume>
          , pp.
          <fpage>95</fpage>
          -
          <lpage>110</lpage>
          . Springer (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Bruni</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Corradini</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gadducci</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lluch-Lafuente</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vandin</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Modelling and analyzing adaptive self-assembly strategies with maude</article-title>
          .
          <source>Science of Computer Programming</source>
          <volume>99</volume>
          ,
          <fpage>75</fpage>
          -
          <lpage>94</lpage>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Bruni</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Corradini</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gadducci</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lluch-Lafuente</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vandin</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>A white box perspective on behavioural adaptation</article-title>
          . In: Nicola,
          <string-name>
            <given-names>R.D.</given-names>
            ,
            <surname>Hennicker</surname>
          </string-name>
          ,
          <string-name>
            <surname>R</surname>
          </string-name>
          . (eds.) Software,
          <article-title>Services, and Systems</article-title>
          . LNCS, vol.
          <volume>8950</volume>
          , pp.
          <fpage>552</fpage>
          -
          <lpage>581</lpage>
          . Springer (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Horn</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Autonomic Computing: IBM's perspective on the State of Information Technology (</article-title>
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Lynch</surname>
            ,
            <given-names>N.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tuttle</surname>
            ,
            <given-names>M.R.</given-names>
          </string-name>
          :
          <article-title>Hierarchical correctness proofs for distributed algorithms</article-title>
          .
          <source>In: PODC 1987</source>
          . pp.
          <fpage>137</fpage>
          -
          <lpage>151</lpage>
          . ACM (
          <year>1987</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Meseguer</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Talcott</surname>
            ,
            <given-names>C.L.</given-names>
          </string-name>
          :
          <article-title>Semantic models for distributed object reflection</article-title>
          . In: Magnusson,
          <string-name>
            <surname>B</surname>
          </string-name>
          . (ed.)
          <source>ECOOP. LNCS</source>
          , vol.
          <volume>2374</volume>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>36</lpage>
          . Springer (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>