<!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>Usable Design Space Exploration in AutoFOCUS3</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Johannes Eder</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sebastian Voss</string-name>
          <email>vossg@fortiss.org</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>fortiss GmbH Software and Systems Engineering Guerickestr.</institution>
          <addr-line>25, 80805 Munich</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2016</year>
      </pub-date>
      <abstract>
        <p>Software-intensive embedded systems are characterized by an increasing number of features that implement complex functionalities. To e ectively manage this complexity, development processes in general, and model-based approaches in particular, support the development of such systems as model-based approaches have been considered a central design approach to deal with increasing complexity in software and hardware development. A valid system design and con guration, especially a safety-critical system design, has to ful ll a corresponding set of requirements describing all desired system constraints and objectives. In general, these constraints may be contradicting and correspond to di erent dimensions (e.g. timing, safety, energy, cost, etc.). Thus, considering all system constraints during system design is a manually unsolvable task. To support the system designer, usable Design Space Exploration methods are needed. Therefore, a proper tool implementation is needed that supports the usability. In this paper, we describe a Design Space Exploration process which aims to explore the architectural design space during system design. This process has been implemented in the open source CASE tool AutoFOCUS31 with the focus on usability.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Page 51
The design space of distributed embedded systems is characterized by an ever
increasing number of features, like for example in automotive vehicles. Due to
this growing complexity, the process of manually exploring possible designs for
these systems is getting even harder for system designers. Therefore, a design
space exploration process is needed, which guides the system designer in a
semiautomatic way to explore possible design solutions.</p>
      <p>In this paper, we describe such a semi-automatic Design Space Exploration
process which has been implemented in AutoFOCUS3. AutoFOCUS3 is a
CASE Tool that allows for seamless, model-based development of distributed,
embedded systems.</p>
      <p>The goal of our approach is to provide a usable Design Space Exploration
(DSE) process, enabling the system designer to calculate, explore and compare
di erent design alternatives during system design. These design alternatives
satisfy all requirements (constraints) that are of interest for the system design.
Naturally, such requirements are mostly contradicting. Due to this fact, a
semiautomatic approach is proposed, where not only one single nal design can be
calculated. In fact, it enables trade-o analysis by automatic generation of
possible (optimized) design alternatives, that can then be evaluated by a system
designer.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Related work</title>
      <p>In this section, we will shortly introduce related work concerning this paper. On
the one hand AutoFOCUS3 and some related case studies and on the other
hand other existing DSE frameworks.
2.1</p>
      <p>
        CASE tool AutoFOCUS3
AutoFOCUS3 is a scienti c CASE tool, which supports the development of
component based, reactive distributed embedded systems on di erent levels of
abstraction [
        <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
        ]. It is based on the notion of streams and stream processing
functions introduced in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. The tool has been used in several industrial case
studies, e.g. for modeling a Siemens train automation system [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] and [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] are
other examples where AutoFOCUS3 was applied in a case study.
      </p>
      <p>AutoFOCUS3 also provides a design space exploration process, which will
be explained in more detail in the next section.
2.2</p>
      <p>DSE frameworks
There are a variety of widely used UML/SysML modeling tools like IBM
Rhapsody, PTC Integrity, Enterprise Architect and Papyrus. Until now, they do not
o er any design space exploration techniques. Research-wise however, there are
a few frameworks existing, which o er DSE techniques.</p>
      <p>
        Here we will mention two of them. There is e.g. the FORMULA framework [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]
which uses a formal speci cation language to encode a model driven architecture.
The Z3 SMT solver is then used to enable model synthesis, providing design
alternatives.
      </p>
      <p>
        The CoBaSA tool provides a language for expressing system constraints [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
This tool then uses PBSAT or SAT solvers to generate optimized solution
architectures, which satisfy all given constraints.
      </p>
      <p>The di erence from AutoFOCUS3 to the tools mentioned above is that
AutoFOCUS3 has a strong focus on usability. This entails, e.g., that the tool
provides a user interface which is easy to use and understand. In particular, this
means that the user is only exposed to as little formalism as possible, while still
being able to use the power of these methods.</p>
      <p>
        The AutoFOCUS3 Design Space Exploration Process
A usable, tool-supported DSE process starts with a pre-de ned model of the
system (e.g. using SysML [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]). We consider such system models to be basically
divided into several models, which represent di erent levels of abstractions:
Logical Architecture The logical architecture represents the functionality of
the system in terms of components. These components can be either
hierarchically composed or represent a behavior (like for example a state-automaton).
Components can have typed input and output ports. Communication can be
realized by through channels, which connect ports with each other.
Technical Architecture The technical architecture consists of all hardware
parts of the system, independently from its functionality. This architecture
basically represents execution units which are connected to communication units
(e.g. bus), sensors and actuators.
      </p>
      <p>Deployment The Deployment is the connection between logical and technical
architecture. The components are deployed onto execution units, where their
functionality will be executed. The communication between components, which
are mapped onto di erent execution units, is deployed to a communication unit
connecting these execution units.</p>
      <p>Schedule A schedule adds timing information to a deployment. That means
starting times and durations of components deployed on execution units and
messages deployed on communication units.</p>
      <p>Depending on the synthesis step, which will be explained in the next
section, this system model may di er. A logical architecture model and a technical
architecture model is needed in order to perform a deployment synthesis. For
synthesizing schedules a deployment model is needed.
3.1</p>
      <p>
        The DSE process
Based on these models, we propose a three fold DSE-process, as depicted in
gure 1:
1. Objective and constraint modeling: Consideration of so called
Exploration Targets (see also [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]), namely constraints and objectives of the
corresponding design space.
2. Model synthesis: Based on the the system model and the Exploration
Targets, di erent synthesis methods are implemented that explore the design
space and return Pareto e cient solutions.
Objectives
      </p>
      <p>Constraints
Objective and constraint
modeling</p>
      <p>System</p>
      <p>Model
Deployment
Synthesis
Schedule</p>
      <p>Synthesis
3. Visualization: Calculated results are visualized in an (interactive)
Visualization process step using di erent visualization techniques to support the
system designer.</p>
      <p>In the following, we describe these process steps in detail:
3.2</p>
      <p>
        Objective and constraint modeling
The de nition of constraints and objectives is essential as they constrain the
design space and de ne cost-functions in order to optimize solutions. The process
of constraint modeling limits the set of possible solutions and is (often) derived
from system requirements, such as safety requirements which require certain
safety integrity levels (SIL) [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] (e.g. that a logical component requires a SIL of
3), or timing requirements which give certain time bounds (e.g. that the overall
latency of a system should not exceed 200ms).
      </p>
      <p>On the other hand, objectives describe a cost function which shall be
optimized. These objectives can also be derived from requirements such as
minimization of hardware costs (e.g. if it is required to have the least possible hardware
costs), or of energy consumption (e.g. if the energy consumption of the whole
system shall be kept as minimal as possible).</p>
      <p>
        Therefore, AutoFOCUS3 provides a domain speci c modeling language
which enables the formalization of such constraints and objectives. Equation
1 shows an exemplary constraint, which states that if a software component
is mapped to a hardware component, the software component's SIL must not
exceed the hardware components SIL (see also [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]).
      </p>
      <p>8h 2 HW; 8s 2 SW; sw ! hw : s:sil
h:sil</p>
      <p>Equation 2 shows an exemplary objective which is a cost function over all
hardware components ( nancial) costs, where at least one software component
is deployed on. This function shall be minimized.</p>
      <p>min(8s 2 SW</p>
      <p>X
9h2HW :s!h
h:cost)
(1)
(2)</p>
      <p>To e ectively support the system designer, constraints and objectives are
de ned on a visual basis through editors. These editors o er patterns for this
language, in order to abstract the exact syntax and semantics of the language.
These patterns are provided through the graphical user interface of
AutoFOCUS3 and do not require any knowledge of formal languages. Figure 2 shows how
equation 2 describing an objective is modeled in AutoFOCUS3. Constraints
are modeled similarly.
Among all constraints and objectives, sub-sets of constraints and objectives are
de ned, in order to explore a certain design space exploration problem. Such a
Sub-Set categorizes constraints and objectives modeled in the previous process
step. The selection of desired subsets (compare gure 3) provides the input of
the design space exploration problem under consideration.</p>
      <p>The design space exploration process in AutoFOCUS3 provides synthesis
mechanisms for deployment synthesis and schedule synthesis. We provide a
symbolic encoding scheme, resp. a formalization describing the DSE problem as a
satis ability problem using boolean formulas and linear arithmetic constraints.
A state-of-the-art satis ability modulo theory (SMT) solver is used to compute
design alternatives. We use the Z3 Theorem Prover by Microsoft 2.</p>
      <p>If a synthesis process cannot nd any solutions, the user gets noti ed which
sub sets and which constraints in these sub sets made it impossible to synthesize
2 https://github.com/Z3Prover
anything. Thus it is possible to check if either the constraint itself was phrased
wrong or if the requirement this constraint is derived from is wrong.
Deployment synthesis The deployment synthesis enables the exploration of
the design space of deployments from logical components to technical
components. Deployment means, that the functionality represented by a logical
component is executed as a task, on the speci c electrical control unit it is deployed
on, at runtime.</p>
      <p>Thus, this synthesis method needs, besides the constraint and objectives
sub sets, models of logical component architecture and technical architecture as
input. Given all these three artifacts one can explore design space of possible
deployments.</p>
      <p>Schedule synthesis The schedule synthesis enables the exploration of the
timing behavior of a system. Given the input of a deployment (mapping) model
(which could have been synthesized in the previous step), this mechanism
synthesizes possible solutions of execution times of tasks and messages while
considering given constraint and objective sub sets.</p>
      <p>Visualization
The last DSE process step is the visualization of the calculated design
alternatives. According to the given objectives in the previous synthesis step the results
can be displayed in a 3D visualization or spider chart (compare gure 4), where
each axis can be assigned one objective. They may also be visualized in a table
where each column displays one objective. For schedules a gantt chart is provided
which displays the (timed) sequence of tasks and messages.</p>
      <p>By using these visualization techniques, a system designer is supported to
select the desired solution. This solution includes information (either deployment
or schedule information, depending on the performed synthesis step), that can
be transferred back into the system model.</p>
      <p>Another iteration of the DSE process can then be performed if necessary. For
instance, if one wants to explore the design space of possible schedules with a
recently chosen deployment.</p>
      <p>Furthermore, it is also possible to go one or even two steps back to alter the
previous steps. Either to model new constraints and objectives and/or to adapt
the constraint and objective sub sets which where used for synthesis.
4</p>
    </sec>
    <sec id="sec-3">
      <title>Conclusion</title>
      <p>In this paper, we have presented a Design Space Exploration process
implemented in the CASE tool AutoFOCUS3. This process is in particular usable,
due to the fact that it guides the system designer through all the required steps
of a DSE. Moreover the process provides easy to use formalization methods,
which do not require any knowledge in the eld of formalization.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1. AutoFocus 3
          <article-title>- A scienti c tool prototype for model-based development of component-based, reactive, distributed systems</article-title>
          , Holzl, Florian and Feilkas, Martin,
          <source>Model-Based Engineering of Embedded Real-Time Systems</source>
          ,
          <volume>317</volume>
          {
          <fpage>322</fpage>
          ,
          <year>2010</year>
          , Springer
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2. AutoFOCUS 3:
          <article-title>Tooling concepts for seamless, model-based development of embedded systems, Aravantinos, Vincent and Voss, Sebastian and Teu , Sabine and Holzl, Florian and Schatz</article-title>
          , Bernhard,
          <source>Joint proceedings of ACES-MB</source>
          , p.
          <fpage>19</fpage>
          ,
          <year>2015</year>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <article-title>Speci cation and development of interactive systems: focus on streams, interfaces, and re nement, Broy, Manfred and St len</article-title>
          ,
          <source>Ketil</source>
          ,
          <year>2012</year>
          , Springer Science &amp; Business Media
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <article-title>4. A formal systems engineering approach in practice: an experience report, Bohm, Wolfgang and Junker, Maximilian and Vogelsang, Andreas and Teu , Sabine and Pinger, Ralf</article-title>
          and Rahn, Karsten,
          <source>Proceedings of the 1st International Workshop on Software Engineering Research and Industrial Practices</source>
          ,
          <volume>34</volume>
          {
          <fpage>41</fpage>
          ,
          <year>2014</year>
          , ACM
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>M.</given-names>
            <surname>Feilkas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Fleischmann</surname>
          </string-name>
          , F. Holzl, C. Pfaller,
          <string-name>
            <given-names>K.</given-names>
            <surname>Scheidemann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Spichkova</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Trachtenherz</surname>
          </string-name>
          ,
          <article-title>A Top-Down Methodology for the Development of Automotive Software</article-title>
          , Technische Universitat Mnchen,
          <source>Tecg. Rep. TUM-I0902</source>
          ,
          <year>2009</year>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>M.</given-names>
            <surname>Feilkas</surname>
          </string-name>
          , F. Holzl, C. Pfaller,
          <string-name>
            <given-names>S.</given-names>
            <surname>Rittmann</surname>
          </string-name>
          , B. Schatz, W. Schwitzer,
          <string-name>
            <given-names>W.</given-names>
            <surname>Sitou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Spichkova</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Trachtenherz</surname>
          </string-name>
          ,
          <article-title>A Top-Down Methodology for the Development of Automotive Software</article-title>
          , Technische Universitat Mnchen,
          <source>Tecg. Rep. TUM-I1103</source>
          ,
          <year>2011</year>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7. Components,
          <article-title>platforms and possibilities: towards generic automation for MDA, Jackson, Ethan K and Kang</article-title>
          , Eunsuk and Dahlweid, Markus and Seifert, Dirk and Santen, Thomas,
          <source>Proceedings of the tenth ACM international conference on Embedded software</source>
          ,
          <volume>39</volume>
          {
          <fpage>48</fpage>
          ,
          <year>2010</year>
          , ACM
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Automating</surname>
          </string-name>
          component
          <article-title>-based system assembly, Manolios, Panagiotis and Vroon, Daron</article-title>
          and Subramanian, Gayatri,
          <source>Proceedings of the 2007 international symposium on Software testing and analysis</source>
          ,
          <volume>61</volume>
          {
          <fpage>72</fpage>
          ,
          <year>2007</year>
          , ACM
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9. ISO 26262 -
          <string-name>
            <surname>Road</surname>
          </string-name>
          vehicles - Functional safety, Geneva, Switzerland,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>A</given-names>
            <surname>Lightweight Design Space Exploration And Optimization Language</surname>
          </string-name>
          , Diewald, Alexander and Voss, Sebastian and Barner, Simon,
          <source>Proceedings of the 19th International Workshop on Software and Compilers for Embedded Systems</source>
          ,
          <volume>190</volume>
          {
          <fpage>193</fpage>
          ,
          <year>2016</year>
          , ACM
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>OMG</given-names>
            <surname>Systems Modeling Language (OMG SysML)</surname>
          </string-name>
          ,
          <source>Version 1</source>
          .3, http://www.omg.org/spec/SysML/1.3/, 2012
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>