<!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>Environment Modeling for Complex, Dynamic and Distributed Systems</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Fabian Kneer</string-name>
          <email>fabian.kneer@fh-dortmund.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dortmund University of Applied Sciences and Arts</institution>
          ,
          <addr-line>Emil-Figge-Str. 42, 44227 Dortmund</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>[Context and Motivation:] Complex, dynamic, and distributed systems confront requirements engineers with new challenges. The systems operate in dynamic environments with an increasing complexity. Modeling the context for understanding, developing and validate the requirements becomes a di cult task. [Question/ problem:] Current requirements engineering techniques for gathering information are not su cient to capture the system behavior and the environment for this class of systems. [Principal ideas/ results:] A new approach is needed to support the development of an environment model, the idea is to use runtime information (e.g., from executing early prototypes of the system) to gather additional facts about the environment. [Contribution:] In this paper I present the motivation and challenges for the environment modeling for complex, dynamic, and distributed systems and an overview of the progress of my thesis. For this purpose I present my previous work on this eld and discuss the proposed work for my thesis.</p>
      </abstract>
      <kwd-group>
        <kwd>Dynamic and distributed systems</kwd>
        <kwd>environment models</kwd>
        <kwd>runtime information</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>The part of the real world that is relevant to understand a system is usually called
its (operational) environment (we consider this term as synonymous to context
in this paper). A proper understanding of the environment is a prerequisite to
write requirements for a system.</p>
      <p>There are characteristics of a system that complicate the gathering of
information on the environment and its requirements. These characteristics are:
{ Dynamic: the behavior of a dynamic system is a ected by changing users'
needs and uncertainties in their operational environment. These systems
often have a considerable lifetime and operate in di erent situations, which
leads to evolving or changing requirements. A system needs feedback
mechanisms to analyze the di erent environment situations and adapt to satisfy
the requirements.
{ Distribution: a distributed system consists of components located on
networked computers, which communicate and coordinate their actions. They
share di erent resources and capabilities to reach a common goal or
collaborate to reach individual goals.</p>
      <p>Examples for these characteristics can be found in the mobility area. A future
car for instance will be connected with other cars or with parts of the tra c
infrastructure, like intelligent tra c lights. Theses connected entities leads to
a dynamic environment for the car with services and information that are not
always available. If we look at autonomous driving, the complexity of the
environment and the resulting requirements is immense. The mobility domain is
just one example for systems with these characteristics. Other examples can be
found in the Internet of Things (IoT) domain.</p>
      <p>Problem. The classic RE techniques for gathering information are not fully
su cient to capture the environment and the requirements of such a system
characterized above. One reason is that the information about environment and
system behavior available from stakeholders is a priori incomplete. The missing
information leads to incomplete speci cations and incorrect software.</p>
      <p>Due to the dynamic nature of such systems, requirements evolve during
runtime and are a priori not completely available or not fully understood to elicit
them with techniques like interviews.</p>
      <p>
        Newer approaches to requirements engineering, e.g., from the eld of
selfadaptive systems [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], address the dynamic nature of the environment. However,
the results of a systematical literature review that I performed, indicate that
approaches mainly focus on modeling and not on gathering requirements or
environment information (see Section 2 for details).
      </p>
      <p>Goal. The goal of my thesis is to provide a better understanding of
environment modeling for complex, dynamic and distributed systems. This includes (1)
the identi cation of missing concepts of environment models and (2) the
adoption of techniques to collect this information. The idea is to adopt techniques
beyond the RE phase, more precisely from downstream software development:
e.g., prototyping, simulation, and eld test. An implementation of a RE tool to
support the improved modeling process will be provided as a proof of concept.</p>
      <p>The proposed work will address the following research questions:
[RQ1] What are the core concepts for dynamic and distributed systems to
become represented in environment models and how to represent them?
[RQ2] What methods are useful to identify the relevant information for
environment models beyond the RE phase?
[RQ3] What kind of information are needed by an requirements engineer to
improve the development process and the adaption process? Su cient
information about the environment of a system are needed to develop,
understand, and validate requirements. An adaptive system uses the environment
information for a better decision space and to improve the overall adaption
process.</p>
      <p>
        Solution. Our rst approach towards this goal was to weave runtime
information about the requirements and variable parameters of a dynamic system back
into the requirements speci cation, see [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. The goal was to produce a better
understanding of (1) the system behavior and (2) the evolution of the
requirements and parameters. This information is useful to maintain and update a
system and to increase the trust of the user in the adaptation, because he or she
can understand the runtime decisions.
      </p>
      <p>Based on this approach we consider an iterative, tool-supported process for
gaining runtime information about the environment and the requirements, which
is depicted in Figure 1. First, the requirements are gathered and an
environment model will be modeled by a requirements engineer. Then, a prototyping
and evaluation framework is used to support the development of a system. The
frameworks can be used to generate probes for an application and the whole
adaption mechanism (with integrated MAPE loop) out of a speci cation. It
includes an instrumentation for simulation and eld test, which collects runtime
data on environmental entities.
We are convinced that an early eld test can help to nd missing
environment data and to improve the general knowledge about the system behavior.
Simulations can be used as an alternative to the eld test, if the environment
model contains su cient information.</p>
      <p>Based on the information gathered during a eld test or simulation - the
requirements and the environment model enhanced in the next iteration. The
before-mentioned information is gathered by tracing components inside of the
prototype and by observations and feedback from the requirements engineer.</p>
      <p>In my thesis I focus on the environment model as it is the most important
artifact in the process. It is used for the generation of the prototype, to describe the
environment for simulation, and to collect the environment information gathered
during simulation and early eld test.</p>
      <p>The remainder of the paper is structured as follows. Sec. 2 represent a short
summary of a systematic literature review on environment modeling. Sec. 3
describes the process of my PhD thesis with an overview on previous work, Sec.
3.1, and a discussion on the proposed work, Sec. 3.2.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Related Work</title>
      <p>We performed a systematic literature review (SLR) on environment modeling for
adaptive systems. The SLR provides rst results for the research question [RQ1]
und [RQ2]. The search strings are based on three main facets: research object
environment model, quali cation - adaptive and restriction - requirements
engineering and the alternative terms. We have chosen IEEE Xplore Digital Library,
Springer Link and Google Scholar as databases for identifying the publications.
At the start of the selection process we gathered 455 publications, which were
tested by prede ned selection and exclusion criteria. This process resulted in 58
relevant publications.</p>
      <p>In the SLR, we considered elicitation and validation of the environment.
Unexpected for us are the few results for these activities. Elicitation is addressed
mostly with a few sentences that refer to interviews and meetings. Only one
paper compares di erent elicitation methods like brainstorming, 6-3-5 method,
six thinking hats, eld observation, apprenticing and interviews. We expected
more focus on eld observation, because the information about the environment
is a priori often not available as mentioned previously.</p>
      <p>In conclusion, we argue that we need a systematic process for eliciting,
modeling, and validating the environment: an environmental model provides a
reference for requirements, it provides a basis to anticipate changes in the
environment, it allows to derive test scenarios, and it helps to monitor the environment
at runtime.</p>
      <p>We identi ed four major modeling approaches: goal-based, agent-based,
rulebased, and state machine modeling. As an example for an approach to model the
environment we discuss the goal-oriented approach. A goal-oriented approach
focuses on modeling the goals of an actor and how a goal can be achieved over
alternative ways. The modeling process trying to nd actors and models the
relationship between them. There are no opportunities to model a system boundary.
It is not relevant for the modeling approach if an actor is part of the system or
not, it is important what parts belong to a speci c actor and how the actors
depend on each other. Additional elements or annotations are used to identify
context elements.</p>
      <p>
        Figure 2 shows two di erent ways to represent the environment (i* Example).
First, it is a physical or virtual element in the environment of an actor, which is
needed to achieve a goal of this actor. The element is represented as a resource
element [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. To handle the complexity and dynamic of an environment, the
approaches focusing on speci cation and specialization of the resource element by
adding attributes, annotations, or new siblings. For example, an annotation as a
clear label for an element that lies in the environment, or a specialization into
monitored resources, which only provide information, or controlled resources,
which can be changed from a system.
      </p>
      <p>
        Second, the environment is represented as actor itself [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. This leads to a
more speci c representation of the environment with detailed view of the goals
in the environment and how it can achieve them. This also helps to work against
the missing environment information, because the environment is not only seen
as an interface which provides information or services - instead a more detailed
representation of the environment element is presented. This indicates increasing
need for more environment information.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Research Progress</title>
      <p>The starting point of the thesis is the iterative enhancement process (shown in
Figure 1) tailored for complex, dynamic, and distributed systems. Two empirical
studies are planned to analyze and compare the identi ed approaches for
environment modeling. Based on the results a new integrating environment model
will be developed and integrated in a RE tool. The tool and the process will be
analyze and validated with empirical studies.</p>
      <p>In the remainder of this section the previous performed work will be presented
and the plans for the rest of the thesis will be discussed.
3.1</p>
      <sec id="sec-3-1">
        <title>Previous Work</title>
        <p>
          As mentioned previously, our rst approach in this area was a feedback-aware
requirements document in [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]. The approach tries to bridge the gap between
development time and runtime representations of requirements in order to keep
them consistent and to facilitate better understanding. We propose to weave the
feedback from the runtime system into requirements documents using a
domainspeci c language that largely retains the informal nature of requirements. An
annotated requirements document helps to get a better understanding of the
system's actual behavior in a given environment. The approach is implemented
using mbeddr, a novel set of domain-speci c languages for developing embedded
systems, and illustrated using a running example.
        </p>
        <p>
          Next we suggested a prototyping and evaluation framework for
selfadaptive systems in [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]. The goal of the framework is to ease the prototyping
(and possibly development) of adaptive systems. For this purpose, the
framework o ers implementations of selected approaches to adaptive systems based
on the MAPE loop. Another goal of the framework is to ease the evaluation
of self-con guring systems, to allow for instance benchmarks between di erent
approaches. The framework is able to collect data on a subset of the metrics at
runtime about overall quality, e ort, and cost.
        </p>
        <p>
          For bench-marking we propose a case from the IoT domain, smart cities
in particular, which comprises of hardware and software components, see [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ].
Starting point is a smart street lighting system with communication between
the lamps and passing cars. Our initial results of running a case study with
a model-based prototyping framework on the smart street light are in [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. The
framework includes a software simulation of street lights and the events from the
passing cars. The case can be used as a benchmark to compare several approaches
in order to make a more informed decision which approach to choose.
        </p>
        <p>A systematic literature review on environment modeling for
adaptive systems was performed, in particular from a requirements perspective.
We addressed the goals, the modeling concepts as well as the methodological
aspects of environment modeling in our survey. As major results of our survey, we
provide an ontology of typical goals of environment models in adaptive system
research and a meta-model of existing environment modeling concepts. As a
negative nding { and a research opportunity { we nd that so far methodological
aspects of environmental modeling for requirements engineering have received
very little attention.
3.2</p>
      </sec>
      <sec id="sec-3-2">
        <title>Proposed Work</title>
        <p>Currently, I'm working on a more speci c conception of the environment. This
includes my view on relevant and irrelevant parts or information that should be
included in an environment model - given the extended ways of using it.</p>
        <p>I am planing to enlarge the case study on IoT as a base for empirical
studies to evaluate the identi ed approaches for environment modeling from our
survey. The advantages and disadvantages will be determined. Based on the
gathered information a general meta-model for environment modeling
will be developed.</p>
        <p>As a result of my PhD thesis, I will develop a prototype RE tool based on
the meta model that includes supporting mechanisms to create environmental
models and to enrich this model by prototyping, simulation, and eld test.</p>
        <p>The resulting RE tool will be validated using the IoT case mentioned above
and if possible at that time in cooperation with a local company.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Acknowledgment</title>
      <p>This research was supported by graduate school of University of Applied Sciences
and Arts, Dortmund.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>M.</given-names>
            <surname>Morandini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Penserini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Perini</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Marchetto</surname>
          </string-name>
          . \
          <article-title>Engineering requirements for adaptive systems"</article-title>
          .
          <source>In: Requirements Engineering 22.1</source>
          (
          <issue>2015</issue>
          ), pp.
          <volume>77</volume>
          {
          <fpage>103</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>E.</given-names>
            <surname>Kamsties</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Kneer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Voelter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Igel</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Kolb</surname>
          </string-name>
          . \
          <article-title>Feedback-Aware Requirements Documents for Smart Devices"</article-title>
          . In: Requirements Engineering:
          <article-title>Foundation for Software Quality -</article-title>
          20th
          <source>International Working Conference, REFSQ</source>
          <year>2014</year>
          , Essen, Germany, April 7-
          <issue>10</issue>
          ,
          <year>2014</year>
          . Proceedings. Ed. by
          <string-name>
            <given-names>C.</given-names>
            <surname>Salinesi</surname>
          </string-name>
          and I. van de Weerd. Vol.
          <volume>8396</volume>
          . Lecture Notes in Computer Science. Springer,
          <year>2014</year>
          , pp.
          <volume>119</volume>
          {
          <fpage>134</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>N. A.</given-names>
            <surname>Qureshi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I. J.</given-names>
            <surname>Jureta</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Perini</surname>
          </string-name>
          . \
          <article-title>Towards a Requirements Modeling Language for Self-adaptive Systems"</article-title>
          .
          <source>In: Proceedings of the 18th International Conference on Requirements Engineering: Foundation for Software Quality. REFSQ'12</source>
          . Essen, Germany,
          <year>2012</year>
          , pp.
          <volume>263</volume>
          {
          <fpage>279</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>J. P.</given-names>
            <surname>Carvallo</surname>
          </string-name>
          and
          <string-name>
            <given-names>X.</given-names>
            <surname>Franch</surname>
          </string-name>
          . \
          <article-title>On the Use of i* for Architecting Hybrid Systems: A Method and an Evaluation Report"</article-title>
          .
          <source>In: The Practice of Enterprise Modeling: Second IFIP WG 8</source>
          .1 Working Conference,
          <source>PoEM</source>
          <year>2009</year>
          , Stockholm, Sweden,
          <source>November 18-19</source>
          ,
          <year>2009</year>
          . Proceedings. Ed. by
          <string-name>
            <given-names>A.</given-names>
            <surname>Persson</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Stirna</surname>
          </string-name>
          . Berlin, Heidelberg: Springer Berlin Heidelberg,
          <year>2009</year>
          , pp.
          <volume>38</volume>
          {
          <fpage>53</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>F.</given-names>
            <surname>Kneer</surname>
          </string-name>
          and
          <string-name>
            <given-names>E.</given-names>
            <surname>Kamsties</surname>
          </string-name>
          .
          <article-title>\A Framework for Prototyping and Evaluating Self-adaptive Systems - A Research Preview"</article-title>
          .
          <source>In: Joint Proceedings of REFSQ-2016 Workshops, Doctoral Symposium</source>
          , Research Method Track, and
          <article-title>Poster Track co-located with the 22nd International Conference on Requirements Engineering: Foundation for Software Quality (REFSQ</article-title>
          <year>2016</year>
          ), Gothenburg, Sweden, March
          <volume>14</volume>
          ,
          <year>2016</year>
          . Ed. by E. Bjarnason et al. Vol.
          <volume>1564</volume>
          . CEUR Workshop Proceedings. CEUR-WS.org,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>F.</given-names>
            <surname>Kneer</surname>
          </string-name>
          and
          <string-name>
            <surname>E. Kamsties. \</surname>
          </string-name>
          <article-title>A Case Study on Self-con guring Systems in IoT Based on a Model-Driven Prototyping Approach"</article-title>
          .
          <source>In: Information and Software Technologies - 22nd International Conference, ICIST</source>
          <year>2016</year>
          , Druskininkai, Lithuania,
          <source>October 13-15</source>
          ,
          <year>2016</year>
          , Proceedings. Ed. by
          <string-name>
            <given-names>G.</given-names>
            <surname>Dregvaite</surname>
          </string-name>
          and
          <string-name>
            <given-names>R.</given-names>
            <surname>Damasevicius</surname>
          </string-name>
          . Vol.
          <volume>639</volume>
          . Communications in Computer and Information Science.
          <year>2016</year>
          , pp.
          <volume>732</volume>
          {
          <fpage>741</fpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>