<!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>Summary of the 8th International Workshop on Models@run.time</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Nelly Bencomo</string-name>
          <email>nelly@acm.org</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Robert France</string-name>
          <email>france@cs.colostate.edu</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sebastian Gtz</string-name>
          <email>sebastian.goetz@acm.org</email>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Bernhard Rumpe</string-name>
          <email>rumpe@se-rwth.de</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Aston University</institution>
          ,
          <country country="UK">UK</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Colorado State University</institution>
          ,
          <country country="US">USA</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>RWTH Aachen</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>Technische Universit t Dresden</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The 8th edition of the workshop Models@run.time was held at the 16th International Conference MODELS. The workshop took place in the city of Miami, USA, on the 29th of September 2013. The workshop was organised by Nelly Bencomo, Sebastian G tz, Robert France and Bernhard Rumpe. Here, we present a summary of the workshop and a synopsis of the papers discussed during the workshop.</p>
      </abstract>
      <kwd-group>
        <kwd>runtime adaptation</kwd>
        <kwd>MDE</kwd>
        <kwd>reection</kwd>
        <kwd>run-time abstractions</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>The Models@run.time workshop series provides a forum for exchange of ideas on
the use of run-time models. The main goal is to further promote cross-fertilization
between researchers from dierent communities, including model-driven software
engineering, software architectures, computational reection, adaptive systems,
autonomic and self-healing systems, and requirements engineering. This edition
of the workshop successfully brought together at least twenty ve researchers
from dierent communities.</p>
      <p>This edition had nine (9) papers presented. Improved versions of these papers
are published in this post-workshop proceedings.</p>
      <p>In the second part of the afternoon, the workshop participants dedicated
their time for discussions where a useful classication of presented and discussed
approaches was dened. In the following we summarize the nine (9) paper
presentations given in three sessions:</p>
      <sec id="sec-1-1">
        <title>Session 1: Safety and Cyber Physical Systems</title>
        <p>Enhancing Root Cause Analysis with Runtime Models and Interactive
Visualizations by Michael Szvetits and Uwe Zdun. In this paper the authors propose
the use of runtime models in combination with interactive visualizations to ease
tracing between log le entries and corresponding software artefacts. The
contribution of this paper is a repository-based approach to augment root cause
analysis (of unwanted behaviour for example) with interactive tracing views
while maximizing reusability of models created during the software development
process.</p>
        <p>Building heterogeneous models at runtime to detect faults in ambient-intelligent
environments by Christophe Jacquet, Ahmed Mohamed, FrØdØric Boulanger,
Cecile Hardebolle and Yacine Bellik. This paper introduces an approach for fault
detection in ambient-intelligent environments. It proposes to compute
predictions for sensor values, to be compared with actual values. As ambient
environments are highly dynamic, one cannot pre-determine a prediction method.
Therefore, our approach relies on (a) the modeling of sensors, actuators and
physical eects that link them, and (b) the automatic construction at run-time
of a heterogeneous prediction model. The prediction model can then be executed
on a heterogeneous modeling platform such as ModHel’X, which yields predicted
sensor values.</p>
        <p>A Model-driven Approach to Develop and Manage Cyber-Physical Systems by
Adalberto Sampaio Jr., Fabio Costa and Peter Clarke. Cyber-Physical Systems
(CPS) integrate computing, networking, and physical processes to digitally
execute tasks on or using the physical elements of a system. Power microgrids are a
particular kind of CPS that enables management and autonomic control of local
smart grids, aiming at reliability, fault tolerance and energy eciency, among
other goals. Thw paper explores a new approach based on MDE that uses models
at runtime techniques to manage and control microgrids. The approach employs
a model execution engine that manages a causally connected runtime model of
the microgrid and interprets user-dened models in order to generate controls for
the microgrid elements. The authors demonstrate the approach by building the
lower layer of the model execution engine. Furthermore, they explored a
modeldriven technique to build the execution engine and use the resulting experience
to argue that the approach can be extended to other kinds of cyber-physical
systems.</p>
      </sec>
      <sec id="sec-1-2">
        <title>Session 2: Enterprise and Cloud</title>
        <p>A Tool for Collaborative Evolution of Enterprise Architecture Models at Runtime
by Sascha Roth, Matheus Hauder and Florian Matthes. In this paper, the
authors propose a solution that empowers stakeholders to reveal their information
demand collaboratively to facilitate Enterprise Architecture (EA) models that
evolve with changing information demands at runtime. They present core
concepts of our approach and insights of an implementation thereof as foundation
to achieve our long-term goal of evolving EA models. In their implementation
we extend a collaboration platform with capabilities to monitor the actual
information demand and to maintain the EA model referring to this demand at
runtime.</p>
        <p>Towards Business Process Models at Runtime by Thomas Johanndeiter, Anat
Goldstein and Ulrich Frank. Business Process Management (BPM) suers from
inadequate con-cepts and tools for monitoring and evaluation of process
executions at runtime. Conversely, models at runtime promise to give insights into the
state of a soft-ware system using the abstract and concrete appearance of
design time process models. Therefore, the authors at rst advocate to use models
at runtime in business process (BP) modeling. Then, we outline the
implementation of a prototypical modeling framework for BP runtime models based on
metaprogramming. This framework supports the integration of BP type
models - models that are en-hanced with statistics of runtime data - and instance
models - visual representa-tions of executed BPs - resulting in versatile process
monitoring dashboards. The approach is superior to object-oriented
programming, as it provides a common representation for models and code at various
levels of classication, and represents an attractive alternative to object-oriented
languages for the im-plementation of runtime models in general.
Models@Runtime to Support the Iterative and Continuous Design of Autonomic
Reasoners by Franck Chauvel, Nicolas Ferry and Brice Morin. Modern
software systems evolve in a highly dynamic and open environment, where their
supporting platforms and infrastructures can change on demand. Designing and
operating holistic controllers able to leverage the adaptation capabilities of the
complete software stack is a complex task, as it is no longer possible to foresee all
possible environment states and system congurations that would properly
compensate for them. The paper presents our experience in using models@runtime
to foster the systematic design and evaluation of self-adaptive systems, by
enabling the coevolution of the reasoning engine and its environment. The research
was carried out in the context of the Diversify project, which explores how
biodiversity can be used to enhanced the design of self-adaptive mechanisms.</p>
      </sec>
      <sec id="sec-1-3">
        <title>Session 3: Model Extraction and Conguration</title>
        <p>Exploring the use of metaheuristic search to infer models of dynamic system
behaviour by James Williams, Simon Poulding, Richard Paige and Fiona
Polack. As software systems become more pervasive and increase in both size and
complexity, the requirement for systems to be able to self- adapt to changing
environments becomes more important. The paper describes a model-based
approach for adapting to dynamic runtime environments using metaheuristic
optimisation techniques. The metaheuristics exploit metamodels that capture the
important components in the adaptation process. Firstly, a model of the
environment’s behaviour is extracted using a combination of inference and search.
The model of the environment is then used in the discovery of a model of
optimal system behaviour i.e. how the system should best behave in response to
the environment. The system is then updated based on this model. The paper
focuses on investigating the extraction of a behaviour model of the environment
and describes how our previous work can be utilised for the adaptation stage.
The authors contextualise the approach using an example and analyse dierent
ways of applying the metaheuristic algorithms for discovering an optimal model
of the case study’s environment.</p>
        <p>Simon Spinner, Samuel Kounev, Xiaoyun Zhu and Mustafa Uysal. Towards
Online Performance Model Extraction in Virtualized Environments. Virtualization
increases the complexity and dynamics of modern software architectures
making it a major challenge to manage the end-to-end performance of applications.
Architecture-level performance models can help here as they provide the
modeling power and analysis exibility to predict the performance behavior of
applications under varying workloads and congurations. However, the construction of
such models is a complex and time-consuming task. In this position paper, the
authors discuss how the existing concept of virtual appliances can be extended to
automate the extraction of architecture-level performance models during system
operation.</p>
        <p>Yihan Wu, Ying Zhang, Yingfei Xiong, Xiaodong Zhang and Gang Huang.
Towards RSA-based HA conguration in Cloud. High availability (HA) is a crucial
concern in cloud systems. However, guaranteeing HA is challenging because of
the complex runtime cloud environment, large number of HA mechanisms
available, error-prone HA conguration, and ever-needed dynamic adjustment. In
this study, the authors leverage runtime system architecture (RSA) for
automatic conguration of HA in a cloud. With a causal connection between RSA
and its corresponding cloud system, our approach has the following advantages.
1) The runtime changes of the system are abstracted, collected, and reected on
the RSA continuously, simplifying HA information collection. 2) With a
modelbased HA analyzer working on the collected HA-related information, an
appropriate HA style (HAS) can be automatically selected for application to the
current system. 3) Changing a HAS on RSA at runtime changes the system HA
mechanism, which is suitable for the complex and ever-changing cloud
environment. They implemented a prototype of our approach and evaluated it using our
model-driven Yan-cloud platform.</p>
        <p>The presentations and slides associated with discussions are in the web pages
of the workshop.</p>
        <p>Discussion and Classication of Presented and</p>
        <p>Discussed Approaches
At the end of the third session discussion topics were identied. All participants
agreed on aiming for a classication of the approaches presented at the workshop
using the following ve dimensions:
1. Runtime Model: What is the runtime model in the approach ?
2. Purpose: What is its purpose?
3. User: Who is using it?
4. Properties: What are its properties?
5. Reection: Is the runtime model used for reection?</p>
        <p>Eight (8) approaches were classied according to these dimensions. The
approaches discussed were approaches developed by people who were in the
discussions and were not necessarily related to the papers presented earlier during
this workshop but certainly use runtime models.</p>
        <p>
          In order to do the classication, the eight approaches were explained to the
rest of the audience by at least one person. Then, the approaches were assigned
to two (
          <xref ref-type="bibr" rid="ref2">2</xref>
          ) types based on this classication: (
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) model-code synchronization and
(
          <xref ref-type="bibr" rid="ref2">2</xref>
          ) self-adaptive systems / system conguration, where the second type can be
further split by the applied domain into (2a) general purpose and (2b) cloud. Of
course, further domains exist, e.g., mobile devices and cyber-physical systems,
but approaches of these domains were not been discussed at the workshop. The
results of the discussions can be summarized as follows:
(
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) Approaches on Model-Code Synchronization
        </p>
      </sec>
      <sec id="sec-1-4">
        <title>User: Properties:</title>
      </sec>
      <sec id="sec-1-5">
        <title>Reection:</title>
        <p>Michael Szvetits (University of Applied Sciences Wiener Neustadt)
Interactive Visualization
Runtime Model: Class and sequence diagrams (design time).
Purpose: Extraction of information from the running system.
User: Developers use models to understand the design and
the running system.</p>
        <p>Properties: Descriptive; there are trace links between model
elements and runtime elements.</p>
        <p>Reection: Is used to determine relevant information.
Mohammed Al-Refai (Colorado State University, USA)
Finegrained Adaptation Framework (FiGA) [1] (not discussed as a paper in
this workshop)
Runtime Model:
Purpose:</p>
      </sec>
      <sec id="sec-1-6">
        <title>Class, sequence and activity diagrams. Enables developers to change the system at runtime by applying changes to the runtime models. Developers.</title>
        <p>Visual (representation of source code), abstract, not
executable, descriptive.</p>
        <p>Yes. Causal connection between models and code.
(2a) General Purpose Self-adaptive Systems</p>
      </sec>
      <sec id="sec-1-7">
        <title>Simon Spinner (KIT, Germany) Descartes Meta-Model</title>
        <p>Runtime Model: Architectural performance models, behavior
models describing how the system utilizes resources and
adaptation models describing the adaptation process
and what can be adapted.</p>
        <p>Purpose: Optimization of ressource allocation to meet
performance objectives.</p>
        <p>User: Autonomous systems, i.e., the system is the user.
Properties: Self-reective, self-predictive, course-grained (i.e.,
architectural), interpretative.</p>
        <p>Reection: Yes. Causal connection between model and system.
Sebastian Gtz (Technische Universitt Dresden) Multi-Quality
Auto-Tuning [2] (not discussed as a paper in this workshop)
Runtime Model: Architecture of soft- and hardware, behavioral
models to predict non- functional properties,
Quality-ofService contracts covering non- functional behavior
of implementations and a model reecting the
current state of the overall system.</p>
        <p>Purpose: Optimal conguration meeting multiple objectives
concurrently.</p>
        <p>User: End-user or system are the user.</p>
        <p>Properties: descriptive, self-reective, self-predictive,
interpretative, heterogeneous.</p>
        <p>Reection: Yes. Causal connection between model and running
system.</p>
        <p>Nelly Bencomo (Aston University, UK) Runtime Goal-based
models for requirements-aware systems [3] (not discussed as a paper in this
workshop)
Runtime Model: Requirement and goal models.</p>
        <p>Purpose: Self-adaptive system, thus, conguration.
User: End-user or system itseldcan be user.</p>
        <p>Properties: Descriptive
Reection: Top-down, but not bottom-up.
(2b) Self-adaptive Systems in Cloud Environments</p>
      </sec>
      <sec id="sec-1-8">
        <title>Nicolas Ferry (SINTEF, Norway) CloudML</title>
        <p>Runtime Model: Model describing the distribution of components in
a cloud environment.</p>
        <p>Purpose: Service Provisioning, Optimal Deployment meeting
objectives.</p>
        <p>User: End-user or system can be the user (also
simultaneously).</p>
        <p>Properties: Descriptive, can be simulated, i.e., interpretable.
Reection: Yes. Causal connection between model and system.</p>
      </sec>
      <sec id="sec-1-9">
        <title>Xiadong Zhang (Peking University) SM@RT Runtime Model: Architecture model of a cloud environment. Purpose: Optimal conguration meeting cost minimization objective.</title>
        <p>User: Enterprises (i.e., management sta) and
administrators.</p>
        <p>Properties: heterogeneous, descriptive.</p>
        <p>Reection: Yes. Causal connection between model and system.</p>
        <p>Interestingly, all participants could immediately classify their approach by
answering the ve questions. Thus, for future work, we plan to do a broader
discussion to collect more approaches based on models at runtime and, in
consequence, identify more types of approaches.</p>
        <p>The classication shown above for the presented approaches can certainly be
applied to other approaches. The classication shows that "models@runtime"
has evolved as a paradigm covering new types of dynamic systems (like the
CPSs described above) and enables a structured investigation of domains like
safety (by separation of concerns due to models). Note that during the edition
of the workshop last year, models@runtime has been discussed much more
fundamentally (e.g., executable models vs. runtime models). This year we saw the
application of the paradigm to various domains. A more extensive application of
this classication can certainly be useful as a way to evaluate and compare the
approaches developed based on the use of runtime models so far.
4</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>Final Remarks</title>
      <p>A general wrap-up discussion was held at the very end of the afternoon. The
workshop was closed with a friendly thank you from the organizers to all
participants for a fruitful workshop. After the workshop, the organizers used the
feedback from attendees and PC members to conclude that there is still need for
the discussions in this workshop for next yeareven after eight years. However,
we are planning a new approach for next year while doing the call for papers. It
was concluded that the research topic of the workshop has got a certain level of
maturity. Several approaches exist and have been applied along all these years
and certainly the workshop should take those facts into account.</p>
    </sec>
    <sec id="sec-3">
      <title>Acknowledgements</title>
      <p>We would also like to thank the members of the program committee who acted as
anonymous reviewers and provided valuable feedback to the authors: Christoph
Bockisch, Walter Cazzola, Lars Grunske, Martin Gogolla, Bradley Schmerl, Hui
Song, Matthias Tichy, Franck Chauvel, Peter J. Clarke, Fabio Costa, Holger
Giese, Gang Huang, Jean-Marc Jezequel, Rui Silva Moreira, Brice Morin, Hausi
Mller, Arnor Solberg, Mario Trapp and Thas Vasconcelos Batista.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Cazzola</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rossini</surname>
            ,
            <given-names>N.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Al-Refai</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , France, R.:
          <article-title>Fine-grained software evolution using uml activity and class models</article-title>
          . In: To be published in
          <source>Proceedings of the 16th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems</source>
          , Springer (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2. G tz, S.,
          <string-name>
            <surname>Wilke</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cech</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , A mann, U.:
          <article-title>Architecture and Mechanisms for Energy Auto Tuning</article-title>
          . In:
          <article-title>Sustainable ICTs and Management Systems for Green Computing</article-title>
          .
          <source>IGI Global</source>
          (
          <year>June 2012</year>
          ) 45
          <fpage>73</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Bencomo</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Whittle</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sawyer</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Finkelstein</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Letier</surname>
          </string-name>
          , E.:
          <article-title>Requirements reection: Requirements as runtime entities</article-title>
          .
          <source>In: Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering</source>
          , Cape Town, South Africa, ACM (May
          <year>2010</year>
          )
          <volume>199</volume>
          202
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>