<!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>Denver, CO, USA, October</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Towards Intelligent Tool-Support for AADL Based Modeling of Embedded Systems</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Dries Langsweirdt</string-name>
          <email>dries.langsweirdt@cs.kuleuven.be</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Yves Vandewoude</string-name>
          <email>yves.vandewoude@cs.kuleuven.be</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Yolande Berbers</string-name>
          <email>yolande.berbers@cs.kuleuven.be</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Katholieke Universiteit Leuven, Department of Computer Science</institution>
          ,
          <addr-line>Celestijnenlaan 200A, B-3001 Leuven</addr-line>
          ,
          <country country="BE">Belgium</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2009</year>
      </pub-date>
      <volume>6</volume>
      <issue>2009</issue>
      <fpage>81</fpage>
      <lpage>85</lpage>
      <abstract>
        <p>Model-driven design (MDD) of complex embedded systems is currently based on successive cycles of model changes, analysis and simulation. This iterative process suffers from a delay between applying changes on the model and knowledge about the resulting properties of the system. Current research on Architecture Discription Languages (ADL) in general, and AADL in specific, focuses primarily on tools and support for analysis and simulation, as distinct phases during design. We give an overview of existing work on AADL, and illustrate though a case study the opportunities for a novel, integrating research domain on ADL.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Model-driven design (MDD) helps system architects master the complexities
associated with the development of large and multi-concern embedded systems.
Architecture Description Languages (ADL) are hereby a primary way to model
the system components and their interactions. ADL specific analysis and
simulation tools applied on these models can estimate the properties and the behavior
of the final system, and thus predict if the system will meet its requirements.
Deviations between analysis and simulation results on the one hand, and
expected properties and behavior on the other, lead to model changes. As such,
the design follows an iterative scheme. Changing the model implies changing
the properties of the system, be it functional or non-functional. However, the
relation between a model change and the resulting properties is often unclear
until the subsequent analysis and simulation phase, making this iterative cycle
unnecessarily long. There is a clear need for tools able to seamlessly integrate
the modeling, analysis and simulation phases as to assist the architect in
decision making through direct feedback on model changes. Formalization of domain
knowledge and architectural patterns are prime concerns in this context. This
paper identifies the need for research addressing these concerns, and does so in
This work has been carried out as a part of the Condor project (http://www.esi.nl
Projects-&gt;Condor) at FEI company under the responsibilities of the Embedded
Systems Institute (ESI). This project is partially supported by the Dutch Ministry
of Economic Affairs under the BSIK program.
2
the concrete context of the Architecture Analysis and Design Language (AADL)
[
        <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
        ] as a prime example of a Real-Time/Embedded (RT/E) ADL.
      </p>
      <p>This paper is organized as follows. Section 2 gives an overview of the current
work on AADL. Section 3 introduces an example used to pinpoint the current
technical barriers, and is a first incite towards more intelligent tool-support. In
section 4, we discuss our current ideas and provide a possible roadmap for future
research. Conclusions are drawn in the final section.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Overview of current work on AADL</title>
      <p>
        Four research domains applicable to AADL are currently under active
development: front-end processing, code generation, analysis and simulation. Figure 1
shows a classification of the most important initiatives, which are discussed next.
OSATE [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] targets front-end processing and semantic checking of AADL models,
with two possibilities to extend its capabilities into the analysis and simulation
domain. First, plugins can be build on top of OSATE’s functionality, allowing for
custom analysis on OSATE resident models. Second, models can be exported in
an XMI schema, which allows for analysis on the models by external tools. The
TOPCASED [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] project integrates with OSATE to visualize the AADL models.
Ocarina [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] is an Ada tool suite with the ability to generate the
infrastructural code in Ada or C of a distributed, real-time and high-integrity application
from an AADL specification. Ocarina links the generated applications with the
high-integrity middleware libraries PolyORB-HI-Ada and -C, derived from the
PolyORB [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] project. STOOD [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] offers the embedded engineer multiple
modeling paradigms: UML2.0, HRT HOOD and AADL 1.0. Like Ocarina, STOOD
generates Ada and C code from AADL models, but the generated applications
are not distributed. Cheddar [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] is a framework for schedulabilty analysis.
CPNAMI [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] is a CASE environment able to analyze and simulate Petri-net based
models. Both projects are independent of AADL, but provide a good example of
how the aforementioned XMI scheme (together with appropriate model
transformations) can bring external analysis tools to the AADL scene. ADeS [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]
aims at behavioral simulation of AADL models. The goal is to implement the
entire AADL Behavior Model Annex in the simulation kernel Jimex, but
currently ADeS only implements a simple behavioral model on threads. In contrast,
AADS [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] transforms a subset of AADL to SystemC for simulation. Building on
the SCoPE [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] project, AADS is well suited for HW/SW co-design. Finally, [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]
proposed execution of AADL models based on a translation to the synchronous
languages Scade and Lustre.
      </p>
      <p>Only minor integration between the different domains is noted. Intelligent
integration of the available work to assist the system architect during the actual
act of modeling is absent, and is why we suggest a fifth domain on design support
(see figure 1). Intelligent in this context refers to the availability of formalized
knowledge and patterns specific to the embedded domain. Reasoning algorithms
could apply this knowledge on the concrete, but potentially incomplete, models
to deduct architectural suggestions, warnings and optimal properties. A more
concrete discussion can be found under section 4.
We present the extension of an existing OSATE plugin as an illustration of more
integrated modeling support. It also identifies current problems with analysis on
unfinished, declarative AADL models.
AADL differentiates between system specification and instantiation. A system is
defined as completely instantiable if: “the system implementation being
instantiated is completely specified and completely resolved”. The tools presented in
section 2 almost exclusively work on instantiated models, and thus complete with
respect to the compositional and legality rules of AADL. They are incapable of
gathering information from, and act on, declarative models.</p>
      <p>(a)
(b)
4
3.2</p>
      <p>Dries Langsweirdt, Yves Vandewoude and Yolande Berbers</p>
      <sec id="sec-2-1">
        <title>Automated Bin-packing and Scheduling</title>
        <p>
          The case study extends OSATE’s bin-packing and scheduling plugin, which is an
implementation of the work done on partitioned bin-packing algorithms by de
Niz et al. [
          <xref ref-type="bibr" rid="ref14 ref15">14, 15</xref>
          ]. The plugin automates the assignment of threads to processors
available in an instantiated AADL model. We extended the plugin to work on
declarative models as well. Provided with a minimum of information (a thread set
and its properties, with optionally a processor and/or bus used as templates),
our plugin calculates the amount of needed processors and links to make the
threads schedulable. The plugin then extends the declarative model bottom-up,
based on the outcome of the analysis, to a completely instantiable model with
bounded threads. This model transformation is illustrated in figure 2.
3.3
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>OSATE Deficiencies and AADL Intricacies</title>
        <p>
          Although the case study is limited, we noted the following four interesting
problems. First, the API of OSATE with respect to extensive manipulations of
declarative models could be much improved upon. One example is the asymmetry
between addition and removal of component types or implementations. For
removal, the programmer needs to rely directly on the Eclipse Ecore infrastructure.
Second, because of the AADL semantics, information can be scattered
throughout the declarative model in complex ways. Instantiated models do not have this
problem as such, because the relations between components are fixed and their
properties can be referenced directly. Gathering information on the declarative
model quickly results in multiple model scans, potentially leading to a
scalability issue in the current OSATE implementation. Finally, two forms of ambiguity
in the use of the AADL standard (first noted by Delanote in [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ]) complicate
the automated extension and analysis of an unfinished model. First, the legality
rules are different for each component category, making component composition
not only complex, but also ambiguous. For example, the model extension in
the case study wraps each process in a separate system component. There are
however multiple other legal ways with respect to the standard to complete the
model, without the advantages of one approach over another being obviously
clear. Second, there is no well defined relation between the analysis of certain
system properties, and the AADL model properties needed to conduct it. With
these relations being unclear, it becomes hard to discover missing information
in the model.
4
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Roadmap</title>
      <p>As mentioned in section 2, key to assisted modeling is formalization and
embedding of domain specific knowledge and architectural patterns, together with
appropriate reasoning algorithms, in the tools the system architect uses to
construct ADL models. Concrete properties and interconnections of model
components can as such be linked with corresponding analysis and simulation routines.
The results of these routines, automatically invoked on each incremental model
change, can be fed back to the architect in the form of suggestions on
architectural changes. If appropriate, changes can be performed automatically by the
tool, already illustrated in the case study. Note that, as stated in section 3.1
and 3.3, analyzing an incomplete model is a non-trivial task making analysis
and simulation adaptation, or virtual model completion, a necessity. The first
challenge, formalization, is in principle ADL-agnostic, and depends on the RT/E
domain in general. Harvesting model properties and performing model changes
on the other hand, depend on the legality and compositional rules of the
concrete ADL. Both challenges are interesting tracks that can be addressed by the
proposed domain on design support.
5</p>
    </sec>
    <sec id="sec-4">
      <title>Conclusion</title>
      <p>This paper discusses the need for more research focusing on support for the
embedded systems architect during modeling, compared to analysis of a certain
made choice. Through an AADL case study, we identified some of the existing
barriers and defined a roadmap for future research.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Feiler</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gluch</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hudak</surname>
          </string-name>
          , J.:
          <source>AADL: An Introduction. Tech. rep.</source>
          ,
          <source>SAE</source>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2. SAE:
          <article-title>Architecture Analysis &amp; Design Language (AS5506A</article-title>
          ), http://www.sae.org
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>Open</given-names>
            <surname>Source AADL Tool</surname>
          </string-name>
          <article-title>Environment (OSATE)</article-title>
          .
          <source>Techn. rep</source>
          .,
          <source>SEI</source>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <article-title>4. The Open-Source Toolkit for Critical Systems</article-title>
          , http://www.topcased.org/
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Hugues</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zalila</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pautet</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>From the Prototype to the Final Embedded System Using the Ocarina AADL Tool Suite</article-title>
          .
          <source>In: ACM TECS 7 No.4</source>
          ,
          <string-name>
            <surname>Art</surname>
          </string-name>
          .
          <volume>42</volume>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Vergnaud</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hugues</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pautet</surname>
          </string-name>
          , L.:
          <article-title>PolyORB: A schizophrenic middleware to build versatile reliable distributed applications</article-title>
          .
          <source>LNCS</source>
          , vol.
          <volume>3063</volume>
          , pp
          <fpage>106</fpage>
          -
          <lpage>119</lpage>
          . Springer, Heidelberg (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Ellidiss-Software:</surname>
            <given-names>STOOD</given-names>
          </string-name>
          , http://www.ellidiss.com/stood.shtml
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Singhoff</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Legrand</surname>
            .,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tchamnda</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Cheddar: A flexible real time scheduling framework</article-title>
          .
          <source>J. ACM Ada Lett. 24</source>
          ,
          <issue>1</issue>
          -
          <fpage>8</fpage>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <article-title>9. The CPN-AMI home page</article-title>
          , http://www.lip6.fr/cpn-ami
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <article-title>ADeS: a simulator for AADL</article-title>
          , http://www.axlog.fr/aadl/ades_en.html
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Varona-Gmez</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Villar</surname>
          </string-name>
          , E.:
          <article-title>AADL Simulation and Performance Analysis in SystemC</article-title>
          . In: IEEE ICECCS, pp.
          <fpage>323</fpage>
          -
          <lpage>328</lpage>
          . IEEE Computer Society, Potsdam (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <source>SCoPE v1.0.0 UC</source>
          <year>2008</year>
          , http://www.teisa.unican.es/scope
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Jahier</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Halbwachs</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lesens</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Virtual execution of AADL models via a translation into synchronous programs</article-title>
          .
          <source>In: Proceedings of the 7th ACM&amp;IEEE ICESS</source>
          , pp
          <fpage>134</fpage>
          -
          <lpage>143</lpage>
          . ACM,
          <string-name>
            <surname>NY</surname>
          </string-name>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>de Niz</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rajkumar</surname>
          </string-name>
          , R.:
          <source>Partitioning Bin-Packing Algorithms for Distributed Real-Time Systems. I. J. of Embedded Systems 2 No.3/4</source>
          ,
          <fpage>196</fpage>
          -
          <lpage>208</lpage>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>de Niz</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bhatia</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rajkumar</surname>
          </string-name>
          , R.:
          <article-title>Model-Based Development of Embedded Systems: The SysWeaver Approach</article-title>
          .
          <source>In: 12th IEEE RTAS</source>
          , pp.
          <fpage>231</fpage>
          -
          <lpage>242</lpage>
          . IEEE Computer Society, San Jose (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Delanote</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Van Baelen</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Joosen</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Berbers</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>Using AADL in Model Driven Development</article-title>
          .
          <source>UML&amp;AADL'</source>
          <year>2007</year>
          ,
          <article-title>ICECCS07</article-title>
          . IEEE,
          <string-name>
            <surname>Auckland</surname>
          </string-name>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>