<!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>E cient Software Controller Variant Development and Validation (ECoVaDeVa) Overview of a Flemish ICON Pro ject</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Bart Meyers</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Simon Van Mierlo</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Davy Maes</string-name>
          <email>davy.maesg@flandersmake.be</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Hans Vangheluwe</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Flanders Make vzw</institution>
          ,
          <country country="BE">Belgium</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>McGill Unviversity</institution>
          ,
          <country country="CA">Canada</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Name and Acronym of the Project: E cient Software Controller Variant Development and Validation (ECoVaDeVa) List of Participants: AnSyMo/CoSyS-lab (University of Antwerp) CodesignS (Flanders Make Strategic Research Center) Dana Belgium Atlas Copco Siemens PLM Software Belgium Link to O cial Website: https://</institution>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>University of Antwerp - Flanders Make vzw</institution>
          ,
          <country country="BE">Belgium</country>
        </aff>
      </contrib-group>
      <fpage>49</fpage>
      <lpage>54</lpage>
      <abstract>
        <p>This paper describes the goals, (partial) results and lessons learned of the ECoVaDeVa project, a Flemish project that groups academic and industrial partners around the e cient, model-based development of software controller variants for Cyber-Physical Systems (CPSs). ECoVaDeVa's high-level goal is to apply Product Line Engineering (PLE) techniques to CPS controller design in all phases of the development lifecycle (design, simulation, testing, deployment) as an extension of existing software product line techniques. While PLE is well researched in software development, it is not clear whether these results apply to CPS controller design. The added complexity stems from the heterogeneity of models representing the system, involving plant, controller and environment, software and hardware, and virtual test benches (model-in-theloop, hardware-in-the-loop, etc.). The envisioned result of the project is a set of tools, techniques, and guidelines for the e cient management of CPS controller product variants. The techniques developed during the project are demonstrated on a common use case: a windshield wiper.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Project Description</title>
      <p>2.1</p>
      <sec id="sec-1-1">
        <title>ICON Project Description</title>
        <p>ECoVaDeVa is a Interdisciplinary Collaborative Research (ICON) project. An
ICON project involves a strategic research center (including academic partners)
and industrial partners. The goal is to transfer basic research to the industrial
partners. In the project, a common research challenge is identi ed for all of
the industrial partners. In the strategic basic research part, generic research
questions are formulated and addressed to improve upon the state-of-the-art
by the strategic research center. In the applied research part, the results of this
research are then translated to the speci c case of each of the industrial partners
in separate work packages. This requires a close collaboration between academic
and industry partners. In this paper, we focus on the results of the strategic
basic research, as applied research results are con dential.
2.2</p>
      </sec>
      <sec id="sec-1-2">
        <title>Problem Description and Goals</title>
        <p>In a previous research project (VARIES4), Flanders Make (formerly FMTC) and
Dana (formerly Spicer) investigated variability tools with respect to their
applicability in real-life mechatronic applications beyond the classical toy examples.
From that project, a number of research challenges were identi ed.</p>
        <p>The main goal of this project is to increase the e ciency of the
development and validation process of Cyber-Physical System (CPS) controller
software variants. This e ciency gain is achieved by bridging the gap from business
software Product Line Engineering (PLE) methods and tool prototypes only
demonstrated on toy problems to industrial-scale CPS software development
and validation processes. More speci cally, the project aims to:</p>
        <p>Create a methodology and provide tool support for building central
variability models for CPSs with variability in hardware and software architectures
and automatically generating a con guration tool from these models;
Provide insights to companies in the various possibilities to implement
variability in behaviour simulation languages such as The MathWorks Simulink
and SISW Imagine.Lab by o ering them a decision tree for selecting the
most appropriate variability mechanisms;
Create a methodology and a toolbox that companies can use to automate
their speci c build and validation process of CPS software variants,
including the generation of Model-in-the-Loop and Hardware-in-the-Loop tests;
Create a consistency tool, that allows for early detection of inconsistencies
between central variability models and controller and plant simulation tools
if the product line evolves due to change requests.
2.3</p>
      </sec>
      <sec id="sec-1-3">
        <title>Methodology Overview</title>
        <sec id="sec-1-3-1">
          <title>4 https://artemis-ia.eu/news/varies.html</title>
          <p>
            cepted PLE approach [
            <xref ref-type="bibr" rid="ref5">5</xref>
            ] is the development of a (orthogonal) Central
Variability Model (CVM) [
            <xref ref-type="bibr" rid="ref2">2</xref>
            ]. This model, often represented as a feature diagram [
            <xref ref-type="bibr" rid="ref4">4</xref>
            ],
describes the set of all possible functionalities and parameters with which a
product variant can be equipped and their mutual (in)compatibility. For instance, for
a hydrostatic continuous variable transmission, one cannot select a chosen
number of forward gears. Coupling this CVM to the controller, plant and test family
model allows for the automatic generation of the controller software executable,
the corresponding test suites, and the necessary plant models for performing the
various XiL tests. To apply PLE techniques to CPS controller software variant
development and validation, several aspects of Figure 1 require further research
and will be investigated within the project:
[RQ1] How to create/organize the CVM for real-life CPS controller software
variants and to generate a con guration tool for the application engineer
(top-level of Figure 1)?
[RQ2] How to express variability in the modelling languages used by the
various involved disciplines (bottom-left corner of Figure 1)?
[RQ3] How to implement the actual build and validation process,
taking into account CPS software speci c practices such as heterogeneous
tool chains, and X-in-the-loop (XiL) testing (we focus on model-in-the-loop
(MiL) and hardware-in-the-loop (HiL) testing)?
[RQ4] How to keep the various models consistent with each other if the
product line is subject to a change request?
          </p>
          <p>In order to validate and communicate new approaches within the basic
research of the project, we established a windshield wiper controller use case. The
case consists of CVMs and con guration tools, family models in Simulink, C++,
MagicDraw, etc., and a fully automatic way to generate variants, covering all
aspects of Figure 1. In the applied research of the project, the approaches that
are investigated in the basic research are validated by the industrial partners in
industry-scale environments.
3</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>Project Results</title>
      <p>Selected results of the strategic basic research are explained in this section.
During the project, we made use of the commercial tool pure::variants5 to model
the CVM and its relationship with modelling languages (RQ1 and RQ2).</p>
      <p>
        Variability, Binding Times and Variant Generation. Approaches exist
for implementing variability by means of variation points in modelling languages,
but often, these are partial solutions. In the context of RQ2 and RQ3, it was
investigated how existing constructs can be used to express variation points in
relevant family modelling languages (Simulink, Amesim, SysML, etc.), and how
they can be linked to the CVM. Di erent types of variation points (optional,
alternative, multiple instances, etc.), di erent binding times (i.e., the moment in
the design work ow a variant choice is applied, for example, at compile-time),
and di erent levels of granularity (depending on the family modelling languages,
this can be topological, connection, element property, etc.) are investigated. This
includes the support for generating variants. A gap analysis for each used
family modelling language discovered missing constructs. A notable example is the
lack of support for model-time variability in Simulink, where Simulink model
variants are automatically generated from a Simulink family model. A remedy
was achieved by using rule-based model transformation for Simulink [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. The
transformation rules were de ned using Simulink.
      </p>
      <p>
        Consistency. In current approaches, it may be possible that variants are
generated from a product family, that result in errors when building/simulating
them. This is caused by a mistake in the family model, but such errors are
notoriously hard to nd in a product family, because of the interdependencies of
variation points within the family model. This hinders the short and predictable
product delivery times, aimed for by automatic generation of variants. In the
context of RQ4 and based on an approach for UML [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], we have developed an
approach to detect inconsistencies that result in build/simulation errors early.
These are inconsistencies between CVM and family model, and are detected at
the level of the product family instead of the level of the variant. Errors can
thus be detected and resolved before customer orders of product variants are
requested, avoiding unexpectedly long delivery times. In its current form, our
approach is compatible with Simulink, but the principles can be reused for other
tools as well. In its current status, the approach is partly implemented as a
software tool that automatically checks for errors and reports them to the user.
      </p>
      <sec id="sec-2-1">
        <title>5 http://www.pure-systems.com/products/pure-variants-9.html</title>
        <p>
          Plant Variability. For plant modelling, acausal modelling languages provide
more natural abstractions, as the physical world is acausal by nature. It is then
appropriate to model the variation points, if multiple product variants exist, in
such an acausal language as well. In the speci c case of Simscape for example,
variability mechanisms of Simulink [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] can be reused. Currently however, no
dedicated variation point support exist for acausal modelling languages. In the
context of RQ2, we investigated how variability can be expressed in three acausal
modelling languages: Modelica, Simscape, and Amesim. We make the distinction
between energy-conserving (domain-speci c) networks that represent a set of
mathematical equations, and physical signals, coming from a sensor in the plant.
We showed that each of these languages has concepts to model variability, but
certain types of variability cannot be expressed. As a special point of focus, we
showed that some variability concepts can generate variants whose causality is
di erent, which might be an unwanted side e ect and needs to be taken into
account.
        </p>
        <p>
          Architectural Variability. In order to deal with controller software on
an industrial scale, an architectural overview needs to be maintained. Partial
solutions exist for e.g., the automotive sector, for which AUTOSAR has support
for variability [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. In this project, a solution that applies to CPSs in general is of
interest. Notably, the SYSMOD Model-Based Systems Engineering toolbox [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]
provides support for variability, by implementing each aspect of PLE as shown
in Figure 1 (including CVM) as a SysML pro le, but the approach provides very
limited support for specifying variation points. Related to RQ1 and RQ2, we
investigated variability modelling in SysML, including what components exist in
the system and their interface and relationships, a link to implementation models
and code, link to middleware, and deployment. The outcome of this research is
that technically, SysML can be used together with a CVM to express variability,
but improvements w.r.t. tool and language support for usability and readability
are recommended.
        </p>
        <p>Dissemination. We have built a physical demo of the windshield wiper
use case to attract attention to the problem of variability management in CPS
design. It has been exposed at the Flanders Make Symposium, the Hannover
Messe and will be exposed at the MATLAB Expo 2019 Benelux.
4</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Identi ed Research Challenges</title>
      <p>
        Cyber-physical controller design typically follows a (derivative of a) V-model
process, in order to deal with di erent levels (e.g., concept, system, component,
implementation). Each layer comes with di erent models and tools. Some CVM
features are associated to models at the concept level (e.g., use an automatic
or manual transmission), whereas other features are only relevant further
downstream (e.g., which clutch control algorithm will be used). The clutch algorithm
feature is not yet available, and it may be unknown during concept design that
this involves a variation point. Consequently, the CVM should be split up
accordingly so that the right stakeholders have access to the right (partial) CVM
at the right time in the development process. Additionally, variation points need
to be modelled in the right model, and need to be bound at the desired moment
(i.e., binding time) in the tool chain, conforming the layer in which they are
dened. Another layer of features depends on the di erent tasks performed during
the development process: a model from which software is generated may need to
change if it is used for MiL testing. Approaches for multi-view variability exist
(e.g., [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]). However, existing approaches do not directly translate to the
abovementioned V-model process, binding times and testing strategies times within the
multi-discipline setting of CPS design.
5
      </p>
    </sec>
    <sec id="sec-4">
      <title>Conclusion</title>
      <p>In the ECoVaDeVa project, academic and industrial researchers have
investigated the applicability of variability techniques in CPS development. Notably,
speci c answers were provided for dealing with variability in a multi-discipline
setting, consistency at family level, variability in plant modelling and
variability for architectural models. Additionally, research challenges were identi ed
related to managing variability in layered CPS design processes based on the
Vmodel. The project is aligned with the core subject of STAF, as it aims to de ne
methods, techniques and tools that deal with variability through model-driven
engineering and model transformation.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>M.</given-names>
            <surname>Alferez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. E.</given-names>
            <surname>Lopez-Herrejon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Moreira</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Amaral</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Egyed</surname>
          </string-name>
          .
          <article-title>Consistency checking in early software product line speci cations - the VCC approach</article-title>
          . J. UCS,
          <volume>20</volume>
          (
          <issue>5</issue>
          ):
          <volume>640</volume>
          {
          <fpage>665</fpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2. S. Buhne, K. Lauenroth, and
          <string-name>
            <given-names>K.</given-names>
            <surname>Pohl</surname>
          </string-name>
          .
          <article-title>Why is it not su cient to model requirements variability with feature models?</article-title>
          <source>In AURE'04</source>
          , pages
          <fpage>5</fpage>
          {
          <fpage>12</fpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>J.</given-names>
            <surname>Denil</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. J.</given-names>
            <surname>Mosterman</surname>
          </string-name>
          , and
          <string-name>
            <given-names>H.</given-names>
            <surname>Vangheluwe</surname>
          </string-name>
          .
          <article-title>Rule-based model transformation for, and in simulink</article-title>
          .
          <source>In SpringSim '14, page 4. ACM</source>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>K. C. Kang</surname>
            ,
            <given-names>S. G.</given-names>
          </string-name>
          <string-name>
            <surname>Cohen</surname>
            ,
            <given-names>J. A.</given-names>
          </string-name>
          <string-name>
            <surname>Hess</surname>
            ,
            <given-names>W. E.</given-names>
          </string-name>
          <string-name>
            <surname>Novak</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A. S.</given-names>
            <surname>Peterson</surname>
          </string-name>
          .
          <article-title>Featureoriented domain analysis (FODA) feasibility study</article-title>
          .
          <source>Technical report</source>
          , CarnegieMellon University Software Engineering Institute,
          <year>November 1990</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>K.</given-names>
            <surname>Pohl</surname>
          </string-name>
          ,
          <string-name>
            <surname>G.</surname>
          </string-name>
          <article-title>Bockle, and</article-title>
          <string-name>
            <given-names>F. van der Linden. Software</given-names>
            <surname>Product Line Engineering - Foundations</surname>
          </string-name>
          , Principles, and Techniques. Springer,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>D.</given-names>
            <surname>Rabiser</surname>
          </string-name>
          , H. Prahofer, P. Grunbacher, M. Petruzelka,
          <string-name>
            <given-names>K.</given-names>
            <surname>Eder</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Angerer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Kromoser</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Grimmer</surname>
          </string-name>
          <article-title>. Multi-purpose, multi-level feature modeling of large-scale industrial software systems</article-title>
          .
          <source>Software and System Modeling</source>
          ,
          <volume>17</volume>
          (
          <issue>3</issue>
          ):
          <volume>913</volume>
          {
          <fpage>938</fpage>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7. J.
          <string-name>
            <surname>Thomas</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Dziobek</surname>
            , and
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Hedenetz</surname>
          </string-name>
          .
          <article-title>Variability management in the autosarbased development of applications for in-vehicle systems</article-title>
          .
          <source>In VaMoS'11</source>
          , pages
          <fpage>137</fpage>
          {
          <fpage>140</fpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>J.</given-names>
            <surname>Weiland</surname>
          </string-name>
          and
          <string-name>
            <given-names>P.</given-names>
            <surname>Manhart</surname>
          </string-name>
          .
          <article-title>A classi cation of modeling variability in simulink</article-title>
          .
          <source>In VaMoS'14</source>
          , pages
          <issue>7:1</issue>
          {
          <issue>7</issue>
          :
          <issue>8</issue>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>T.</given-names>
            <surname>Weilkiens. SYSMOD - The Systems Modeling</surname>
          </string-name>
          Toolbox -
          <article-title>Pragmatic MBSE with SysML, 2nd edition</article-title>
          .
          <source>Tim Weilkiens</source>
          ,
          <volume>12</volume>
          <fpage>2016</fpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>