<!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>Model-Based Prototype Development to Support Early Validation of Cyber-Physical System Specifications</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Jennifer Brings</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Philipp Bohn</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Torsten Bandyszak</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Felix Föcker</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marian Daun</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>paluno - The Ruhr Institute for Software Technology, University of Duisburg-Essen</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>[Motivation] In the engineering of cyber-physical systems, attention is given to early validation of requirements artifacts. The use of prototypes is one known technique to identify incorrectness and aberrations from the stakeholder intentions early. [Problem] Software prototypes of cyber-physical systems' software, however, often need to be adapted to the prototype's hardware, which may differ from the system's hardware. This leads to differences between the system's and the implemented prototype's specification, impeding the applicability of validation results to the system's requirements. [Solution Idea] To support the validation of requirements artifacts for cyber-physical systems, we propose the generation of an explicit prototype specification. Traceability relations aid the requirements engineer in deciding whether a finding actually corresponds to a defect in the requirements or whether it results from changes due to the prototype's different hardware. [Contribution] In this paper, we propose a model-based prototyping approach for validating requirements artifacts of cyber-physical systems. The approach relies on the generation of an explicit prototype specification and on a categorization scheme for validation results. The latter allows determining the impact of the validation results on the system's requirements, and facilitates the correction of errors.</p>
      </abstract>
      <kwd-group>
        <kwd>Early validation</kwd>
        <kwd>model-based development</kwd>
        <kwd>prototype engineering</kwd>
        <kwd>cyber-physical systems</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        A major challenge in system development is specifying requirements that correctly
reflect underlying stakeholder needs. Relevant stakeholder intentions are often unclear,
ambiguous, or simply unknown, which leads to the development of systems that fail to
fulfill their purposes. The later these problems are discovered, the higher the cost for
fixing them [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Hence, it is important to validate requirements as early as possible [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
One commonly acknowledged technique for validating requirements is the
development of prototypes (e.g., [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]). Prototypes allow stakeholders to experience and
interact with the system, which helps them decide if a property is desired or not.
Copyright © 2016 for this paper by its authors. Copying permitted for private and
academic purposes.
      </p>
      <p>To validate existing requirements and elicit further stakeholder intentions by
prototyping, it is important to evaluate a system’s behavior and its respective functional
interdependencies in a sufficiently realistic environment. However, this is often not
feasible in the engineering of cyber-physical systems (CPS) software. Since CPS consist
of software and hardware parts, either the hardware needs to be simulated or the
software needs to be deployed on some hardware that is different from the hardware that
the final system will use (e.g., an electronic control unit of a previous version). Hence,
there may be significant differences between the system’s and the prototype’s
hardware, which impedes the use of the prototype for requirements validation. The
prototype hardware, for example, may not offer a specific sensor that the system needs to
gain information about its environment. In this case, the required information must be
obtained from other sources, e.g., by using a combination of different sensors or by
simulation. This causes a difference between the prototype’s requirements and the
requirements for the actual system. Hence, some validation results (e.g., those concerning
the missing sensor) are only applicable to the prototype but not to the system itself.</p>
      <p>To help determine if a validation result is applicable to the system requirements and,
consequently, to discover incorrect and missing requirements, we propose a
modelbased approach for deriving a prototype specification from the system specification, as
well as for analyzing and transferring the validation results. To this end, we propose a
technique and a supporting classification scheme for categorizing validation results,
which allow for determining, which validation results are applicable to the system
specification. Furthermore, this model-based approach supports the correction of the system
specification based on a corrected prototype specification.</p>
      <p>This paper is structured as follows: Section 2 introduces our solution concept.
Subsequently in Section 3, we demonstrate the solution concept using an avionics collision
avoidance system as case example. Section 4 discusses related work and Section 5
concludes the paper.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Solution Concept</title>
      <p>
        Developing prototypes has proven to be an effective way for validating requirements
(see [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]). Yet the development of prototypes for cyber-physical systems faces several
challenges due to their typically close interaction with their environment (cf. e.g., [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]).
To overcome these challenges, we propose a model-based approach for the
development of prototypes to aid in validating requirements specifications of cyber-physical
systems. Our approach provides semi-automated support for the early validation of
cyber-physical systems specifications by providing guidance on deriving prototype
specifications and analyzing the obtained validation results w.r.t. their applicability to
the original system. Fig. 1 illustrates the steps and artifacts involved in the approach,
which are:
1. A prototype specification is derived from the system specification. While doing so,
traceability links and rationales for changes are documented. Changes can for
instance, result from the use of a hardware component different from the final system’s
hardware. This step will be explained in more detail in Section 2.1.
2. The prototype is developed according to the prototype specification in order to
obtain an executable prototype of the cyber-physical system.
3. The prototype is demonstrated so that stakeholders can assess and evaluate its
behavior. Additionally, common inspection and other validation techniques might be
applied. Validation results are documented as output of this step (see Section 2.2).
4. The validation results are checked with respect to their applicability to the system
specification (further details in Section 2.3). To this end, trace links and rationales
for identifying differences between system and prototype specification need to be
considered.
5. A corrected system specification is created semi-automatically based on the
validation results. Some corrections can be incorporated automatically into the system
specification while others need to be revised manually (Section 3.5 will give
examples for both cases)
      </p>
      <p>System
specification
1. Derive
prototype Prototype
specification specification</p>
      <p>Traceability links</p>
      <p>Rationales
for changes</p>
      <p>Revised system
specification
5. Revise system
specification
2. Implement prototype</p>
      <p>according to the
prototype specification Prototype</p>
      <p>Validation
results</p>
      <p>4. Check
applicability of
validation results
3. Obtain validation
results from
stakeholders
In the following subsections, we elaborate on the main parts of our contribution. First,
we will describe how to derive the prototype specification from the system specification
and how to document the changes made. Then we elaborate on the validation step of
our approach, including the attribute scheme, which provides attributes to categorize
validation results. Last, we explain how this categorization helps determining whether
a validation result is applicable to the system specification or not.
2.1</p>
      <sec id="sec-2-1">
        <title>Deriving the Specification of the Prototype</title>
        <p>Due to limited capabilities of the prototype’s hardware, it is often not feasible to
implement the system requirements specification as is and deploy it onto the prototype’s
hardware. Instead, a specific prototype specification has to be created to ensure
structured prototype development. Our approach relies on the idea to derive this prototype
specification from the original system specification. In doing so, changes from the
system specification are incorporated in the prototype specification. These changes take
the specific capabilities of the prototype’s hardware into account, which most likely
differs from the originally intended CPS hardware. For example, in the absence of a
specific sensor, the prototype might estimate context measurements.</p>
        <p>
          A crucial task that goes along with these changes is the documentation thereof. As
model-based engineering of cyber-physical systems can be seen as a de-facto standard
[
          <xref ref-type="bibr" rid="ref7">7</xref>
          ], automated traceability techniques can be used to document relationships between
originating model elements in the system specification and the adaptations in the
prototype specification (cf. [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]). Traceability- or trace-links (cf. e.g., [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]) allow for
documenting relationships between development artifacts. Typed trace links are used to
provide additional information regarding the type of relationship between two model
elements [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]. Several taxonomies for traceability relationship types have been suggested
in the literature (cf. e.g., [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ], [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]). For documenting changes between the system’s
requirements specification and the prototype’s requirements specification, we use trace
links to trace the evolution of software artifacts, such as those suggested by [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ], for
example. In particular, we distinguish different kinds of traceability links (see Table 1)
to ensure proper documentation of the relation between system specification and
prototype specification. At the same time, rationales for the traced changes are documented
as well.
For validating the system under development, the stakeholders experience the
prototype’s behavior and assess each of the intended system’s functionality with respect to
its presence and correctness in the implemented prototype. In doing so, stakeholders
determine if a functionality is a necessary feature of the system and if further
functionalities are missing. Each validation result is documented in a structured way and
categorized according to an attribute scheme.
        </p>
        <p>
          Our classification of validation results is based on the Orthogonal Defect
Classification scheme (ODC) [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ]; in particular, on the defect qualifier attribute of the ODC. This
attribute allows for classifying the reasons for defects in software artifacts to support
requirements document inspections [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]. Table 2 shows the possible values for each
attribute. For example, a functionality, which is wanted but implemented incorrectly in
the prototype is classified as present, incorrect, and necessary. While this scheme
allows for several combinations of attribute values, some value combinations are not
possible. It is, for instance, impossible to assess the correctness of a functionality that is
not present at all.
Since the stakeholders can only validate the prototype’s behavior and not the intended
system’s behavior, each validation result obtained from the stakeholder’s validation
activities needs to be checked with respect to its applicability to the original system
specification itself. The previously documented traceability information in combination
with the classification of validation results determine for which validation results this
check can be automated, and which validation results have to be checked manually. For
those validation results that can be checked automatically, defects as well as correct
functionalities can be identified in the system specification in a fully automated manner.
        </p>
        <p>Fig. 2 illustrates the steps involved in checking if a validation result is applicable to
the system specification: (For a coherent example please refer to Section 3)
 First, for each validation result, the prototype specification is checked if the
respective functionality is documented correctly therein (Step 4.1 in Fig. 2). Whether a
certain functionality is documented correctly can be assessed from its respective
attributes (cf. Section 2.2). Two combinations of attributes indicate a correctly
documented functionality in the prototype specification:
1. The functionality is necessary or arbitrary, it is correctly implemented w.r.t. the
stakeholder intentions, and it is present in the prototype specification
2. The functionality is not necessary and not present in the prototype specification.</p>
        <p>This case, however, is unlikely to be relevant as stakeholders are unlikely to
identify any non-implemented behavior as unnecessary.
 If a functionality has been identified as correctly documented in the prototype
specification, the documented traceability information (see Section 2.1) is used to
identify corresponding parts in the system specification. Analyzing respective trace
links facilitates checking whether functionality is correctly specified in the system
specification (Step 4.2 in Fig. 2). This check leads to one of the following cases:
4.1 Check if respective
functionality is documented
correctly (i.e. according to the
stakeholder intentions) in the
prototype specification</p>
        <p>Yes</p>
        <p>No
Traceability
links</p>
        <p>Prototype
specification</p>
        <p>Rationales
4.4 Check if
change was
necessary</p>
        <p>Functionality
documented correctly</p>
        <p>in system
specification?
Yes</p>
        <p>No
Validation</p>
        <p>result
Functionality
documented
correctly in
the prototype
specification?
Fuctionality
correctly
documented in
the prototype
specification
4.2 Check automatically if the
functionality is documented
correctly in the system specification
(i.e., if the system specification
contains corresponding</p>
        <p>functionality)
Valid functionality
identified
Case 1. The corresponding parts in the system specification can now also be
considered correct with respect to the stakeholder intentions. In this case, a
valid functionality has been identified.</p>
        <p>Case 2. The system specification contains a defect if the documented traceability
information shows no corresponding part in the system specification. For
unwanted functionality, which has been identified, corresponding parts in
the system specification can be removed automatically and necessary
functionality that is missing in the system specification can be added
automatically if it is correctly documented in the prototype specification.
 If a functionality has not been documented correctly in the prototype specification,
there could be two reasons for this. Either the prototype and its specification contain
a defect, or the prototype and its specification had to be altered for a specific reason.
Hence, it is necessary to check if there are reasons for changes (Step 4.4 in Fig. 2).
Since all alterations, which were made when deriving the prototype specification,
and the reasons for them were documented, it is easy to determine which of the
following is the case:
Case 3. If a functionality is not documented correctly in the prototype specification
and subsequently not implemented as desired in the prototype because the
prototype’s hardware is incapable of supporting this functionality, the
reason has been documented. Here, automated validation of the system
specification is not possible, and the validation has to be done manually, i.e.,
the correctness of the functionality represented in the system specification
needs to be checked manually (Step 4.3 in Fig. 2). Nevertheless, the
insights gained from the stakeholders during the demonstration of the
prototype may offer valuable support in these cases as well.</p>
        <p>Case 4. If there is no reason for a functionality not being documented correctly, a
defect in the prototype, the prototype specification, and thus in the
corresponding part of the system specification has been discovered. Instead of
remedying this defect manually in the system specification and thereby
risking introducing new defects, a manual correction of the prototype
specification and the prototype (Step 4.5) enables the later validation of the
correction in another iteration.</p>
        <p>In addition to Fig. 2, Table 3 briefly summarizes these four distinct cases that can be
identified in applicability checking. As can be seen, the validation results obtained can
also aid in the correction of the system specification if defects have been discovered. In
some cases, this correction can even be done automatically.</p>
        <sec id="sec-2-1-1">
          <title>No changes</title>
          <p>traceable?
Rationale
documented?</p>
          <p>
n/a
n/a</p>
        </sec>
        <sec id="sec-2-1-2">
          <title>Applicable to system specification?</title>
          <p>
(Automated
correction applicable)
Manual review
necessary
Revision of prototype and prototype
specification necessary
3</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Evaluation Example: Avionic Collison Avoidance System</title>
      <p>
        In this section, we will discuss the application of our approach to an avionic collision
avoidance system. Therefore, we will provide details on each step of the approach as
described in Section 2 and outlined in Fig. 1. We evaluated the applicability of the
approach using an avionic proactive collision avoidance system (PCAS) as a case
example. The PCAS shall exchange comprehensive flight data (i.e., complete flight
plans), and propagate these flight information among the different aircraft forming a
CPS network. This shall allow airplanes to prevent collisions proactively, i.e., long
before a potential collision may occur. Some more details on the PCAS can be found in
[
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. As hardware for the prototype, a quadcopter was chosen.
      </p>
      <p>Based on the system specification of the collision avoidance system PCAS, we
derived an adapted prototype specification for the chosen technology. Subsequently, we
implemented and deployed the software prototype to several quadcopters. Hence,
multiple prototypes consisting of hardware and software parts were used to demonstrate the
behavior of a collision avoidance system in a cyber-physical system network. The
demonstration of the prototype’s behavior allowed for validating parts of the system
specification and revealed exemplary defects in other parts of the system specification,
some of which have been corrected automatically.
3.1</p>
      <sec id="sec-3-1">
        <title>Step 1: Derivation of the Prototype Specification</title>
        <p>While the collision avoidance system was meant to be deployed in aircraft, the
prototype was implemented using a quadcopter. These hardware differences necessitated
several adaptions to the system specification. Fig. 3 shows an excerpt of the system
specification for the PCAS and the corresponding part from the prototype specification.
The differences between them are due to the fact that aircraft send out their ID via their
secondary radar to recognize each other, while quadcopters can only recognize other
quadcopters via tags using their cameras. For each change, we explicitly documented
the traceability information using trace links (cf. Section 2.1).</p>
        <p>PCAS</p>
        <p>Secondary radar</p>
        <p>Foreign
aircraft
&lt;&lt;replace&gt;&gt; PCAS prototype Primary radar</p>
        <p>Own
quadcopter
We developed the prototype for the collision avoidance system according to the
prototype specification, and tested it extensively to ensure correctness of the prototype w.r.t.
the prototype specification. Beside the development of the software prototype for the
collision avoidance system, it was also necessary to develop further software prototypes
for several other avionic systems, which interact with the PCAS. The collision
avoidance system relies on information provided by, e.g., the flight management system and
the radar. Additionally, the system relies on other avionic systems, such as the flight
control system to execute necessary flight maneuvers, for example. Hence, these
necessary contextual systems had to be prototypically implemented as well, to ensure
proper functioning of the collision avoidance system prototype.</p>
        <p>
          The prototype as well as these other systems were implemented using the OSGI
framework [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ]. Fig. 4 illustrates the architecture of the embedded controller, which
comprises the prototype’s software of the PCAS and the other needed avionic systems,
and thus simulates these interconnected embedded systems.
        </p>
        <p>Embedded Controller</p>
        <p>Proactive</p>
        <p>Collision
Avoidance System
ISecondaryRadar
Secondary Radar
REST</p>
        <p>IAPFD</p>
        <p>Autopilot /</p>
        <p>Flight Director
IFlightControlSystem</p>
        <p>Flight
Control System</p>
        <p>Socket</p>
        <p>Flight
Management</p>
        <p>System</p>
        <p>IPrimaryRadar</p>
        <p>Primary Radar
Since the software could not be deployed on the quadcopters directly, for each
quadcopter an instance of the embedded controller ran on an ordinary computer, which sends
commands to their respective quadcopter via Wi-Fi. The control center monitors and
controls the simulation scenarios. The resulting hardware architecture is depicted in
Fig. 5.</p>
        <p>AR.Drone 2.0 – 1 AR.Drone 2.0 – 2 AR.Drone 2.0 – 3</p>
        <p>„Brutus“ „Cicero“ „Lucius“
caesAR
Control Center
caesAR
Embedded
Controller - 1
caesAR
Embedded
Controller - 2
caesAR
Embedded
Controller - 3</p>
        <p>Wi-Fi
„Colosseum“</p>
        <p>Message exchange
Network connection
As can be seen, each quadcopter communicates with its own control logic on its
embedded controller via Wi-Fi. These embedded controllers are interconnected and
simulate the communication between the different quadcopters. In case of a detection of
another quadcopter, the detecting quadcopter informs its embedded controller.
Subsequently, the embedded controller negotiates adapted routes with the embedded
controller of the detected quadcopter. Finally, both embedded controllers inform their
quadcopters about necessary route changes.
3.3</p>
      </sec>
      <sec id="sec-3-2">
        <title>Step 3: Classification of Validation Results</title>
        <p>The next step is to obtain, document, and categorize results from the validation
activities conducted using the prototype (cf. Section 2.2). An excerpt from the validation
results obtained from the prototype’s demonstration is shown in Table 4. For example,
the functionality evaluated in row 1 (Aircraft Identification) shows that the prototype
is capable of identifying other aircraft (in this case other quadcopters). Hence, this
functionality is present in the prototype. Since it is desired for the PCAS to identify aircraft
in its vicinity, this functionality was furthermore categorized as necessary. However,
as the prototype does not exchange aircraft IDs via the secondary radar, the stakeholders
deemed the implementation of this functionality incorrect.</p>
        <p>For another example, the validation result concerning the collision avoidance trigger
functionality (row 2 in Table 4) was categorized as present, correctly implemented in
the prototype, and necessary.</p>
        <p>As for the result referring to the functionality of exchanging a Priority Parameter
(row 3 in Table 4), it became obvious during the development of the prototype that so
far no decision had been made regarding the course adaptation. In particular, it had not
been determined which aircraft should have to adapt its course and which could stay its
course in case of a collision threat. Hence, the exchange of a parameter, which
determines priority and thus right of way, was added to the prototype and its specification.
Consequently, this added functionality was categorized as present, correct, and
necessary, although it is not present in the original system specification.
To see if a validation result is applicable to the system specification, first it needs to be
checked if the respective functionality is documented correctly in the prototype
specification (see Section 2.3). If the functionality is documented incorrectly therein, it
further needs to be checked whether there is a reason that prevents the correct
implementation of the respective functionality in the prototype.</p>
        <p>As can be seen in Table 4, the functionality for validation result 1 (Aircraft
Identification) is not documented correctly in the prototype specification. However, as this
functionality is not the same as in the system specification (cf. Fig. 3), but has been
replaced due to hardware constraints, this does not indicate a defect in the system
specification. Instead, this validation result is not applicable to the system specification and
this functionality has to be validated manually (cf. Case 3 in Table 3).</p>
        <p>The functionality for validation result 2 (Collision Avoidance Trigger) is
documented correctly in the prototype specification. As there is no documented trace
information that would indicate a difference between this functionality in the prototype
specification and in the system specification, the documentation of this functionality in the
system specification can be validated automatically (cf. Case 1 in Table 3).</p>
        <p>
          The functionality for validation result 3 (Priority Parameter) is documented
correctly as well. However, as previously described, this functionality has been added to
the prototype specification and does not exist in the system specification. Since it
corresponds to a functionality that was found to be a valuable extension to the original
requirements, a defect in the system specification has been discovered here (cf. Case 2
in Table 3).
The automated correction of the system specification is illustrated in Fig. 6 using the
missing exchange of a priority parameter defect. To correct this missing functionality,
the model elements referring to this functionality (highlighted in Fig. 6), which were
documented in the prototype specification, are added to the system specification. Based
on a correct prototype specification, this correction can be made automatically using
model transformation techniques (cf. e.g. [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]).
4
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Related Work</title>
      <p>
        Since early validation of requirements is commonly considered of vital importance to
avoid defective software and higher costs later on [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], several validation techniques
have been proposed. In general, validation in the early phases deals with checking
requirements against stakeholder intentions, e.g., to evaluate whether the desires of the
stakeholders have been sketched correctly, to check whether all assumptions are valid,
      </p>
      <p>Priority parameter
...</p>
      <p>...</p>
      <p>...</p>
      <p>...</p>
      <p>Foreign air route
Autopilot</p>
      <p>
        PCAS
and the intended laws and regulations are considered. As automated verification is
usually not applicable in early phases, attention is paid to techniques such as inspections
[
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], simulation [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ], and prototyping [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
      </p>
      <p>
        Rapid prototyping is often suggested for early validation of first drafts and ideas as
well as for eliciting new requirements (cf. [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ], [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]). The latter is of particular
importance for requirements engineering as it is well known that knowledge gained from
the stakeholders (i.e. by experiencing technological possibilities from early system
versions or prototypes) leads to changing requirements and new additional requirements
[
        <xref ref-type="bibr" rid="ref22">22</xref>
        ]. Hence, prototypes can be used to iteratively evolve requirements specifications
(cf. [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]). Therefore, research was conducted on the use of prototypes for evolution of
specification artifacts during prototype-based development (e.g., [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ], [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ], [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ]). In
these existing approaches, not the relationships between two specifications (i.e. the
system specification and the prototype specification) are under investigation but the
relation between increments of the system specification. While other works focus on the
use of prototyping for evolution of a specification, the approach proposed in this paper
uses explicit relations to a dedicated prototype specification for validating and
correcting the original specification.
      </p>
      <p>
        In general, prototyping aids in the validation of requirements as it enables
stakeholders to experience the system’s look and feel and its behavior. Thus, it not only allows
stakeholders to express their opinions about existing requirements but also to identify
missing requirements. To support the systematic evaluation of the prototype,
pre-determined usage scenarios can be executed for prototype demonstration (cf. [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ], [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ]).
Furthermore, the prototyping approach can be used to complement formal verification
techniques with user feedback [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ]. These kind of works focus on the systematic use of
prototypes for validation. In doing so, they can complement our proposed solution
approach, which does not guide the review but focuses on the systematic analysis and
incorporation of review results.
      </p>
      <p>
        Although prototyping is a well-known approach for validating requirements [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ] it
is mainly used for evaluating user interfaces of information systems (cf. e.g., [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ]).
Early validation of behavioral requirements for embedded and cyber-physical systems
often relies on simulation, sometimes also called virtual prototyping (cf., e.g. [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ].),
which not only allows for validating functional requirements, but also certain
non-functional requirements, such as timing requirements (cf. e.g. [
        <xref ref-type="bibr" rid="ref32">32</xref>
        ]). In contrast to the
validation of physical prototypes (e.g., prototype software for a new engine control unit
deployed on an older hardware component), simulation does not take the real physical
environment of the system into account, which is a strong demand for the validation of
cyber-physical systems.
5
      </p>
    </sec>
    <sec id="sec-5">
      <title>Discussion &amp; Conclusion</title>
      <p>In this paper, we presented a model-based approach to aid validation of requirements
artifacts for cyber-physical systems. As shown, validation results for the prototype
specification can aid in the identification of defects in the system specification. The
extent to which validation results are applicable to the system specification depends on
how many changes need to be made to the system specification when deriving the
prototype specification due to differences in the technology used.</p>
      <p>We evaluated our approach using a collision avoidance system from the avionics
domain. For such safety-critical systems a prototypical validation approach is not
sufficient on its own. In particular, it is still of utmost importance to validate the system
itself and not only a prototype of the system. Nevertheless, the prototypical evaluation
can aid the validation and the exploration of solution options in early phases of
development. The approach is of particular interest for those domains (like the embedded
domain) which have a strong interest in early validation to decrease the number
development cycles for highly complex software.</p>
      <p>Beyond the validation of functional requirements, the prototypical implementation
provides additional benefits for the development. For example, the prototypical
implementation provided further insights about aspects that are usually not specified in
requirements specifications but are important for the system’s development. For instance,
in the presented case example, the decision needed to be made as to what constitutes a
collision threat. For quadcopters as well as aircraft, collisions can occur even if their
flight paths never cross, but they only get too close to each other. Therefore, it was not
sufficient to check for crossing flight paths and determine when each aircraft will reach
this intersection. A reasonable safety margin around each aircraft also needed to be
taken into account.</p>
      <sec id="sec-5-1">
        <title>Acknowledgements.</title>
        <p>Thanks to Stefan Beck, Arnaud Boyer, and Jürgen Meilinger from Airbus for their
support in application of the approach to an industry example. The research serving as basis
for this paper was funded by the German Federal Ministry of Education and Research
(support code: 01IS12005C).</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Boehm</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Basili</surname>
            ,
            <given-names>V.R.</given-names>
          </string-name>
          :
          <source>Software Defect Reduction Top 10 List. Computer</source>
          <volume>34</volume>
          ,
          <fpage>135</fpage>
          -
          <lpage>137</lpage>
          (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <source>IEEE Standard Adoption of ISO/IEC 15026-4--Systems and Software Engineering--Systems and Software Assurance--Part 4: Assurance in the Life Cycle</source>
          . (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Ogata</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Matsuura</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sakai</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sato</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kobayashi</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Enhancement of Requirements Specification Traceability by Model Driven Requirements Analysis Employing Automatic Prototype Generation</article-title>
          .
          <source>In: IASTED Int. Conf. on Softw. Eng.</source>
          , pp.
          <fpage>55</fpage>
          -
          <lpage>63</lpage>
          . (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Kordon</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Luqi</surname>
          </string-name>
          :
          <article-title>An Introduction to Rapid System Prototyping</article-title>
          .
          <source>IEEE Trans. Softw. Eng</source>
          .
          <volume>28</volume>
          ,
          <fpage>817</fpage>
          -
          <lpage>821</lpage>
          (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Aceituna</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Do</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lee</surname>
          </string-name>
          , S.-W.:
          <article-title>Interactive Requirements Validation for Reactive Systems through Virtual Requirements Prototype</article-title>
          . In: MoDRE, pp.
          <fpage>1</fpage>
          -
          <lpage>10</lpage>
          . IEEE (
          <year>2011</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Lee</surname>
            ,
            <given-names>E.A.</given-names>
          </string-name>
          :
          <article-title>Cyber Physical Systems: Design Challenges</article-title>
          .
          <source>In: 11th IEEE Int. Symp. on Object and Component-Oriented Real-Time Distributed Computing</source>
          , pp.
          <fpage>363</fpage>
          -
          <lpage>369</lpage>
          . IEEE (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Jedlitschka</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jung</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lampasona</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Evaluation Summary</article-title>
          .
          <source>In: Model-Based Engineering of Embedded Systems. The SPES 2020 Methodology</source>
          , pp.
          <fpage>231</fpage>
          -
          <lpage>239</lpage>
          . Springer (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Spanoudakis</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zisman</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Software Traceability: A Roadmap</article-title>
          .
          <source>In: Handbook of Software Engineering and Knowledge Engineering</source>
          , pp.
          <fpage>395</fpage>
          -
          <lpage>428</lpage>
          . World Scientific Publishing (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9. ISO/IEC/IEEE: Systems and software engineering-Vocabulary.
          <article-title>(</article-title>
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Gotel</surname>
            ,
            <given-names>O.C.Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cleland-Huang</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hayes</surname>
            ,
            <given-names>J.H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zisman</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Egyed</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grünbacher</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dekhtyar</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Antoniol</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maletic</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mäder</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Traceability Fundamentals</article-title>
          .
          <source>In: Software and Systems Traceability</source>
          , pp.
          <fpage>3</fpage>
          -
          <lpage>22</lpage>
          . Springer (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Ramesh</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jarke</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Toward reference models for requirements traceability</article-title>
          .
          <source>IEEE Trans. Softw. Eng</source>
          .
          <volume>27</volume>
          ,
          <fpage>58</fpage>
          -
          <lpage>93</lpage>
          (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Cote</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heisel</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>A UML Profile and Tool Support for Evolutionary Requirements Engineering</article-title>
          .
          <source>In: 15th European Conf. on Software Maintenance and Reengineering (CSMR)</source>
          , pp.
          <fpage>161</fpage>
          -
          <lpage>170</lpage>
          . IEEE (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Chillarege</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bhandari</surname>
            ,
            <given-names>I.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chaar</surname>
            ,
            <given-names>J.K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Halliday</surname>
            ,
            <given-names>M.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Moebus</surname>
            ,
            <given-names>D.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ray</surname>
            ,
            <given-names>B.K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wong</surname>
          </string-name>
          , M.-Y.:
          <article-title>Orthogonal Defect Classification - A Concept for In-Process Measurements</article-title>
          .
          <source>IEEE Trans. Softw. Eng</source>
          .
          <volume>18</volume>
          ,
          <fpage>943</fpage>
          -
          <lpage>956</lpage>
          (
          <year>1992</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Freimut</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Denger</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>A Defect Classification Scheme for the Inspection of QUASAR Requirements Documents</article-title>
          .
          <source>IESE-Report No. 076</source>
          .03/E, Version
          <volume>1</volume>
          .0.
          <string-name>
            <surname>Fraunhofer</surname>
            <given-names>IESE</given-names>
          </string-name>
          (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Daun</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brings</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bandyszak</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bohn</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weyer</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Collaborating Multiple System Instances of Smart Cyber-physical Systems: A Problem Situation, Solution Idea, and Remaining Research Challenges</article-title>
          .
          <source>In: IEEE/ACM 1st Int. WS on Softw. Eng. for Smart CyberPhysical Systems (SEsCPS)</source>
          , pp.
          <fpage>48</fpage>
          -
          <lpage>51</lpage>
          . IEEE (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>16. Specifications - OSGi™ Alliance, https://www.osgi.org/developer/specifications/</mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Milicev</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Automatic Model Transformations Using Extended UML Object Diagrams in Modeling Environments</article-title>
          .
          <source>IEEE Trans. Softw. Eng</source>
          .
          <volume>28</volume>
          ,
          <fpage>413</fpage>
          -
          <lpage>431</lpage>
          (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Fagan</surname>
            ,
            <given-names>M.E.</given-names>
          </string-name>
          :
          <article-title>Design and code inspections to reduce errors in program development</article-title>
          .
          <source>IBM Syst. J</source>
          .
          <volume>15</volume>
          ,
          <fpage>182</fpage>
          -
          <lpage>211</lpage>
          (
          <year>1976</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Brandstetter</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Froese</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tenbergen</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vogelsang</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wehrstedt</surname>
            ,
            <given-names>J.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weyer</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <source>Early Validation of Automation Plant Control Software using Simulation Based on Assumption Modeling and Validation Use Cases. CSIMQ 4</source>
          ,
          <fpage>50</fpage>
          -
          <lpage>65</lpage>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Andrews</surname>
            ,
            <given-names>B.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Goeddel</surname>
            ,
            <given-names>W.C.</given-names>
          </string-name>
          :
          <article-title>Using Rapid Prototypes for Early Requirements Validation</article-title>
          .
          <source>In: 13th AIAA/IEEE Digital Avionics Systems Conference</source>
          , pp.
          <fpage>70</fpage>
          -
          <lpage>75</lpage>
          . IEEE (
          <year>1994</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Luqi</surname>
          </string-name>
          <article-title>: Software Evolution Through Rapid Prototyping</article-title>
          .
          <source>Computer</source>
          <volume>22</volume>
          ,
          <fpage>13</fpage>
          -
          <lpage>25</lpage>
          (
          <year>1989</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Nuseibeh</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Weaving together requirements and architectures</article-title>
          .
          <source>Computer</source>
          <volume>34</volume>
          ,
          <fpage>115</fpage>
          -
          <lpage>119</lpage>
          (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Berzins</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Luqi</surname>
            , Yehudai,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Using Transformations in Specification-Based Prototyping</article-title>
          .
          <source>IEEE Trans. Softw. Eng</source>
          .
          <volume>19</volume>
          ,
          <fpage>436</fpage>
          -
          <lpage>452</lpage>
          (
          <year>1993</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>Berzins</surname>
          </string-name>
          , V.:
          <article-title>Recombining changes to software specifications</article-title>
          .
          <source>Journal of Systems and Software</source>
          <volume>42</volume>
          ,
          <fpage>165</fpage>
          -
          <lpage>174</lpage>
          (
          <year>1998</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <surname>Luqi</surname>
            , Chang,
            <given-names>C.K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhu</surname>
          </string-name>
          , H.:
          <article-title>Specifications in software prototyping</article-title>
          .
          <source>J. of Syst. and Softw</source>
          .
          <volume>42</volume>
          ,
          <fpage>125</fpage>
          -
          <lpage>140</lpage>
          (
          <year>1998</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <surname>Sutcliffe</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>A Technique Combination Approach to Requirements Engineering</article-title>
          .
          <source>In: 3rd IEEE International Symposium on Requirements Engineering</source>
          , pp.
          <fpage>65</fpage>
          -
          <lpage>74</lpage>
          . IEEE (
          <year>1997</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27.
          <string-name>
            <surname>Kotonya</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sommerville</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>Requirements Engineering: Processes and Techniques</article-title>
          . John Wiley &amp; Sons; J. Wiley (
          <year>1998</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          28.
          <string-name>
            <surname>Siddiqi</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Morrey</surname>
            ,
            <given-names>I</given-names>
          </string-name>
          , Hibberd,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Buckberry</surname>
          </string-name>
          , G.:
          <article-title>Towards a System for the Construction</article-title>
          , Clarification,
          <source>Discovery and Formalisation of Requirements. 1st Int. Conf. on Requirements Eng.</source>
          , pp.
          <fpage>230</fpage>
          -
          <lpage>238</lpage>
          . IEEE (
          <year>1994</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          29.
          <string-name>
            <surname>Andriole</surname>
            ,
            <given-names>S.J.</given-names>
          </string-name>
          : Fast, cheap requirements prototype,
          <source>or else! IEEE Softw</source>
          .
          <volume>11</volume>
          ,
          <fpage>85</fpage>
          -
          <lpage>87</lpage>
          (
          <year>1994</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          30.
          <string-name>
            <surname>Kamalrudin</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grundy</surname>
          </string-name>
          , J.:
          <article-title>Generating Essential User Interface Prototypes to Validate Requirements</article-title>
          .
          <source>In: 26th IEEE/ACM Int. Conf. on Automated Softw. Eng. (ASE)</source>
          , pp.
          <fpage>564</fpage>
          -
          <lpage>567</lpage>
          . IEEE (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          31.
          <string-name>
            <surname>Thompson</surname>
            ,
            <given-names>J.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heimdahl</surname>
            ,
            <given-names>Mats P. E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Miller</surname>
            ,
            <given-names>S.P.</given-names>
          </string-name>
          :
          <article-title>Specification-Based Prototyping for Embedded Systems</article-title>
          . In: ESEC/FSE '99, LNCS, vol.
          <volume>1687</volume>
          , pp.
          <fpage>163</fpage>
          -
          <lpage>179</lpage>
          . Springer (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          32.
          <string-name>
            <surname>Zimmermann</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stattelmann</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Viehl</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bringmann</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rosenstiel</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          :
          <article-title>Model-Driven Virtual Prototyping for Real-Time Simulation of Distributed Embedded Systems</article-title>
          .
          <source>In: 7th IEEE Int. Symp. on Industrial Embedded Systems (SIES'12)</source>
          , pp.
          <fpage>201</fpage>
          -
          <lpage>210</lpage>
          . IEEE (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>