Download as pdf or txt
Download as pdf or txt
You are on page 1of 31

The Journal of Systems and Software 110 (2015) 54–84

Contents lists available at ScienceDirect

The Journal of Systems and Software


journal homepage: www.elsevier.com/locate/jss

Evolution of software in automated production systems: Challenges and


research directions
Birgit Vogel-Heuser a,∗, Alexander Fay b, Ina Schaefer c, Matthias Tichy d
a
Institute of Automation and Information Systems, Technische Universität München, Boltzmannstr. 15, 85748 Garching near Munich, Germany
b
Institute of Automation Technology, Helmut Schmidt University, Holstenhofweg 85, 22043 Hamburg, Germany
c
Institute of Software Engineering and Automotive Informatics, Technische Universität Braunschweig, Mühlenpfordtstr. 23, 38106 Braunschweig, Germany
d
Institute of Software Engineering, Universität Ulm, 89069 Ulm, Germany

a r t i c l e i n f o a b s t r a c t

Article history: Coping with evolution in automated production systems implies a cross-disciplinary challenge along the
Received 31 March 2015 system’s life-cycle for variant-rich systems of high complexity. The authors from computer science and au-
Revised 16 August 2015
tomation provide an interdisciplinary survey on challenges and state of the art in evolution of automated
Accepted 17 August 2015
production systems. Selected challenges are illustrated on the case of a simple pick and place unit. In the
Available online 22 August 2015
first part of the paper, we discuss the development process of automated production systems as well as the
Keywords: different type of evolutions during the system’s life-cycle on the case of a pick and place unit. In the second
Evolution part, we survey the challenges associated with evolution in the different development phases and a couple
Automation of cross-cutting areas and review existing approaches addressing the challenges. We close with summarizing
Automated production systems future research directions to address the challenges of evolution in automated production systems.
Software engineering © 2015 The Authors. Published by Elsevier Inc.
This is an open access article under the CC BY-NC-ND license
(http://creativecommons.org/licenses/by-nc-nd/4.0/).

1. Introduction: the research need on evolution in automated systems that produce (automated) products, those fundamental
production systems methods need to be adapted to the other disciplines and linked to
well-known and well-established domain-specific methods like the
Modern trends in manufacturing are defined by mass customiza- design structure matrix in mechanical engineering. This article shows
tion, small lot sizes, high variability of product types, and a chang- the state of the art of those fundamental methods in software engi-
ing product portfolio during the lifecycle of an automated production neering and indicates the weaknesses when transferred to evolution
system (aPS) (Lüder et al., 2005; Rzevski, 2003). These trends imply of aPS.
more complex aPS (Mcfarlane and Bussmann, 2000), which support aPS are comprised of mechanical parts, electrical and electronic
changes in the physical layout of the aPS including extensive techni- parts (automation hardware) and software, all closely interwoven,
cal updates. The complexity of the aPS, including automation hard- and thus represent a special class of mechatronic systems (Bonfè
ware and automation software (called software henceforth), is ris- and Fantuzzi, 2003; Rzevski, 2003) and consist of mechatronic sub-
ing. Since the proportion of system functionality that is realized by systems like sensors and actuators. Therefore, development methods
software is increasing (Thramboulidis, 2010), concepts for support- for mechatronic systems can be applied (see Section 2). However, aPS
ing automation engineers in handling this complexity are strongly re- impose special requirements on the development process:
quired. Software as well as software engineering in this domain need
to fulfill specific requirements, e.g. regarding real-time and reliability • Some mechatronic systems are only designed for a short lifetime
(Vogel-Heuser et al., 2014a, 2014b, 2014c). Fundamental methods like of several months or few years (e.g. consumer audio/video de-
variability modeling, tracing etc., which enable software evolution, vices). These devices will typically not be changed/adapted to new
are until now limited to the software domain. For automated prod- requirements during their life and will not be in the focus of this
ucts, e.g., washing machines, and automated production systems, i.e., paper.
• Sensors and actuators as mechatronic sub-systems of an aPS are

designed for a longer lifetime of several years. It can be fore-
Corresponding author. Tel.: +498928916400; fax: +498928916410
E-mail addresses: vogel-heuser@ais.mw.tum.de, vogel-heuser@tum.de (B. Vogel-
seen that requirements will probably change over their lifetime.
Heuser), alexander.fay@hsu-hh.de (A. Fay), i.schaefer@tu-braunschweig.de Therefore, suitable means should be planned during the devel-
(I. Schaefer), matthias.tichy@uni-ulm.de (M. Tichy). opment which allow for adaptions to the functionality of these

http://dx.doi.org/10.1016/j.jss.2015.08.026
0164-1212/© 2015 The Authors. Published by Elsevier Inc. This is an open access article under the CC BY-NC-ND license (http://creativecommons.org/licenses/by-nc-nd/4.0/).
B. Vogel-Heuser et al. / The Journal of Systems and Software 110 (2015) 54–84 55

mechatronic systems later. As software can be changed more eas- According to Wiendahl et al. (2007), changeability “is defined as
ily (especially remotely) than mechanical or electrical parts, adap- characteristics to accomplish early and foresighted adjustments of
tions to further requirements are often taken into account by the factory’s structure and processes”. In contrast, reconfigurability
changes of the firmware (software) of such systems. is defined as the “ability of a manufacturing or assembly system to
• The longer the presumable lifetime, and the more complex the switch with minimal effort and delay to a particular family of work-
mechatronic system is, the more important it is to take chang- pieces or subassemblies through the addition or removal of func-
ing requirements into account during the development, and to tional elements” (Wiendahl et al., 2007).
provide suitable means (workflows, models, tools) that allow for Drivers for evolution are manifold (Westkämper, 2003), and basi-
adapting these mechatronic systems later on. cally result in changes of requirements on the aPS (Legat et al., 2013).
• aPS, a particular type of mechatronic system on which this pa- Managing (evolving) functional requirements is a well-studied topic
per focuses, is designed-to-order systems. These are complex sys- in the literature (Ramesh and Jarke, 2001). In contrast, managing non-
tems, and they have a typical life time in operation of several functional requirements – especially dependability requirements –
decades. Naturally, requirements imposed on these systems will for aPS is rarely addressed (Fay et al., 2015; Ladiges et al., 2013). One
change over life time (e.g., caused by changing customer require- reason is that the relationship between evolution and dependability
ments or by changes in legislation). Evolution is, therefore, to be of a system is vaguely understood until now because both are very
seen as an integral part of their lifecycle. complex challenges (Felici, 2003; Machado et al., 2006; Vogel-Heuser
This results in two similar but differing assumptions requiring dif- et al., 2014c). Continuous integration is a hot topic in software engi-
ferent design approaches for software engineering for those aPS: neering practice. Its goal is to increase the speed of development by
very often integrating the different modules of a complex software
A. The need for later evolution should be taken actively into account system including automated integration tests – typically every few
already in the initial development (requirements engineering, de- days, daily or even after every committed change. This avoids that the
sign, implementation) of an aPS, which is intended to remain in different modules diverge too much, which can make integrations in
operation for years (“Design for Future”). longer intervals very complex. Continuous integration in aPS is ad-
B. During operation of the aPS, evolution should not be seen as an dressed in a different way, since changes in the development and op-
exception, but as a repetitive activity to maintain – or even in- eration process of a product and the related automated production
crease – the value of the aPS, but in a more reactive manner. systems need to be closely coupled to cope with the increased speed
Consequently, evolution should be planned, carried out and doc- of innovation. For example the different development and operation
umented systematically in order to keep the system maintainable activities are cyclically operated with different frequencies.
over time (“Managed Software Evolution”). To achieve consistent data and activities cross-disciplinary
The basis for software evolution management was laid within the changes were until now often only performed at synchronization
1980s in the computer science domain. Lehman (1980) defined laws points to avoid inconsistencies. Different research groups (CRC 6141 ,
of software evolution and – among others – identified that systems CRC 7682 ) are working on continuous improvement in between these
are subject to dynamics causing continuing changes of software re- synchronization points. The restructuring of a production unit versus
sulting into increasing complexity. Evolution might be triggered in a continuous improvement process of these units is another topic in
each phase of an aPS’s life. Hence, due to their evolution and the long- this field (Schuh et. al 2013). Furthermore, continuous integration of
living character of aPs, their life is characterized as a cycle (Birkhofer the software and the hardware of an aPS is more complicated than in
et al., 2010). As changes are often performed in order to improve a pure software setting as the changes in hardware are much slower
the system by, e.g., correcting faults, maintainability is strongly re- to realize than in software as well as that simulation models of the
lated to evolution. Software maintainability is “the ease with which a hardware system are required for automated integration tests.
software system can be modified to correct faults, improve perfor- The paper is structured as follows: in Section 2, the development
mance or other attributes or adapt to change environments” (IEC, process for aPS according to VDI/VDE 3695 (2010) is presented in-
1990). The same standard defines maintainability as “the ease with troducing classified evolution scenarios and a simple pick and place
which a hardware system or component can be retained in, or re- unit (PPU) as application example. The PPU will be used in the dif-
stored to, a state in which it can perform its required functions”. ferent sections to illustrate selected aspects. Sections 3–5 highlight
Accordingly, maintenance can either involve repair or modification the different life-cycle phases: requirements and system specifica-
actions, which in turn can be adjustments to the environment (re- tion, system design, system realization and implementation. Further-
ferred to as adaptive maintenance) or augmentation of a system’s more, we address several topics, which are relevant for all phases. In
function (Avizienis et al., 2004). In the context of maintainability, ob- Section 6, validation and verification with a view on aPS is discussed,
solescence management, i.e., managing, mitigating and resolving the in Section 7 variability management, in Section 8 model-driven en-
impact of (sub-)component obsolescence, is one important issue re- gineering and finally in Section 9 traceability are discussed. Sections
garding long-living systems (ISO/IEC 25010, 2011). 3–9 start with the challenges for cross-disciplinary aPS followed by
Buckley et al. (2005) introduced four aspects of software changes the state of the art in computer science and aPS, if appropriate,
as the basis for software evolution: temporal properties (when), ob- demonstrated by the PPU application, and close each with elements
ject of change (where does the change occur), system properties of a research roadmap. In Section 10, the contribution closes with a
(what), and change support (how). The authors neglect the stake- short conclusion and an outlook regarding open challenges and fu-
holders (who) and the reason for change (why), which is essential ture work.
to address the “nature of [the] evolution phenomenon, its drivers and
impact” (Lehman and Ramil, 2002). An approach to explicitly mod- 2. Development process for aPS
eling changes of aPS’ physical structures and for analyzing their ef-
fects on the system’s functions is proposed in Göring and Fay (2013) aPS are typically designed-to-order, i.e. they are unique systems,
alongwith the physical causes of these changes. However, changes in which are designed and implemented once a customer has awarded
the aPS domain are often performed for specific reasons beyond pure a contract to an aPS supplier (Birkhofer et al., 2010). Referring to
physical causes – e.g., to adjust an aPS for certain circumstances or
to configure it for producing a certain product. Hence, in the context
of evolution, the terms changeability and reconfigurability are often 1
http://www.sfb614.de/en/home/, retrieved 8/21/2015.
named. 2
http://www.sfb768.tum.de/index.php?id=5&L=1, retrieved 8/21/2015.
56 B. Vogel-Heuser et al. / The Journal of Systems and Software 110 (2015) 54–84

Project-independent activities to create reusable partial solutions

Requirement Solution Solution Detail Solution element Solution Solution


Solution
specification specific. design design implementation integration Test
repository

Project-related activities over the lifetime of a production plant

Plant taken
Requirement System System Detail System element System System System Project
… out of
specification specific. design design implementation integration delivery handover completion Operation
operation

Mechanics (~ every 20 – 40 years for process industry production systems /


~ every 5 – 20 years for manufacturing production systems)

Automation hardware incl. electrics (~ every 10 – 15 years)

Software (~ once per week – once per year)

Fig. 1. V-Modell XT integrated into life-cycle of different disciplines in aPS distinguishing between project-independent activities (top) and project-related activities (bottom).

systems’ complexity as well as reuse of subcomponents there is a desirable for economic reasons and may be only acceptable during
difference between machine and plant manufacturing industry. In annual closing.
this paper, we focus on special purpose machinery as aPs that is in be-
tween of machine manufacturing and plant manufacturing industry
2.1. Evolution scenarios for aPs – state of the art and challenges
regarding complexity. The specification and implementation is car-
ried out in the form of a project (VDI/VDE 3695 Part 2, 2010). In the
At first, different reasons for evolution are introduced as well as
lower part of Fig. 1, the project-related activities are depicted from
the different sequences to cope with the need for evolution result-
left to right, following the process of the project. Until completion,
ing in different categories of evolution scenarios. These scenario cat-
such projects usually last between several weeks and several months.
egories are linked to the scenarios of the application example PPU,
In order to shorten project durations and to reduce costs, reusable
which will be explained in detail in the following section.
(partial) solutions are usually developed by system suppliers, for aPs
in this paper by special purpose machine manufacturers. The devel-
opment of these (partial) solutions follows a typical product develop- 2.1.1. Different reasons for evolution
ment workflow (cp. upper part of Fig. 1), as described e.g. in VDI/VDE As described in Section 1, evolution can be initiated by different
2206 (2004), and is decoupled from the projects on the timeline. The reasons for change, and evolution can affect the software, the me-
so-created reusable solutions are stored in a repository and are taken chanical parts, and/or the electrical and electronic parts of the aPS
into account to, if suitable, be used in the customer-specific projects, (automation hardware). In the following, a categorization is intro-
in particular in the phases of system design and detail design (cp. duced, which allows for distinguishing between the different causal
dashed arrows in Fig. 1) (VDI/VDE 3695 Part 2, 2010). orders by which evolution affects the different aspects of an aPS. This
aPS are supposed to be in operation for decades before finally is important, as the different categories impose different methods to
they are taken out of operation and are demolished. During opera- support evolution. The categorization is based on and extends the one
tion, they are aging. Reasons for aging are physical effects like wear introduced in Ladiges et al. (2013), Vogel-Heuser et al. (2014c) and
and tear and corrosion resulting in limited life expectations of me- (2014d).
chanical components. These components have to be replaced after An aPS is commonly undergoing various types of changes in order
a couple of years (cp. the corresponding arrow in Fig. 1), known as to fulfill both the changed requirements and those of the previous
re-engineering and modernization. Besides, mechanical components requirements which are still valid. The functional requirements (FR)
are usually not replaced by identical ones, because identical parts are and the non-functional requirements (NFR) on the production and
no longer available, and/or the customers prefer more modern solu- on the aPS are pre-set by the owner or the management of the facil-
tions, e.g., with higher energy efficiency. The same holds for electron- ity and its immediate interests. They are usually described in a tex-
ics/electrical components, including automation hardware including tual, informal manner. Along the lifetime of an aPS, several reasons
communication components, just with a shorter lifetime horizon (cp. prompt the management to change requirements. Such reasons are,
Fig. 1). e.g., modified or added types of products, additional boundary con-
Other reasons for aging are changing requirements, e.g. market ditions of production such as laws or environmental regulations, or a
requirements or legal requirements. Many of those changes can be new target for production performance. Since requirements describe
provided by adaptations of the software. Such adaptations are com- the desired behavior of the whole aPS, they can affect the physical
parably more frequent and may be conducted even during runtime, machine and/or the information processing and control algorithm in
see the arrow at the bottom of Fig. 1. These arrows point back to the aPS. Consequently, the customers’ maintenance staff might, dur-
the phases of requirement and system specification: in a systematic ing the evolution, adapt the control software and/or mechanical parts
approach, when change is required, new or changed requirements and/or electrical and electronic parts of the system. Ideally, the work-
are gathered, and/or the existing requirements which are affected by flow is as follows:
this change are checked whether they are still valid. On this basis, (1) The management changes plant requirements.
the system design is adapted. The adaptation of an aPS due to the (2) The semi-formal system requirements specification (SRS) is
need for change is called “evolution” henceforth. Evolution is char- adapted accordingly.
acterized by the gradual adaption of the aPS to preserve its value: (3) The software of the plant is redesigned by the customers’
for abandoning, the aPS is too valuable, and a revolutionary mod- maintenance staff or by the machine supplier and then imple-
ification would require a longer standstill of the aPS, which is not mented accordingly.
B. Vogel-Heuser et al. / The Journal of Systems and Software 110 (2015) 54–84 57

Table 1
Categories of evolution scenarios based on a refinement of Ladiges et al. (2013) with references to PPU case study examples in Section 2.2 (∗) (Vogel-Heuser
et al., 2014d) and (#) (Vogel-Heuser et al., 2014c).

Scenario category:
Causal Order of Ia Ib Ic Id IIa IIb IIc III IVa IVb IVc Va Vb Vc Vd VIa VIb VIc
changes and change criteria
PPU scenario (cp. Table 2) Sc11, Sc2,
Sc12d Sc1 Sc12c Sc13 Sc1 Sc6 Sc4b Sc1 Sc12c Sc11, Sc12d Sc1 Sc12c Sc13 Sc1 Sc12c
Sc12 4,4b,
(#) (*) (#) (*) (*) (*) (*) (*) (#) Sc12 (#) (*) (#) (*) (*) (#)
(*) 6 (*)
(a) Requirements of the plant’s
1. unchanged
management (informal)
(b) Semi-formal system
2. omitted
requirements specification (SRS)
(c) Software of the aPS 3. 4. 3. 1. 2.
Arti-
fact

(d) electrical parts of the aPS 3. 3. 2. 2. 1. 1. 1.


3. 3. 2. 1.
(e) mechanical parts of the aPS 3. 3. 2. 1. 1.
Anticipation of Change
yes no
(Buckley et al., 2005)
Time of change offline online

(4) The changes are validated/verified. documentation. Often, the adaptation of the system requirement
(5) The changed aPS is operational again. description (b) is omitted and a gap between the specification, the
“as-built” documentation, and the real facility occurs. This evolution
This evolution scenario category is referred to as “Ia” henceforth, scenario category “III” is described by the sequence (a)→(c), see
its main characteristics are shown in column “Ia” of Table 1. With re- Table 1. As this engineering procedure is frequently found, methods
spect to the letters in the first column of Table 1, the order of changes should be developed to support regaining consistency and trace-
is (a)→(b)→(c) in category “Ia”. Similar evolution scenario categories ability between requirements, specification, and software code – see
are those where electrical parts (Ib) and/or mechanical parts (Ic) of Section 9 for details.
the plant are changed after specification of requirements, which re- A new requirement of the facility manager (a) can also result
sults in the sequence (a)→(b)→(d) in “Ib”, (a)→(b)→(e) in “Ic” and primarily in a change of the plant’s mechanical and/or electrical
(a)→(b)→(d and e simultaneously) in “Id”. A simple example of an parts. For example, a new requirement might demand for a sensor
evolution scenario of category “Ic” is the planned enlargement of a with higher accuracy, and the software might need to be adapted
plant with an additional mechanical device. in consequence. Evolution scenario category “IV” is therefore de-
In the second row of Table 1, references are given to evolution sce- scribed by the development sequence (a)→(d and/or e)→(c). The
narios of the PPU case study (cp. Section 2.2) which are examples of similarity between category “IV” and “III” is that a formal SRS for
this scenario category. the change is omitted. Similarly to category “II”, category “IV” is fur-
The entire evolution scenario category “I” (i.e. “Ia”, “Ib”, “Ic” and ther detailed into subcategories that describe whether the electri-
“Id”) has in common that modifications are based on requirements cal parts (“IVa”) or the mechanical parts (“IVb”) or both (“IVc”) are
specification, and that either software or physical parts of the aPS are changed. This results not only in a discrepancy between the imple-
changed. Evolution scenarios of category “I” require means (i.e. meth- mented software code and the specification, but also in discrepan-
ods, models and tools) for formalizing informal requirements (both cies between the specification and engineering documents of elec-
FR and NFR) into a usually semi-formal system requirements specifi- trical/electronic and/or mechanical engineering disciplines and their
cation (SRS). Furthermore, they need methods to trace requirements implementations.
from the initial specification via the SRS to the software. Section 3 A further evolution scenario category “V” describes scenarios
deals with details regarding the formalization and the traceability of which do not result from new requirements (a), but frequently occur
the requirements. in industrial practice during operation and maintenance phase: the
Not all changes of requirements can be fulfilled by changes of change is initiated at the shop floor by maintenance personnel and af-
only the software or only the physical parts alone. Quite often in fects either only software as such, e.g., an upgrade of a software func-
an aPS, changes of the mechanical and/or the electrical/electronic tionality without changes in hardware (“Va”), or electrical/electronic
parts are required, which lead to a subsequent adaptation of the soft- and/or mechanical parts without effects on software (categories “Vb”,
ware. The workflow of this category “II” is described in Table 1 as “Vc”, “Vd”).
(a)→(b)→(d and/or e)→(c). Category “II” further details whether the Evolution scenario category “VI” is characterized by changes
electrical/electronic parts (“IIa”) or the mechanical parts (“IIb”) or which, similarly to category “V”, do not result from new requirements
both (“IIc”) are changed before the software is changed. This cate- (a), but instead from changes in the plant’s physical parts (d and/or
gory of evolution scenarios requires, in addition to category “I”, an e), which affect software (c). For example, a deliberate change of me-
SRS which combines mechanical, electrical/electronic and software chanical or electrical parts can require a subsequent software adapta-
aspects, and allows for tracing requirements across the borders of tion (c). An example of this category is the exchange of a failed sensor
these disciplines. by a newer version (just due to the fact that the original version is not
However, a well-managed and documented engineering proce- available anymore) which performs slightly different and, therefore,
dure is not always performed in practice when requirements change. requires a software adaptation accordingly. Also in category “VI”, a
When the plant’s staff has the impression that changed requirements distinction has to be made whether the change originates in the elec-
can be fulfilled by minor software changes (such as simple code adap- trical system (“VIa”) or the mechanical system (“VIb”) or both (“VIc”).
tations of Programmable Logic Controllers (PLCs)), such changes are As depicted in the lower rows of Table 1, the scenario categories
usually performed instantaneously to react quickly, or even executed can be related to the definitions introduced by Buckley et al. (2005):
during a plant’s operation to avoid standstills of the production facil- history of change, granularity of change (Buckley et al., 2005; Katzke
ity. Those frequent minor adjustments are often carried out without et al., 2004), history of change and anticipation of change. Anticipated
a proper requirements engineering process, thus missing consistent software changes in accordance to Buckley et al. (2005) are software
58 B. Vogel-Heuser et al. / The Journal of Systems and Software 110 (2015) 54–84

I Project-related activities over the lifetime of a production plant


II
Plant taken
Requirements System System Detail System element System System System Project
… out of
specification specific. design design implementation integration delivery handover completion Operation
operation
III
IV
VI
V

Fig. 2. Coverage of project-related activities during evolution scenarios of the different categories.

Sixteen scenarios were developed that cover different combina-


tions of mechanics, automation hardware and software changes (cp.
Tables 2 and 3) (Legat et al., 2013; Vogel-Heuser et al., 2014c).
The initial scenario is the evolution scenario Sc0 where the stack,
the crane and a slide (cp. Fig. 3, left bottom) are existing. The stack
pushes a single black plastic workpiece out of the stack into the
crane’s pick-up position. At the pick-up position, the crane picks up
single workpieces by moving the crane down and by using a vacuum
gripper to suck the separated workpiece. Upon rotation of 90°, the
crane reaches the slide’s position, where the workpiece has to be
placed. After moving down, the vacuum gripper releases the work-
piece, which then glides down the slide.
Table 2 introduces possible evolutionary changes of the PPU. In
Table 1, these changes are related to the evolution scenarios. For in-
stance, in category “I” changes are made for increasing the capacity of
the slide where workpieces of PPU are finally stored after production.
Fig. 3. PPU and related mechatronic configurations based on evolution scenarios from Regarding Buckley et al.’s (2005) criteria temporal change, also
Legat et al. (2013).
history of change is introduced with the characteristic sequential and
parallel synchronous and parallel asynchronous changes. With se-
quential software evolution, multiple persons cannot make changes
changes, which “can be foreseen during the initial development of
to the same data at the same time, but with parallel evolution dif-
the systems and, as such, can be accommodated in the design deci-
ferent software developers can simultaneously make changes to the
sion taken”. Anticipated software changes also include changes dur-
same software component. The latter is frequently the case in aPs.
ing operation as long as a model-based approach is followed (cp. cat-
The first evolutionary step, from Sc0 to Sc1 (cf. Table 1, category
egories “I” and “II”). Such changes are called “offline” in aPS, because
“Ic”), has impact only on mechanical parts of the PPU. Requirements
the changes are carried out in a model (maybe also PLC code), inde-
are derived from customers’ demand that the slides capacity has to
pendent of the production process. Buckley calls those changes static.
be increased. Hence, a Y-shaped slide has to be used. No changes to
Unanticipated software changes according to Buckley et al. (2005) are
software or electrical parts have to be made, because increasing ca-
not foreseen during the development phase, but they are frequently
pacity has to be realized only by evolving the mechanical shape of the
undertaken at short notice during commissioning and operation in
slide. The second evolutionary step, from Sc1 to Sc2 (cf. Table 1, cate-
order to, e.g., clear defects in other disciplines, such as an unexpected
gory “IIc”), is an anticipated change, where all mechatronic parts are
behavior of the mechanics. Such changes are called “online”, as they
affected by evolutionary changes forced by customers’ demands on
are implemented directly in the aPS during runtime, and are called
processing an additional metallic workpiece (step 1. in Table 1, cate-
dynamic referring to Buckley. Once such unanticipated changes are
gory “IIc”). Hence, the requirements specification is changed (step 2.),
completed, documentation needs to be adapted accordingly. This is
inductive sensors are mechanically attached (step 3.) to the PPU, elec-
the case in categories “III”, “IV”, “V” and “VI”.
trically wired to added PLC clamps (step 3.) and implemented soft-
Fig. 2 displays which of the project-related engineering phases (cf.
ware has to be changed to recognize and process the new signal (step
Fig. 1) are executed in evolution scenarios of the different categories.
4.). Furthermore, in case of unanticipated changes, i.e., if the demand
In evolution scenarios of categories “I” and “II”, all engineering phases
turns out after delivery of the plant and evolutionary changes have
are executed according to the ideal workflow of Fig. 1. This is de-
to be made immediately, even mechatronic parts are affected while
picted in Fig. 2 by an arrow, which starts at “I”/”II” and is aligned with
neglecting requirements changes in informal and semi-formal stages
all engineering phases. In the scenarios of categories “III” and “IV”,
(cf. Table 1, category “IVc”). Successively, evolutionary changes are
the phases “system specification” and “system design” are omitted
made until Sc13 is completed. Hence, plants’ manufacturers have a
(cp. the arrow in Fig. 2 which starts at “III”/”IV” and bypasses these
vast quantity of variants to handle.
phases). In evolution scenarios of the categories “V” and “VI”, the re-
In the following, parallel evolution is discussed according to
quirements remain unchanged, i.e. the workflow starts at the detail
Buckley et al.’s (2005) criterion history of change. A set of typical vari-
design phase (cp. respective arrow in Fig. 2).
ations in aPS based on the PPU’s scenario Sc12 are given in Table 3.
Due to the demand for higher throughput of workpieces (WPs), sce-
2.2. Application example lab-size pick and place unit nario Sc12a with a faster sorting of WPs is developed. A drive with in-
creased dynamics is installed to realize faster WP movement, which
A simple lab size model, the pick and place unit (PPU) is used as a entails that faster pushers are required for extruding WPs. In par-
demonstrator to research methods and technologies on evolving aPS. allel, a customer demands as a non-functional requirement an ad-
The PPU performs a manufacturing (discrete) process and handles, justed variant of PPU’s scenario Sc12 (scenario Sc12b) which is able
stamps and sorts different kinds of workpieces (Fig. 3) (Vogel-Heuser to handle larger and heavier WPs. Depending on the country a ma-
et al., 2014d). The PPU consists of software, electrical/electronic and chine or plant shall be located in, different supply and control volt-
mechanical parts. age must be supported by field devices. Whereas the existing PPU
B. Vogel-Heuser et al. / The Journal of Systems and Software 110 (2015) 54–84 59

Table 2
Changes of mechanics (M), automation hardware (AH) and software (S) (enlargement of Legat et al., 2013).

Triggering requirement Scenario Stack Crane Stamp Slide Conveyor belt Realization

M AH S M AH S M AH S M AH S M AH S

Increase in the workpiece 0 A A A A A A – – – A A A – – – New development of the


throughput machine
Capacity increase of the 1 o o o o o o – – – M o o – – – Y-shape of the slide
slide
Additional processing of 2 A A A o o o – – – o o o – – – Inductive sensor for metal
metallic workpieces
Labeling of a product 3 o o o M M M A A A o o o – – – Addition of a stamp unit
Reduction in the error rate 4a o o o o M o o o o o o o – – – Replacement of crane
caused by sensor sensors
contamination
Availability increase in crane 4b o o o o M M o o o o o o – – – Sensor redundancy through
positioning inductive and
Further increase in 5 o o o o o M o o o o o o – – – Optimized crane behavior
workpiece throughput through the use of the
stamp as a buffer
Further increase in 6 o o o M M M A o o o o o – – – Additional mechanical
workpiece throughput by buffer; higher crane
product buffering optimization
Recognition of a further 7 A A A o o o o o o o o o – – – Installing of a light sensor
product type
Different process 8 o o o o o o A A M o o o – – – Different pressure profiles at
implementation for the stamp unit
different materials
Logistics optimization 9 o o o o o o o o o M M M A A A Replacement of the Y-slide
through product by a conveyor belt with
conveying individual slide
Logistic optimization 10 o o o o o o o o o o o o A A A Two additional slides on the
through extra buffer on conveyor belt
the conveyor belt
Change to the buffer filling 11 o o o o o o o o o o o o M M M Successive filling of the slide
strategy
Correct sorting of the 12 o o o o o o o o o o o o o o M Specified sorting of the
products in the buffers
Increase in precision of the 13 o o o M A M o o o o o o o o o Replacement of the digital
crane positions sensors with
Resistance of the crane 14 o o o M A M o o o o o o o o o Installing of an incremental
against electromagnetic encoder for crane
(EMC) effects positioning

Table 3
Parallel evolution scenarios of scenario Sc12 influencing mechanics (M), automation hardware (AH) and software (S) (Vogel-Heuser et al., 2014c).

Scenario Cause triggering requirement Transportation belt Remarks

M AH S

Sc12a Higher throughput of workpieces x 0 x Faster pushers: increased dynamics of pneumatics for
pushing WPs into slide resulting in different time
constraints for monitoring
Sc12b Increase in workpiece size and weight x 0 x Larger slide and increased pneumatic force dynamics
Sc12c Different control voltage x x 0 Different field bus components (e.g. I/O modules) required
Sc12d Different platform supplier, e.g. Siemens, Rockwell, Beckhoff 0 x (x) Difference in automation components, i.e. drives, fieldbus
or Microcontroller and I/O modules for HMI may be required
Sc12e Other than IEC 61131-3 environment requested by customer 0 x x Different PLC and software required, e.g. IEC 61499 or C++
Sc12f Adding functionality self-healing machine and diagnosis x 0 x Additional sensors and software required, automatic mode
enlarged
Sc12g Remote service required 0 x x Data logging and analysis, remote access necessary

is engineered to be located in Germany, a customer requests a PPU more reliable due to the realization of self-healing functionality. To
which can be operated with different supply and control voltage (as extend the business cases of aPS suppliers, a variant supporting re-
used, e.g., in the United States). Accordingly, all field bus components, mote service is provided with scenario Sc12g. To realize remote ser-
which are not capable to handle the desired control voltage, have to vice functionality, data logging and analysis techniques are required
be changed (scenario Sc12c). In aPS, different customers require spe- as well as the possibility to remotely access operational data (Vogel-
cific vendor-platforms, resulting in parallel software variants for the Heuser et al., 2014c).
different platforms that support different programming language di-
alects and use different operating systems, which leads to variants of 3. Requirements and system specification
programs even if the functionality is the same (scenario Sc12d). The
implementation and runtime environment may be changed, too: the Requirements engineering in general includes the activities of
PLC software may be implemented according to IEC 61131-3 or IEC identifying, documenting, verifying and validating, coordinating, and
61499 (scenario Sc12e). In parallel to these variants, scenario Sc12f is managing requirements (Pohl & Rupp, 2011). Requirements play a
60 B. Vogel-Heuser et al. / The Journal of Systems and Software 110 (2015) 54–84

crucial role in the engineering of production plants, as they describe with requirements specifications to find the best solution. Decisions
the stakeholder’s needs and therefore the intention of the plant as are made based on employer experience as well as reusable existing
well as demanded properties to be competitive and economic. Ac- solutions and done intuitively. Reasons named by Bellgran and Säf-
cordingly, the development of requirements on a production plant is sten (2010) are mainly high time-pressure and low priority despite
an integrated part of the production design (Blanchard, 2004; Buede, of the assumption that a well performed requirements engineering
2000). In the development process model described in (VDI/VDE helps reducing time for fixing design and implementation errors.
2206, 2004) (cp. Section 2) for the design of mechatronic systems, The evolutionary changes usually have to be carried out under even
such as production plants, the phases of identification and documen- tighter schedules and higher time pressure, because production
tation of requirements are explicitly foreseen at the beginning of the standstill must be minimized, thus resulting in even worse boundary
process. Similarly, other common development process models like conditions for a systematic requirements engineering.
the spiral model (Sage and Rouse, 2009) (for software-intensive sys- aPS need to be adapted, expanded or somehow changed in
tems) or the waterfall model include requirements elicitation and order to continue to meet their respective actual requirements.
specification as a (repetitive) action during engineering. Require- Unfortunately, the adaptation of the formal specification is often
ments can be categorized as functional requirements, quality require- omitted, especially when changes need to be implemented within
ments, and external conditions (Pohl and Rupp, 2011). a short time window and during operation (Vogel-Heuser et al.,
The functional requirements can usually be derived from the 2014a). Adequate support for requirements engineering of aPS,
product that has to be produced (Vyatkin, 2013) and are the min- which is on the one hand manageable regarding effort needed and
imum set of requirements to be specified completely describing benefit gained and, on the other hand, which copes with variabil-
the design problem (Braha and Maimon, 1997). They refer to the ity and version management also of sub-systems, is still missing.
main intention and are the “nonnegotiable characteristics of the Besides, the maintenance of requirements seems to be an issue
desired solution” (Braha and Maimon, 1997). Therefore, the pro- also from the viewpoint of roundtrip or reverse engineering (from
duction development phase is often performed subsequently to code/mechanical feature/automation hardware feature to model to
the product development phase and is part of the product realiza- requirement or directly from code/mechanical feature/automation
tion (Bellgran and Säfsten, 2010). Quality requirements, also called hardware feature to requirement).
non-functional requirements or extra-functional requirements,
are usually more general and include, among others, performance
requirements expressed in Key Performance Indicators (KPIs) (see 3.1.1. Important functional and extra-functional requirements
e.g. ISO 22400-2, 2012), flexibility requirements, reliability and Non-functional requirements impose severe challenges during
availability requirements, safety and security requirements, and the engineering of aPS: whereas functional requirements (FRs) can
maintainability requirements (ISO/IEC 25010, 2011). usually be broken down to basic functions, and each of them can
be fulfilled by a dedicated module of an aPS, the non-functional re-
3.1. Challenges quirements (NFRs) are usually fulfilled (or violated) by the emerging
behavior of the aPS. The assignments of NFRs to components of the
A variety of norms, guidelines, recommendations and approaches aPS during requirements and system specification are therefore a
is available for performing a structured and systematic requirements critical task, if possible at all. By recording NFRs early, later expensive
engineering. However, in industrial practice these approaches are not conceptual changes can be avoided. During the design process, these
strictly followed. This was, for example, shown in a survey regard- NFRs have to be met by the developer. Different NFRs have to be
ing requirements engineering practice for software projects in indus- considered in different life-cycle phases. In the following the most
try by Neill and Laplante (2003). Morris et al. (1998), identified the important NFRs for distributed control systems, thus also for com-
following reasons for missing requirements engineering practices in plex aPS, are dealt with, cf. Fig. 4 (Frank et al., 2011). These should
research and development projects in industry: be considered in any case during requirements engineering and later
in the design process. All other requirements mentioned in ISO/IEC
• Missing training due to lack of time and cost.
25010 (2011) do not have intensified influence on aPS but have to
• Inherent complexity like number of stakeholders, requirement
be considered as well. The main requirements to be considered are
conflicts, number of requirements, or new arising requirements
reliability, performance efficiency, compatibility, maintainability
in later phases.
and portability (Frank et al., 2011). Table 4 gives explanations of the
• Problems with business integration.
reason and the importance of the NFRs to be considered during the
• Low acceptance in management due to lack of familiarity with re-
development process. The most important ones are resource utiliza-
quirements engineering.
tion, time behavior, testability and analyzability (Frank et al., 2011).
Evolution requires repetitive requirements engineering over the The requirement testability has to be specified for every other func-
lifetime of the aPS. As the evolutionary changes are in most evo- tional and non-functional requirement. Not verifiable requirements
lution scenarios small compared to the original development of have to be decomposed until a test case can be specified.
the aPS, often the qualified staff which was responsible for the re- The NFRs “compatibility”, “modifiability” and “portability” are
quirements engineering of the original aPS is not involved in the of utmost relevance for the ability of an aPS to undergo an evo-
evolution, which aggravates the problem of missing requirements lution: if they are taken into account seriously during the initial
engineering. design of an aPS, this system will be well-prepared for evolution,
As shown by Frey and Litz (2000) in the example of the specifica- and this will ease and reduce efforts during the evolution steps to
tion of PLC code, the formalization of requirements is often omitted come.
in practice. This results in a direct implementation of the informal At each evolution step, it has to be checked and confirmed that,
requirements. Different expert surveys with manufacturing compa- despite all changes, the NFRs “reliability” and “performance” are still
nies showed that structured and systematic ways of working in aPS fulfilled. For example, it has to be proven that the system design of an
development are missing (Bellgran and Säfsten, 2010). Additionally, aPS has at least the same level of fault tolerance after the evolution
a study by Bellgran and Säfsten (2010) showed that only a few step, and that e.g. the worst-case transmission time of a of a message
companies formulated a thorough requirements specification before from a sensor is still within the predefined boundary.
system development started. Choices are often made as a result of To be able to operationalize the requirements given in Fig. 4, they
project team discussions and not by comparing design possibilities have to be annotated with attributes.
B. Vogel-Heuser et al. / The Journal of Systems and Software 110 (2015) 54–84 61

Testability NFR

Performance
Reliability Compatibility Maintainability Portability
efficiency

Fault Time Interopera- Modularity Installability


tolerance behavior bility

Resource Reusability Replaceability


utilisation
Analysability

Fig. 4. Critical NFRs (Frank et al., 2011).

Table 4
Critical NFRs (Frank et al., 2011).

NFR Definition Importance Description

Installability The ease with which the product can be successfully installed High Different possible environments exacerbate installation
in a specified environment
Modularity The degree to which a system is composed of discrete High In distributed systems it is easier and more necessary to
components such that a change to one component has build modules. This leads to an increasing operating
minimal impact on other components expense in implementation
Reusability The degree to which a system can be used again with slight High Reusability in distributed systems cause the need for a
or no effort in a different environment possibility to communicate which raises the effort of
implementation
Analyzability The degree to which a failure can be located and backtraced Very high To analyze distributed systems increases the effort due to the
within a plant higher amount of communication channels
Testability The degree of the effort to test a system (plant) including test Very high The test of distributed systems is much more extensive.
preparation, test execution and interpretation Interfaces have to be well-defined while engineering.
Dependencies between modules have to be considered
Interoperability The ability of systems and components to communicate with High Because of the increasing effort of communication between
each other local or distant regardless of which medium devices in distributed systems, it is difficult to maintain
the same degree of interoperability
Time behavior The response and processing times and throughput rates of a Very high Distributed systems cause longer response times due to the
system when performing its function, under stated increasing effort of communication. It is important to
conditions in relation to an established benchmark attend to real-time requirements during design. In worst
case the cycle times of devices are summed up
Resource utilization The amounts and types of resources used when the software Very high The simultaneous use of resources leads to the need of access
performs its function under stated conditions in relation control. Resource constraints exacerbate deployment
to an established benchmark
Reliability The ability of a system to perform and maintain functions in High Reliability of a component can be identified independent of
routine circumstances in a specified duration the system. In a central system the danger of a breakdown
of the whole system is higher than in distributed systems.
Otherwise there are additional possibilities for failures
due to the higher effort of communication
Fault tolerance The ability of a system or component to operate correctly High Since each of the system components might have several
despite the presence of faults failure modes, ensuring fault tolerance of the complete
distributed systems is a big challenge

3.2. State of the art brainstorming, and using checklists (Blanchard, 2004). Further meth-
ods, like e.g. the quality function deployment (Chan and Wu, 2002),
In the following, the state of the art regarding requirements engi- are proposed by research. However, which practices are really per-
neering in the context of aPS is described. At the beginning, the elic- formed is project and company specific (Bellgran and Säfsten, 2010).
itation and the documentation, the refinement and the formalization
of requirements are dealt with in general. Subsequently, we describe
previous work concerning requirements engineering in aPS to tackle 3.2.2. Documentation of requirements
the challenges described above. Following the “IEEE Guide for Developing System Requirements
Specification”, first raw requirements result, among others, in doc-
3.2.1. Elicitation of requirements uments describing the concept of operation as well as the system
General sources of requirements are usually stakeholders, docu- concept in an informal and rough manner which are to be devel-
ments, and systems in operation (Pohl and Rupp, 2011). Documents oped with the customer (IEEE-Standard 1233, 1998). These docu-
are usually law texts, norms and standards, internal quality guide- ments should already describe the requirements (1) unambiguously
lines and others. Systems in operations with similar purpose may give and consistently, (2) in a clear structure, (3) modifiable and extend-
information about good or bad practices and can therefore be used as able, (4) completely, and (5) traceably (Pohl and Rupp, 2011). This
a source of requirements. Stakeholders, especially the customers, are kind of description is also called “well defined requirements”, and
the main source of requirements for an aPS. Their requirements have “ill-defined requirements” may be transformed in a refinement pro-
to be communicated in a way allowing systematically documenting cedure (Braha and Maimon, 1997). Different literature proposes dif-
and analyzing the requirements (Pohl and Rupp, 2011). There are a ferent document types for the requirements documentation, as for
lot of techniques proposed in order to identify requirements. Com- example Blanchard (2004), Buede (2000), IEEE-Standard 1220 (1999),
mon techniques are conducting surveys and interviews, performing IEEE-Standard 1233 (1998) and Pohl and Rupp (2011).
62 B. Vogel-Heuser et al. / The Journal of Systems and Software 110 (2015) 54–84

3.2.3. Requirement refinement/requirement formalization In summary, the approach described in Haubeck et al. (2013) enables
Usually a requirement refinement has to take place in order a requirement verification during operation by (1) building models
to concretize the requirements resulting in an objective hierarchy. out of online measurements, (2) derive plant properties out of these
Haubeck et al. (2013), for example, derive four stages in the require- models, and (3) check those properties against specified limits.
ment hierarchy of a single system. Namely those are: Feldmann et al. (2014b) presented a light weight notational ap-
proach (cp. 3.3) to model requirements for testing and evaluated it
• Originating requirements: general requirements focusing on the
with experts from industry showing that the modeling approach pro-
boundary of the system and as design independent as possible.
vides the means to systematically, comprehensively and efficiently
• System requirements: derived from the originating requirements
specify mechatronic sub-systems as sensors and actuators. They in-
translated into engineering terminology (formalization).
troduced an integrated modeling notation of requirements and cus-
• Component requirements: system requirements broken down to
tomer functions based on function and requirement templates. One
subsystems or subcomponents.
important goal of the template specification was the early consider-
• Configuration item requirements: refined component require-
ation concerning the testability of requirements; therefore the valid
ments.
parameter range is explicitly included as well as the classification in
Similar hierarchies can be found in the other literatures, like functional or non-functional requirements, the priority and a descrip-
Blanchard (2004) and IEEE-Standard 1220 (1999). However, the hi- tion field. This approach is presented for the PPU scenario Sc12f in the
erarchy presented by Haubeck also refers to the process of formaliz- following to demonstrate different NFRs, i.e. fault tolerance (reliabil-
ing requirements. Originating requirements are usually documented ity), analyzability (maintainability) and time behavior.
in an informal manner, like text documents and tables formulated in
natural language. Translating the originating requirements into a for-
3.3. Requirements modeling of the PPU scenario Sc12-self healing
mal description results in the system specification which is a first de-
scription of how the requirements are to be realized (VDI/VDE 3694,
Referring to the self-healing scenario Sc12f of the PPU in
2008). Formalization may be a first refinement of the informal re-
Section 2.2 and the above mentioned challenge to include NFR
quirements (VDI/VDE 3694, 2008). However, informal requirements
into requirements modeling of aPS, the light weighted approach of
sometimes need to be defined on several or each hierarchical level
Feldmann et al. (2014b) is introduced. The realization of self-healing
(IEEE-Standard 1233, 1998).
functionality presumes analyzability of failures, i.e. failures have to
Formalization usually results in a set of models, and the variety of
be observable by the software (i.e., adequate sensors are installed to
used models is huge, and the choice of the right model type depends
identify a failure), and automatic compensation mechanisms (anal-
on the domain, industry branch, as well as the specific plant to be
ogously to maintenance instructions) have to be implemented (fault
designed (VDI/VDE 3681, 2005). The right model choice also depends
tolerance → reliability).
on the degree of granularity and the current refinement stage.
As a system may have a sequence of states, it is also possible for
requirements to relate to a reaction of an output resulting from an-
3.2.4. Requirements engineering for industrial aPS
other requirement. An example is the requirement “Fault manage-
For many aPS in operation, a formal specification has never been
ment” (cp. Fig. 5), which requires a reaction on the occurrence of
provided (Frey and Litz, 2000). This often includes that no assessment
alarm 104. Indicated by three levels in Fig. 5, requirements are used
of the quality of changes is done because of lack of time, or cost con-
to refine functionality, e.g., the function “Maintenance instructions”
straints, or missing measurements (Bellgran and Säfsten, 2010). Con-
(Fig. 5, right level 3) is derived based on the “Fault management” re-
sequently, a lack of explicit knowledge about the process behavior
quirement on the level above. The function “Maintenance instruc-
and its actual occurring properties unfolds.
tions” comprises the parameter “WP_jam”; the corresponding re-
An approach to narrow the knowledge gap, or even to close it, is
quirement on the same level defines the expected variation, i.e., pos-
by establishing an automatic linkage between evolving plant behav-
sible values of this parameter.
ior occurring due to performed changes and formally specified re-
To increase the quality of requirements Rösch et al. (2015) and
quirements in order to keep specifications up to date and consistent
Teufl and Hackenberg (2015) introduced description of behavior
(Haubeck et al., 2013). To establish this linkage, specifications should
based on MSCs included in the MIRA (Broy and Stølen, 2001) ap-
consist of interpretable models representing different aspects of the
proach and UML SD. Both approaches have been evaluated with the
plant. These models are directly connected to the actual system be-
crane being a part of the PPU. With MSC verification of the behavior
havior because they only contain information available during plant
is target at and with the UML SD the generation of test cases.
operation. In this way, the lack of explicit and up to date specification
can be alleviated because the models are automatically generated and
adapted by observing the in- and output data of the automation sys- 3.4. Research roadmap
tem. This approach cannot provide a complete specification of each
possible action of the production machine, but can satisfy the need of An adequate light weight and efficient way to model requirements
an evolution support with a minimal human effort in order to tackle for aPS and refine or change them during the design process needs
the practical problems of tight time and cost restrictions during evo- to be developed including both FR and NFR. NFRs should be oper-
lution. This helps keeping specifications up to date even after undoc- ationalized in a way that they are quantifiable but still technology-
umented evolution steps (Haubeck et al., 2013). independent. Thus, their continuous fulfillment can be verified before
Additionally, the adapted models are specified in such a way that and after an evolution step, despite of changes of the implementation
they can be analyzed in order to derive current plant properties. Here, technology.
especially non-functional properties like “performance” and “flexi- An adequate support for aPS is still missing, which is on the one
bility” (which is part of “modularity”) are of interest. These prop- hand manageable regarding effort needed and benefit gained and
erties can be operationalized in a way that they are measurable which on the other hand copes with variability and version manage-
by the available online measurements (Ladiges et al., 2013). Subse- ment also of sub-systems. Besides, the maintenance of requirements
quently, the properties can be checked against specified values for re- seems to be an issue also from the viewpoint of roundtrip or reverse
quirement verification. In accordance, the needed assessment of per- engineering (from code/mechanical feature/automation hardware
formed changes can then be done automatically while still providing feature to model to requirement or directly from code/mechanical
information on the abstraction level of operationalized requirements. feature/automation hardware feature to requirement), tracking of
B. Vogel-Heuser et al. / The Journal of Systems and Software 110 (2015) 54–84 63

<<function>> <<requirement>> <<function>>


Sorting of workpieces Sorting and transportation Maintenance instructions
Content FID = 1 − Content RID = 1 − Content FID = 3 −
Description = Sorting of 3 WPs. Description = The 3 WPs must be sorted. Sorting time < 10 Description = Manual fault management.
sec. (if time limit is reached alarm 103 is given). ….
Component = conveyor belt Components = pusher 2, WP
Sketch/ model Parameter
Name Type Dir.
<<requirement>> WP_jam Real InOut
... ... ... ...
Parameters ...
Level 1
<<requirement>>
... Name of the
<<function>>
funct
c ion>> <<requirement>> requirement
Sorting of workpieces Fault management <<requirement>>
Content
tent FID = 2 − Content RID = 2 − Content of the
Description = If alarm 104 occurs, machine switches to
WP jam
Description = Sorting
orting at pos
position
o ition 2
2. requirement
manual mode. Show maintenance instructions to operator.
Content RID = 4 −
Component = sorting
orting 3 Description = The operator must check e.g., ID, description,
Operator acknowledges for automatic mode.
Sketch/ model Component = sorting 2
whether a jam of the WP occurred and has to components and
remove it manually. evaluation (automatic/
evaluation = manual, automatic
Components = pusher 2, WP semi-automatic/
Parameters ... Parameter variation Evaluation = manual manual)
Name Dir. Variation
<<requirement>> Alarm Out {none, 104} Parameter variation
Push WP Sens_Slide In {True, False} Name Dir. Variation Parameter Variaton
Content RID = 3
Mode InOut {automatic, manual} WP_Jam InOut {True, False} (relevant intervals of
Description = Pushing of WPs at position
2. If WP is not sorted within 3 sec. alarm FaultAcknowledge In {True, False} the parameters, e.g.
104 is issued. min., max., step size)
... Level 2 Level 3
Fig. 5. Requirements and functions of scenario Sc12 (refinement based on Vogel-Heuser et al., 2014c).

requirements to design and maintain along life-cycle and vice versa levels. While syntactic consistency of interfaces is largely solved, en-
and cross variants and versions is mandatory. suring the semantic consistency of interfaces is a problem, i.e., even
though interfaces match on the syntactic level of messages or meth-
ods, the behavior of a component may change in such a way that an-
4. System design
other component does not work anymore. Problems here could be
a change in the order of sending messages in specific situations or
In the discussion of the system design phase, we cover both the
a change in how subcomponents are connected and interact result-
overall system design as well as the detailed design of different parts
ing in changes in the real-time behavior. In mechanical systems, in-
of the system. This includes both the individual system parts and also
terfaces can be distinguished as material, information, energy flows
the different involved disciplines. The section will at first discuss the
(Pahl and Beitz, 1997). Here, interface mismatches could be results of
challenges separated into consistency in structural design and be-
changes in material flow characteristics like type of material or vis-
tween other systems design aspects as well as architectural techni-
cosity of fluids.
cal debt followed by the state of the art with the same sub-structure.
While engineering approaches exist in the different disciplines to
The first two challenges are explained using the PPU case study. The
address these problems (e.g., architectural description languages in
chapter is concluded with the roadmap.
software engineering Medvidovic and Taylor (2000), the problems
become more difficult to identify and solve if a change in one dis-
4.1. Challenges cipline’s parts results in problems in another discipline. For example,
the change of a feedback controller in the control model could result
aPS consist of mechanics, automation hardware incl. in characteristics of system inputs (e.g., limits on the value or change
electrics/electronics, and software. They are built by mechanical rates), that the employed mechanical actuactor might not be able to
engineers, electrical engineers and software engineers. For specific satisfy. A similar problem arises if a sensor is replaced in the mechan-
tasks, also more than one electrical engineering discipline, e.g. drives, ical system that has different quality characteristics, which affect the
closed loop control and human machine interfaces, will be included. quality of a feedback controller of the software.
A result of that is that the different parts of the system design are
built iteratively and according to methods and tools of the different
4.1.2. Consistency between other system design aspects
disciplines. Consequently, evolution challenges in the system design
The complete system design covers different aspects
do not only cover the evolution of each discipline’s design, but also
(Goldschmidt et al., 2012). Examples of these aspects are require-
the evolution between the disciplines and are conducted in iterations
ments, structure, and behavior that are relevant for all disciplines
between the disciplines.
or discipline-specific aspects like spatial information about the
mechanical system. However, the different aspects typically contain
4.1.1. Consistency in the structural design overlapping information whose consistency needs to be ensured.
An important part of the system design is the definition of compo- In software systems, the structural aspect can be a specification
nents and interfaces, which in software engineering is called the ar- of the architecture, which contains components and connectors
chitectural configuration (Barais et al., 2008; Medvidovic and Taylor, including definition of messages, which are exchanged between the
2000). During evolution, the engineers working on the different parts components over the connectors. The behavioral aspect can be a
of the architecture will evolve their respective system parts. Evolving set of state machines, which define the behavior of the components
the design of an industrial system is already difficult if only one dis- and specify the exchange of the messages. Considering these two
cipline is concerned as the discipline’s system design can reach high aspects, the message definition is an overlapping information as it is
levels of complexity. specified both in the structural aspect and in the behavioral aspect.
On the software side, a typical problem is the consistency between Inconsistencies arise if during the evolution now one of the aspects
interfaces of components both on the syntactical as well as semantic is changed but not the other.
64 B. Vogel-Heuser et al. / The Journal of Systems and Software 110 (2015) 54–84

Fig. 6. State chart for manual mode (scenario Sc12, left) and self-healing mode (scenario Sc12f, right) as an excerpt of a simplified software architecture based on plcUML
(cp. Witsch and Vogel-Heuser, 2011), refinement based on (Vogel-Heuser et al., 2014c).

Fig. 7. Fault tree of the PPU’s scenario Sc12 (Vogel-Heuser et al., 2014c).

Similar issues arise between the different disciplines. An example defines three modes of the PLC software with respect to behavior in
is the specification of deployment information in a software architec- case of a failure. In both scenarios, the expected time for extract-
ture model that defines which automation hardware certain software ing the pusher is monitored (“TimerPusher” in Fig. 6, Timer “p1” in
components will be executed. The electrical part of the system archi- Fig. 7). As it can be seen in the figure, the state machine explicitly
tecture has to cover also the information about execution hardware. refers to sensors. Thus, a change in the mechanics and/or automation
Furthermore, the electrical architecture needs to contain the commu- hardware by replacing or removing the sensors will lead to problems
nication buses, which the software components use for their commu- in the state machine of the software. The additionally installed sen-
nication. Similarly, the mechanical system needs as well to consider sors in scenario Sc12f compared to scenario Sc12 allow for detect-
the execution hardware and its cabling in the 3-dimensional physical ing a WP jam. The analog transducer measuring the position of the
specification of the system. pusher (“Sens_Transducer” in Fig. 6, “p3” in Fig. 7) indicates that the
In the following, we give a concrete example of overlapping in- pusher blocks at a certain position. The sensor measuring the pneu-
formation between the designs of the different disciplines. Fig. 6 matic pressure is used to exclude a failure at the pneumatic system
shows an excerpt of the state chart of the PPU’s scenario Sc12 (manual leading to a not extracted pusher, too (“Sens_Pressure” in Fig. 6, “p4”
mode, left) and the self-healing mode in scenario Sc12f (right) which in Fig. 7). The sensor at the infeed of the slide (“Sens_Slide” in Fig. 6,
B. Vogel-Heuser et al. / The Journal of Systems and Software 110 (2015) 54–84 65

“p2” in Fig. 7) detects that the expected workpiece did not reach the ered, which leads to the necessity of on-site adaptation during com-
slide. missioning and start-up even. In plant manufacturing industry, ma-
Similarly, a change in the characteristics of the execution time chines size parts may be assembled in the facilities of the supplier,
of the pusher will lead to different behavior of the state machines but most of the equipment will be installed on-site for the first time,
since the state machine refers to the execution time of the pusher as which leads to decisions under time pressure neglecting architectural
guards in the transitions, e.g., in the outgoing transitions of the state concepts.
“Eject_WP” at the bottom of the state machine.
A special case of the previous challenge is the impact of architec- 4.2. State of the art
ture and architectural evolutions on non-functional (quality) proper-
ties of the system (cf. Section 3). Particular examples are the relations In the following, we review current approaches, which address the
between the system architecture and probabilistic non-functional mentioned challenges directly or provide technology which can be
properties like safety (cf. Grunske and Han, 2008), availability, and used to address the mentioned challenges.
reliability. That means, that a change of the architecture to incor-
porate new functionality or an architectural refactoring, which does 4.2.1. Consistency in the structural design
not influence the functionality, can at the same time also change the Ensuring the consistency of the structural system design, particu-
system’s non-functional properties. Quality models like fault trees, larly between the designs of the different disciplines, can be achieved
queuing networks and Markov chains are used to estimate the non- by using specification languages that specifically address the design
functional properties for systems. A consistency between the qual- related to the multiple different disciplines. CONSENS (Anacker
ity models and the system and its architecture is therefore crucial. et al., 2011) – CONceptual design Specification technique for ENgi-
That means that after an evolution the quality model estimation re- neering of complex Systems – is a method and specification language
sults should still be consistent with the actual system’s behavior by that targets the overall, discipline independent system design. CON-
propagating the changes (e.g., new components, changed connectors) SENS supports the specification of different system aspects. Examples
of the system to the quality model. Additionally, the quality model are the structural specification in the form of the active structure that
needs to be updated at run time with respect to parameters (e.g., fail- covers the overall system structure of all disciplines on a high level,
ure rates, speed of physical items) of the running system. behavioral specification in form of state machines, the functional
As an example, Fig. 7 shows a fault tree of one of the PPU’s evo- hierarchy that covers the functional requirements of the system,
lution scenarios (Vogel-Heuser et al., 2014c). The fault tree refers to and CAD-models for the 3D-design. The main idea of that approach
elements of the system architecture, for example the mechanics part is to cover all relevant aspects in a single high-level specification
of the fault tree refers to a compressor and in the automation hard- abstracting from the details of the different disciplines. This high-
ware part events refer to I/O module, broken wires, and sensor fail- level specification is then detailed by each discipline. Additionally,
ures. Consequently, the consistency between the fault tree and the the high-level specification enables the engineers of the different
system architecture needs to be ensured so the fault tree does not re- disciplines to identify changes during evolution that may affect other
fer to non-existing architectural elements, and all relevant failures of disciplines as well. Based on the identification of these changes, Rieke
the system architecture elements are covered in the fault tree. Getir presents an approach to synchronize changes between the high-level
et al. (2013) show, also on the PPU case study, that the evolution be- specification of CONSENS and the discipline-specific specifications
tween system architecture and fault frees cannot be automated and to ensure consistency between them using Triple Graph Grammars
that instead expertise from engineers is required to correctly evolve (Rieke, 2015).
both the system architecture and the system’s fault trees to ensure The MechatronicUML (Heinzemann et al., 2013) is a modeling lan-
consistency. guage and process for the engineering of mechatronic systems. It is
Even if the consistency problem is addressed, the actual solving of based on a rigorous specification of structure and behavior based on a
the quality models is time-consuming. Here, incremental approaches refinement of the Unified Modeling Language (UML) (Object Manage-
(cp. Section 6) are required, which reuse results of unchanged parts ment Group, 2011). With respect to consistency in evolution, it specif-
of a quality evaluation model to improve the performance. ically supports the software engineering and control engineering dis-
ciplines and ensures the consistency of their structural designs, i.e.,
4.1.3. Architectural technical debt the software architecture – components, ports and connectors – and
Recently, the term “technical debt” has been coined (Kruchten block diagrams for the specification of feedback controllers. Further-
et al., 2012) for the effects when sub-optimal solutions are chosen more, the MechatronicUML also supports the specification of archi-
to meet short-term goals similar to financial debt. In the long run, in- tectural reconfiguration, e.g., creating, deleting component instances,
terest has to be paid due to the effects of the chosen sub-optimal so- ports and connectors, blocks and inputs/outputs. Again, consistency
lution that makes future development more difficult. In the context of is ensured by checking that both the software architecture as well as
(software) architecture, this is known as architectural technical debt. the block diagrams reconfigure consistently with respect to compo-
In a multiple-case embedded system case study in 5 large software nents, blocks, ports, and inputs/outputs.
companies (Martini et al., 2014), different factors for architectural Another approach for ensuring the consistency in the design
technical debt have been identified, like pressure to deliver, prioriti- of embedded automation systems is the Systems Modeling Lan-
zation of features over products, non-complete refactoring, or tech- guage (SysML) (Object Management Group, 2012; Weilkiens, 2008),
nology evolution. An identified example of architectural technical which is a profile for the UML. The SysML solves the consistency
debt was a situation where a company used three different communi- problem by providing a single modeling language which covers not
cation networks in a system, decided to refactor the complete system only the software engineering aspects as the UML, but can also be
towards using a unified communication networks to make evolution used to specify other system design aspects like block diagrams.
easier. However, during the refactoring, difficulties and time pressure SysML4Mechatronics (Kernschmidt and Vogel-Heuser, 2013) is a lan-
lead to only a partially refactored system with the result that now guage for interdisciplinary modeling, which addresses mechanical,
the system has four different communication networks which makes electrical/electronic and software aspects in product automation and
it even more costly to evolve. The concept of architectural techni- for aPS explicitly. A formal semantics for automatic verification of
cal debt is unfamiliar for aPS so far. Especially in plant manufactur- structural compatibility has been proposed (Feldmann et al., 2014a),
ing industry, the architectural technical debt may be high because but verifying functional conformance is not considered yet. Shah
of unexpected environmental conditions in the country to be deliv- et al. (2010) present a multi-discipline modeling framework based
66 B. Vogel-Heuser et al. / The Journal of Systems and Software 110 (2015) 54–84

on SysML. The approach prescribes structural, behavioral and this kind of additional annotations (Giese and Tichy, 2006; Grunske
requirements aspects each composed into a common model. Trans- et al., 2005; Papadopoulos et al., 2001). Tribastone and Gilmore
formations are used to map between different discipline-specific (2008) and Becker et al. (2009) propose similar approaches address-
SysML profiles, but verifying model correctness is not addressed. ing performance.
A formal modeling framework for verifying aPS’ engineering mod- Those approaches are restricted to be used during the design of
els has been proposed in (Hackenberg et al., 2014). The formal mod- the system as they only use assumptions of the behavior of the sys-
els contain the necessary aspects for verifying the system’s correct- tem with respect to its characteristics affecting probabilistic qual-
ness after evolution changes. The approach is based upon three basic ity attributes, e.g., failure rates, performance of certain parts. Con-
viewpoints: the requirements viewpoint enables to concretize from sequently, the analysis results could be significantly different from
abstract aims of the aPS via design decisions to specific requirements the actual behavior of the system. The approaches of Filieri et al.
imposed on the aPS. The process viewpoint targets the specification (2012), Goševa-Popstojanova and Trivedi (2001), Zheng et al. (2008),
of the technical process to be implemented by the aPS independently and Filieri et al. (2015) address this problem by inferring the charac-
from a specific solution. Therein, aspects from multiple disciplines teristics at runtime from the running system in order to increase the
are included describing how a specific product is manufactured. The accuracy of the quality predictions. For example, Filieri et al. (2015)
system viewpoint models the actual implementation of the aPS con- combine a Kalman Filter with self-adaptive behavior in order to both
taining the necessary aspects of the involved engineering disciplines reduce noise and increase the speed of responding to changes in the
(software engineering, electrical engineering, and mechanical engi- behavior of the system.
neering). For modeling these viewpoints, the modeling framework With respect to incremental analysis approaches for non-
relies on the Focus theory (Broy and Stølen, 2001) which provides functional properties, Kwiatkowska et al. (2011) present an incre-
strict formal semantics. mental technique for quantitative verification of Markov decision
processes, which is able to reuse results from previous verification
4.2.2. Consistency between other system design aspects runs and exploiting a decomposition of the model. Similarly, Song
Addressing consistency basically requires two activities. First, in- et al. (2013) propose a compositional approach for the probability
consistencies need to be identified. Secondly, the inconsistencies reachability analysis of Discrete Time Markov Chains that decom-
need to be repaired. One major language for the definition of con- poses the system into strongly connected components or even parts
sistency constraints is the Object Constraint Language OCL (Object of them, analyze them using Gauss–Jordan Elimination (Althoen and
Management Group, 2014), which allows for the specification of con- McLaughlin, 1987), and afterwards use value iteration to compute
straints based on first-order predicate logic. The constraints are spec- the result for the complete model based on the individually ana-
ified on the meta model of the modeling language and executed on lyzed parts. The performance improvement by their approach, how-
the abstract syntax of the model, i.e., they concern only the static and ever, depends highly on the employed decomposition algorithms.
not the dynamic semantics. A rule based approach to identify struc- Both approaches further enable parallelizing the analysis due to the
tural inconsistencies during evolution of aPS is presented in Strube decomposition.
et al. (2011).
Dynamic semantics is concerned with behavior of the model.
4.2.3. Architectural technical debt
Here, approaches can be used, for example, to compare whether two
One specific type of architectural technical debt (Martini et al.,
finite automata are consistent by identifying whether one simulates
2014) is non-compliance between architectural guidelines and the
the other or both simulate each other (bisimulation) (Clarke et al.,
system architecture. Architectural guidelines, patterns and styles
1999). Bisimulation intuitively means that one automaton shows the
have been presented in Buschmann et al. (1996). A specific architec-
same behavior as the other one. More complex relations (called re-
tural pattern for embedded systems is the Operator Controller Mod-
finement notions) between automata exist, which can be used to
ule (OCM) (Burmester et al., 2008), which defines concrete layers and
define and check various degrees of consistency (Baier and Katoen,
interfaces between them for different parts of the embedded soft-
2008; Heinzemann and Henkler, 2011; Jensen et al., 2000; Weise and
ware – feedback controllers, hard real-time communication and re-
Lenzkes, 1997).
configuration of the feedback controllers, and a soft real-time layer.
With respect to the repair of inconsistencies, approaches have
Herold et al. (2013) present an approach to automatically check
been proposed to use OCL constraints and the part of the constraint,
the conformance of the architecture against guidelines and architec-
which has not been satisfied, to create an appropriate repair action
tural styles. Their approach formalizes architectural compliance rules
(Nentwich et al., 2003). In the area of model transformations, Bidi-
using first-order logic and provides a checking algorithm. A com-
rectional Model Transformations like JTL (Cicchetti et al., 2010) and
plementary approach has been proposed in Herold and Mair (2014)
Triple Graph Grammars (TGG) (Hermann et al., 2014; Hildebrandt
which uses a meta-heuristic to efficiently search for violations of ar-
et al., 2013; Schürr, 1995) have been developed to transform between
chitectural compliance rules and to propose a sequence of repair ac-
models. They enable the synchronization of different design aspects
tions to remove the identified violations automatically.
by re-creating one model from the other and, thus, ensuring consis-
tency by construction. Transformation languages that support incre-
mental change propagation (Giese and Wagner, 2009) are particularly 4.3. Research roadmap
interesting as they enable to only propagate single changes from the
source, i.e., they change only those parts of the target model which To cope with cross-discipline evolution the prediction of evolu-
are affected by the change in the source. This enables preserving tion steps and synchronization milestones for evolution to ensuring
manual changes in unrelated parts of the target. In contrast, non- consistency should be in focus of research. Particularly, the different
incremental approaches, which fully recreate the target model, will modeling approaches for aPS need to consider the use case of mod-
each time overwrite manual changes also in those parts of the target eling a big system with many different developers in distributed lo-
which are not affected by the changes in the source. cations and companies (producer and suppliers) and with a different
Several approaches specifically address the consistency of archi- education (developers vs. on-site technician). While technical solu-
tectures and quality evaluation models, e.g., Markov chains, fault tions are available to work on one or multiple models concurrently
trees and Queuing Networks. These typically enrich the architecture and to ensure consistency, unanswered questions are, how much con-
model with annotations about, for example, failures, failure rates, sistency is necessary and when it is necessary to be consistent during
and abstract behavior. Most approaches addressing safety employ the development of a big aPS.
B. Vogel-Heuser et al. / The Journal of Systems and Software 110 (2015) 54–84 67

Tcycle Tcyc le Tcyc le

C C

I X O Wait I X O Wait I X ...


violation of real-
TI TX TO TW time requirement

Fig. 8. Schematic view on cyclic polling real-time systems.

First steps towards addressing technical debt generally in aPS have practice in the next 5–10 years. Therefore, by focusing on IEC 61131-3
been recently proposed by Vogel-Heuser et al. (2015). Particularly re- compliant code, a wide range of applications can be addressed. Con-
lated to decreasing architectural technical debt, the impact of cross sequently, the focus in this article is on aPS controlled by PLCs that
discipline decisions should be predicted and visualized referring to use an IEC 61131-3 compliant runtime environment.
the functional and non-functional requirements influenced. The non- PLCs are characterized by their general cyclic data processing be-
compliance between architectural guidelines and system architecture havior, which can be divided into the following steps: 1. read input
should be evaluated qualitatively and quantitatively for controlling values (I), 2. execute task(s) (X), 3. write output values (O), 4. wait
purposes during and after the individual project. Additionally, a syn- (W). This whole sequence is called cycle (C) (cp. Fig. 8). PLCs execute
chronization mechanism for reused components of the system in- cycles continuously. Assuming the number and bandwidths of input
cluding their versions across-projects is needed. and output signals is constant for a running system, the durations
Quality evolution models are used to validate whether the system needed for reading input (TI ) and writing output values (TO ) are also
satisfies quality requirements, like performance, throughput, safety, constant (but generally different).
availability, and reliability. However, if a system is large, the time to However, if the algorithms and the tasking situations are equal
analyze the quality evaluation models increases. Here, there is still between two cycles Cj and Ck , the durations TX,j and TX,k are also equal.
the need to develop incremental and compositional approaches for As real-time systems, PLCs ensure that the duration Tcycle between
the analysis of quality evaluation models. Incremental means that the two cycles Cn and Cn+1 is always constant and that within each cycle,
change in the quality evaluation models due to an evaluation are ex- all signals can be read (I), processed (X) and written (O).
ploited to only re-analyze the changed parts and other relevant parts, The IEC 61131-3 standard contains both textual, i.e. Structured
but not parts that do not need to be re-analyzed. Text (ST) and Instruction List (IL), as well as graphical programming
Compositional means that the quality evaluation models are de- languages, i.e., Function Block Diagram (FBD), Ladder Diagram (LD)
composed and individually analyzed. The individual results then and Sequential Function Chart (SFC). Furthermore, the standard de-
need to be appropriately integrated. Both techniques allow analyzing fines three types of Program Organization Units (POUs) for structur-
large systems during evolution. While some approaches have been ing and reusing the PLC code. A program (PRG) represents the assem-
developed, the application to aPS is missing. However, aPS provide a bly of logical elements necessary for the machine or process control
good application area as they use reusable components to build large by a PLC. One PRG is the main program and thus provides the entry
aPS and thus their design is a good match for compositional analysis. point into the plant code. Function blocks (FBs), which calculate out-
An important question however is whether the composition imposed put values based on input and persistent internal values, and Func-
by the architecture of aPS is both suitable for designing the system tions (FCs), which yield the calculation of a result value based solely
during development and at the same time also suitable for a good de- upon input values, can be combined within a PRG. Furthermore, PRG
composition for a compositional analysis. Or in other words, it could and FB types are instantiated during design time and hold their data
be the case that the composition by the architecture yields a bad (in memories within PRG and FB instances during run time. Thus, data
terms of performance) decomposition for the analysis, particularly, exchange is realized between POU instances, namely PRG and FB in-
the incremental analysis. In that case, not only a different decompo- stances as well as FCs: a PRG instance can call FB instances and FCs,
sition for analysis than for the system architecture but also different and a FB instance can call further FB instances and FCs, but FCs can
decompositions for different types of quality requirements might be only call other FCs as no data memory is stored within FCs.
required. Despite efforts toward including object-oriented programming
Furthermore, aPS are developed by engineers from different dis- aspects within IEC 61131-3 (IEC, 2013), the standard in its current
ciplines and changes happen both during design as well as during version has not yet been fully established in the industry. Thus,
operation. As quality requirements are typically cross-cutting and we focus on IEC 61131-3 without object-oriented extension (IEC,
are affected by changes from all disciplines, it remains to be stud- 2009), which is mostly used within state of the art industrial applica-
ied, how the multi-disciplinary character of aPS effects decomposi- tions (Thramboulidis and Frey, 2011).
tions, as well as how technicians working on the plant’s site can use
these analysis tools to re-asses quality requirements after a change on 5.1. Challenges
site during maintenance (or during operation, in case of aPS systems
which cannot easily be switched off). Evolution of software functions in aPS requires the modification
of the implementation of the functions. Modularity is still rarely fully
5. System realization and implementation applied in aPS software: “Reusable artefacts are mostly fine-grained
and have to be modified on different positions, so that errors are
Along with an aPS’s overall complexity, the automation software’s probable and important reuse potential is wasted” (Maga et al., 2011).
complexity is growing as well. Since the proportion of system func- Reuse is mostly achieved through copy, paste and modification ac-
tionality that is realized by software is increasing (Thramboulidis, tions (Katzke et al., 2004). Feldmann et al. (2012) identified as rea-
2010), concepts for supporting automation engineers in handling this sons for this situation: the multitude of disciplines involved (such as
complexity are required. According to ARC (2011), in most manufac- software engineering, automation engineering, mechanical engineer-
turing systems the use of IEC 61131-3 (IEC, 2009 , 2013) compliant ing, electrical engineering, safety engineering, perhaps also chemical
runtime environments currently is and will be the state of industrial engineering), and the interdependencies of software modules with
68 B. Vogel-Heuser et al. / The Journal of Systems and Software 110 (2015) 54–84

mechanical and electrical modules (Jazdi et al., 2011). The evolution ture, missing abstraction, and non-modular implementation are typ-
of aPS especially during operation as discussed in scenario category ical indicators of an ongoing decay of the software system. Particu-
“V” (Table 1) is performed on code level by suppliers’ start-up person- larly, Abbes et al. (2011) have shown that the presence of two anti-
nel or customers’ operation staff with limited software education, but patterns impedes the performance of developers. Similarly, Sjoberg
huge knowledge about the process. This may lead to inconsistencies et al. (2013) conducted a large-scale study and concluded that code
between implementation and design artifacts as well as to unclear smells are good indicators for assessing maintainability on file level.
code structure (Katzke et al. 2004; Vogel-Heuser et al. 2014a). While other studies show that perception of code smells may differ
But also in traditional software engineering, the main technique between developers (Yamashita et al., 2012), it is generally admit-
to derive adapted or improved implementation versions of software ted that code smells hinder evolution because they impede extending
functionality is clone and own (Ray and Kim, 2012). The main idea and maintaining the underlying system.
of clone and own is to copy existing code and modify the copy until Besides the necessity to restructure legacy code, the best compo-
the desired functionality is realized. Clone and own has high reuse nent size is one of the main challenges while evolving aPS. Another
potential without requiring much additional effort. Its main draw- one is to evolve the software in a way such that a clear, maintainable
back is, however, that it leads to unclear code structures that may and extendable code structure is kept. This is particularly important
hinder maintenance and further evolution. For example, if a bug is as aPS needs to satisfy real-time and safety-critical requirements. Fur-
discovered in one part of the software, it may also be contained in thermore, consistency and traceability to other design artifacts need
cloned parts. But as these are not documented, those cloned bugs to be maintained. Additionally, version control systems are required
are sometimes difficult, if not impossible, to discover. Additionally, to keep track of the changes in the code in order to allow tracing
changes in the code may further lead to a decay in the code struc- changes over a number of software versions and variants.
ture impeding understandability and maintainability, as, for instance,
modularity boundaries or architectural design decisions are broken 5.2. State of the art
by the changes. Furthermore, code changes may lead to inconsisten-
cies between the implementation and other design artifacts. Software Design patterns such as those proposed by Gamma et al. (1994),
engineering for aPS is still struggling with modularity and the best are means in classical software engineering to support code modu-
level of software component size (Feldmann et al., 2012, 2015; Maga larity and evolution. Most design patterns deal with modularizing
et al., 2011) and the interfaces between these components. Katzke design decisions on code level so change can be applied locally in
et al. (2004) and Maga et al. (2011) found different component sizes order to keep well-structured code. Amaptzoglou et al. (2011) reveal
in aPS software (called granularity) and described the challenge to that using design patterns increases reusability, and thus, supports
choose the best size and interface in between components for reuse the evolution of software systems. However, other studies also indi-
and evolution. As a disturbing factor, cross component functions such cate that design pattern may also impede evolution and maintenance
as fault handling and modes of operation (manual, automatic) occur. and have to be applied properly (Khomh et al., 2008, 2009).
Because in the plant manufacturing industry software engineering Despite a multitude of work within high level programming lan-
has been mostly project driven for decades, the challenge is to re- guages, design patterns have been scarcely considered within the PLC
structure legacy code from different projects with similar or even programming domain. Efforts towards evaluating different methods
equal functionality. To make things worse, the different platforms of implementing logic control algorithms within IEC 61131-3 were
(Section 2.2) require software variants for the same functionality due conducted (Hajarnavis and Young, 2008), but specific patterns have
to different IEC 61131-3 dialects. not been derived yet. However, design patterns within control engi-
Code clones have been known for more than two decades as se- neering would address a multitude of issues such as controller design,
rious flaw that may impede evolution. For instance, Juergens et al. architectural design as well as implementation aspects (Sanz and
(2009) have shown that code clones are more prone to introduce Zalewski, 2003). Patterns have been especially investigated within
errors. Moreover, Harder and Tiarks (2012) have shown, that error- the emerging model-based design of automation software, e.g., using
correcting tasks tend to be incorrect in the presence of clones. How- UML (Fantuzzi et al., 2009). The authors introduced design patterns
ever, in the recent past, code clones have been seen not only as num- for solving typical problems such as hierarchical control, alarm han-
ber one smell of source code anomalies. Most importantly, Kapser dling and motion control using state charts as well as guidelines for
et al. (2008) provide a methodology of how cloning is used as a reuse implementing these patterns in IEC 61131-3 programming languages
techniques such as, by using templating or forking to evolve software (Bonfè et al., 2013). In Preschern et al. (2012), patterns for improv-
systems. Especially with current source code management systems, ing system flexibility and maintainability are introduced. In Fay et al.
this may be a very reasonable way to make use of existing, reliable (2015), an approach is presented which integrates the use of function-
code. However, managing the evolution of cloned code itself may oriented design patterns into the engineering workflow of aPS to as-
be challenging, especially the fact that developers must be aware of sist the designer regarding the fulfillment of NFRs. It could be shown
changes that possibly have to be propagated, which is usually a te- that the application of these design patterns has a positive impact on
dious and time-consuming task (Bettenburg et al., 2009; Ray and Kim, the correct design of the software functions and on the appropriate
2012). Unfortunately, neither clone detection nor code management deployment to automation hardware (Fay et al., 2015).
systems, beside simple versioning, are available for aPS development Fuchs et al. (2014) conducted a detailed analysis of IEC 61131-3
platforms and IEC languages, yet. As mentioned above, the challenge code from machine manufacturing industry and introduced an anal-
in aPS is that “clones” are embedded in different projects and even- ysis and visualization approach. Using this approach, dependencies
tually on different platforms, i.e. PLC suppliers, which is certainly and encapsulations of software units were analyzed, and first com-
a necessary advancement in clone detection mechanism. Addition- mon software design patterns derived. Using industrial applications,
ally, clones are not only software clones but of course also mechanic the appearance of the machine code design patterns were evaluated
clones and electric/electronic clones embedded in different engineer- and discussed regarding their benefits and programmer’s intention
ing tools. with industrial experts. Feldmann et al. (2012) and Fuchs et al. (2012)
Beyond code clones, a broader notion of code smells has been in- analyzed and refactored the software structure on IEC code level in
troduced (Fowler, 1999) and extended by the notion of anti-patterns an industrial case study in a world market leading plant manufactur-
(Brown et al., 1998). Both terms describe the fact that design and ing company. Following the approach of large universal components
implementation of a software system may exhibit certain anomalies including all relevant variants by switching functionality on and off
due to non-controlled evolution. For instance, a diverging architec- leads to a code overhead of 80% useless code for many machine
B. Vogel-Heuser et al. / The Journal of Systems and Software 110 (2015) 54–84 69

code changes may lead to inconsistencies between the implementa-


tion and the library as well as other design artifacts (Vogel-Heuser
and Rösch, 2015), discussed using the PPU case study and the replace-
ment of a binary sensor by an analogue one to increase the accuracy
of pushing the work pieces into the slides and detecting the potential
faults.

5.4. Research roadmap

An analysis of existing PLC code variants and variability manage-


ment mechanisms in different world market leading plant manu-
facturing industry companies including organizational and qualifica-
tion aspects will be beneficial to achieve a deeper understanding of
the underlying requirements and mechanisms hindering modularity
Fig. 9. Evolution on code level (FBS IEC 61131-3) from scenarios Sc12 to Sc12f (excerpt, in plant manufacturing industry. Advanced clone detection mecha-
blue – changes for scenario Sc12f). nisms are required for aPS to detect clones in the different disciplines
as well as software clones across projects and even worse across
different platforms based on model transformation and PLCopen
variants and the lack of comprehensibility as well as maintainability.
XML.
The case studies’ success resulted from restructured code consisting
While refactoring is a generally accepted approach in software
of smaller components by encapsulation of functions as well as sepa-
engineering to improve code structure, the specific settings of aPS
ration of code functions, i.e. diagnosis, human machine interface etc.
that are, the close relation of mechanic and automation hardware
For IEC 61499-based applications (IEC, 2011), common solutions
and software and their multi-disciplinary nature, the strong relation
and guidelines were proposed for hierarchical automation solutions
to different regional market leading platforms as well as the need
(Zoitl and Prähofer, 2013), failure management (Serna et al., 2010) and
for adjustment during operation, and the existing project oriented
portable automation projects (Dubinin and Vyatkin, 2012). Even soft-
legacy code poses new challenges for refactoring that have not been
ware design patterns for IEC 61499 programs, e.g., Distributed Appli-
addressed so far. A particular research question is to come up with
cation, Proxy and Model-View-Controller, were defined (Christensen,
refactoring operations that work across the different disciplines and
2000) and evaluated (Strömman et al., 2005). However, although
projects including legacy code in order to improve the overall struc-
IEC 61499 runtimes on state of the art controllers exist (Vyatkin,
ture of the system in all its parts, while maintaining the fulfillment of
2011), “IEC 61499 has a long way in order to be seriously considered
the NFRs.
by the industry” (Thramboulidis, 2013).
Design patterns have been shown to be beneficial for software
Besides the aforementioned shortcomings, best practices have
developers in order to provide more reusable, maintainable and
been proposed that overcome code anomalies and, thus, improve and
evolvable code. For aPS, design patterns have not yet been developed
retain evolvability of software systems. The most popular means is
extensively. So, an important research question in this respect is to
refactoring, which provides systematic techniques for restructuring
develop design patterns that cross-cut the different disciplines of
the internal system (i.e., the source code) while the external visible
modern aPS in order to improve their evolvability and to maintain
behavior is preserved (Fowler, 1999). As such, refactoring has been
code quality and structure after evolution and fulfill the challenges
established and numerous studies have demonstrated its usefulness
mentioned above.
(Fanta and Raijlich, 1999; Kegel and Steinmann, 2008). However, cer-
Clone and own is a widely used reuse approach in practical soft-
tain challenges such as proper tool support and side-effect freeness
ware and systems engineering. Instead of forcing other reuse mech-
of refactorings are still open research questions.
anisms such as object-orientation to be used in practice, the existing
reuse techniques need to be better supported by appropriate tools,
5.3. PPU case study – evolution and modularity on code level
such as versioning systems that are capable of feature annotation,
feature harvesting or feature propagation. This holds in particular as
The evolution of aPS especially during operation is performed
versions of the aPS may become parallel existing variants of the aPS
on code level (Fig. 9) by suppliers’ start-up personnel or customers’
at later points in time. For aPS, these tools need to be made capable
operation staff under high time pressure and mental workload.
of dealing with the different disciplines, the different modeling for-
As discussed in Section 4.1.2, self-healing mode (scenario Sc12f)
malisms and the relationships between the models of the different
requires the identification of faults, e.g. “WP jam” (Figs. 6 and 7).
disciplines. These tools need to be capable of being integrated into
The fault handling for “p1” to “p4” (Fig. 7) requires evolution of the
the proprietary development environments for aPS as a prerequisite
initial FBs as discussed in the following: FB1 covers the monitoring
for applicability in industry.
of the time constraint (“TimerPusher” in Fig. 6) and the additional
digital sensor input (“Sens_Slide” in Fig. 6, “p2” in Fig. 7). Therefore
the internal function of FB1 has been changed, which is represented 6. Validation and verification
by a new function (“g” in Fig. 9). The added FB2 handles the newly
added analog sensor (“Sens_Transducer” in Fig. 6, “p3” in Fig. 7; Changes due to evolution are multidisciplinary. The interdisci-
“Sens_Pressure” in Fig. 6, “p4” in Fig. 7). The also added FB3 offers a plinary dependencies as well as the complexity of aPS lead to the
sequence of actions to the operator to solve the WP jam based on the risk of unpredictable side effects of evolution in the resulting sys-
faults identified in FB1 and FB2. FB3 output signals are forwarded to tem (Jaeger et al., 2011). A detection of these side effects becomes
the centralized handling of modes of operation and to the technical necessary and should be carried out automatically to avoid much ef-
process. fort, as explained in Braun et al. (2012). Under these circumstances,
FBD is specified in IEC 61131-3 and widely applied in Europe be- an automatic detection of these side effects based on the validation
ing a regional market standard. A hierarchical function block often and verification of requirements by exploiting information which is
represents a module and used as the basis for reuse in industrial prac- already present in the model and/or in the software of the aPS is the
tice (Vogel-Heuser et al. 2014b; Wenger and Zoitl 2012). Such on-site ultimate goal.
70 B. Vogel-Heuser et al. / The Journal of Systems and Software 110 (2015) 54–84

6.1. Challenges besides exploring all reachable states – be applied earlier in the de-
sign phase.
Management of aPS evolution has to deal with diverging evolution In aPS, manual testing is still dominant as few tools for supporting
cycles of the involved disciplines (Li et al., 2012). Changing system el- automated testing are established up to now. In recent years, some
ements during evolution, e.g., adding, modifying or deleting mechan- companies have identified the need to support automated testing and
ical constructions or sensors can have discipline-specific as well as introduced first solutions that support the automation of manually
interdisciplinary influences on other elements and the system’s func- programmed test code (CODESYS Testmanager3 ). These solutions are
tionality. Accordingly, managing evolution demands for ensuring cor- a first step towards automated testing, but still demand a high ef-
rectness of the system’s design. Hence, when applying model-based fort in test creation. To address these shortcomings, researchers have
(systems) engineering, evolution of aPS needs to be supported by as- been introducing several approaches in the field of model-based test-
suring model correctness in an interdisciplinary, holistic way. Nev- ing. To support system and test engineers in creating models for test-
ertheless, ensuring the correctness of an aPS’ engineering artifacts is ing, semi-formal modeling languages and notations are further de-
tightly related to verifying the models’ conformance with respect to veloped and formalized to receive a basis for test case generation. The
(a set of) given requirements, i.e. ensuring requirement fulfillment. UML is one of the most widely used notations for modeling the struc-
Because of the high complexity of the automation software and ture and behavior of the software up to now, thus, it is no surprise
the plant itself, it is usually not obvious how the evolution in one that many approaches focus on deriving test cases from this language.
part of the system affects other parts or the whole process (Jaeger Hametner et al. (2010) and Hussain and Frey (2006) identify useful
et al., 2011). One of the main questions is how each change influ- diagrams for modeling and deriving test cases from UML for the field
ences the fulfillment of requirements in different abstraction layers of automation software development and especially for IEC 61499 im-
and in different engineering artifacts. For this, we need techniques to plementations. Interaction diagrams are recommended for the ex-
efficiently and safely establish the impact of changes in order to iso- traction of test sequences. In Hussain and Frey (2006), the extrac-
late them and to identify the unchanged system parts. This step can tion of test sequences from state charts using round-trip path cover-
be supported by modular system representations that encapsulate age is shown. Hametner et al. (2011) show a first implementation of
changes within separate modules. This is a special challenge for aPS the recommended test case generation process using state chart di-
that consist of mechanics, automation hardware and software which agrams especially for IEC 61499 applications. Hametner et al. (2010)
may not be modularized according to the same structures and may also mention the timing diagram of the UML as a useful diagram for
possess cross-cutting properties. test case generation but no implementation is shown in their work.
The main challenge for validation and verification under system Rösch et al. (2014) realize this test case generation, but focus espe-
evolution is to provide efficient techniques to establish the desired cially on testing machine’s reaction to faults by using fault injection.
system properties after evolution without the need to re-verify the Krause et al. (2008) introduce an approach to automatically generate
complete evolved system from scratch. Rather, previous verification test cases from UML state charts by first transforming them into a
results should be reused or adapted as much as possible. In partic- formal model (extended safe place/transition nets). Having the for-
ular, compositional and incremental verification and validation tech- mal model, the test case generation is easily made possible using
niques should be developed to cope with cross-discipline models and methods such as unfolding the nets. In Kumar et al. (2011), UML test
reduce the effort for re-establishing properties to only considering case generation approaches from state charts are combined with the
the changed parts while neglecting the unchanged parts (as deter- aim of making them executable by mapping them to the Testing and
mined by change impact analysis techniques). Compositional reason- Control Notation (TTCN-3). The evaluation of the approach is done
ing techniques need to be designed to relativize the verification ef- using a simple communication protocol but the extension of the ap-
fort to the changed modules while reusing the verification results for proach in order to test PLC control software applications is planned as
the unchanged modules. Particularly, existing approaches need to be well. Making UML models, and in this work especially sequence dia-
adapted for the specific requirements of aPS. grams, executable is another focus of using UML diagrams in the test-
ing process. In Kormann et al. (2012), the semantics of sequence dia-
6.2. State of the art grams are adapted in order to make direct IEC 61131-3 code genera-
tion possible. In this way, the modeled test scenarios can be executed
Software engineering techniques available in automation engi- directly. In recent years, SysML is increasingly established for sup-
neering today are not sufficient to assure the required level of avail- porting the development process of real-time systems by Detommasi
ability, functional safety and reliability along the systems’ life-cycle et al. (2013). However, investigations on the possibilities to derive test
in the light of shortened innovation cycles. Due to the lack of holistic cases from these models or adapting these models are still missing.
system models and applicable analysis techniques, the consequences In order to integrate the requirements and test specification,
of system modifications (e.g., adapting the control software, the con- a template for test cases has been developed by Feldmann et al.
trol platform, the IT systems or mechanical components) cannot be (2014b). The template includes fields for specifying the input and ex-
verified and validated against the respective requirements before- pected output parameters. If the input parameters have been com-
hand. Recent approaches to address this challenge are digital factories pletely specified along with a step size (cp. “step”, Fig. 10), the test
and virtual commissioning techniques. Such approaches are based on cases can be automatically generated by combining the different pos-
simulation and virtual controllers. Thereby, the (physical) state of the sible inputs including test cases for invalid input parameters. Includ-
controlled system can be simulated, which allows for validating the ing the invalid parameters helps testing the reaction to faults. The
system behavior in a restricted time frame. On the downside, rare expected outputs (attribute “Expected Goal”) may either be specified
events are difficult to detect. However, these seldom events, which manually or generated automatically if the requirements have been
might occur only after long operation times, are potentially very crit- sufficiently formalized (Feldmann et al., 2014b).
ical. Complementary to simulation approaches, formal analysis tech- An example for a requirements and test specification, namely the
niques can be applied to close this gap. Instead of analyzing the state self-healing variant on component level (cp. Section 4.1.2), is shown
space of a model within a certain time frame, formal techniques in Fig. 10. For better comprehension, the templates from Fig. 5 have
aim at analyzing models exhaustively with respect to all reachable been reduced to the most important attributes illustrating the case
states (Bérard et al., 2001; Clarke et al., 1999). For example, Lahtinen
et al. (2012) state that in the nuclear engineering domain, automatic
verification is beneficial compared to simulation because it can – 3
http://store.codesys.com/codesys-test-manager.html, retrieved 8/21/2015.
B. Vogel-Heuser et al. / The Journal of Systems and Software 110 (2015) 54–84 71

Fig. 10. Excerpt of functions, requirements and test cases of scenario Sc12 (left) and scenario Sc12f (right) in comparison refinement from (Vogel-Heuser et al., 2014c).

study. The test case “Automatic detection WP jam”, shows 1 of 252 conventions, deviating program element complexity or detecting bad
possible test cases based on the different possible input parame- code fragments. Thereby, analysis rules are used to express the search
ter combinations according to the step size (9 possible inputs for criteria.
“Sens_Transducer” {−0.5; 0; 0.5,…,3.5} times 2 possible inputs for Model Checkers for embedded software for hybrid systems are in-
“Sens_Slide” {TRUE; FALSE}, etc.). As shown, the test case illustrates vestigated for nearly two decades now, debuted in 1997 (Henziger
an example where if neither the valid input for pressure nor the cor- et al., 1997). Ortmeier et al. (2004) investigated verification of em-
rect position for ejecting the WP of 3 cm is reached, the output alarm bedded software focusing on safety aspects, but did not take automa-
201 is expected. tion and PLC software into account. The aforementioned Mechatron-
Besides test case generation and selection of test cases to reduce icUML method (Becker et al. 2012; Heinzemann et al., 2013) supports
testing efforts while testing and retesting, approaches have been in- links between engineering disciplines. It supports a compositional
troduced for the domain of factory automation as well. Ulewicz et al. approach for the verification of discrete real-time behavior (Giese
(2014) present a first approach for selecting and reusing existing test et al., 2003) to improve scalability. The compositional approach sup-
cases based on changes within the control program for efficient test- ports multiple refinement notions to guarantee different types of sys-
ing of changes. Lochau et al. (2014) propose model-based testing for tem behavior (Heinzemann and Henkler, 2011). Another aspect is the
variant-rich aPS. Based on a 150% UML state chart test model incor- support of the verification of system’s behavior specified in the mod-
porating all variant-specific test models with explicit specification of els of multiple disciplines by combining results of verification activ-
differences by means of feature annotations, test case generation for ities both on the feedback control as well as on the real-time mode
the complete system family is applicable in order to test the corre- management to prove system wide properties. Finally, the Mecha-
sponding PLC control software. In contrast to test case generation tronicUML provides specifically support for systems which self-adapt
for each variant in isolation, their approach exploits the specification their behavior at runtime by modeling adaptations by architectural
of commonality and variability between variants to reuse generated reconfiguration based on graph transformations (Eckardt et al., 2013;
test cases also for other variants. Structural coverage criteria are used Tichy et al., 2008). Verification of the adaptation behavior is based
to derive test cases from the state chart test model by using model on graph transformation verification approaches (Becker et al., 2006;
checking techniques. Ghamaraian et al., 2012). However, the approach does not address the
Static code analysis is successfully applied for several program- specifics of aPS, e.g., the employed languages.
ming languages and environments, e.g. Lint for C (Johnson, 1988) and Sünder et al. (2013) propose an approach on verifying PLC pro-
FindBugs for Java (Ayewah et al., 2008). However, static code anal- grams by means of model checking, taking predefined modifications
ysis for IEC 61131-3 is not yet supported sufficiently (Angerer et al., of the software into account. The proposed formalism is based on the
2013). Up to now, only tools supporting parts or specific languages IEC 61499 standard for automation software; its application for cycli-
of IEC 61131-3 are provided, e.g. CoDeSys Static Analysis4 , logi.Lint5 cally operated PLC software according to the IEC 61131 was not in-
by Logicals and PLC Checker6 by Itris. Nevertheless, in Fuchs et al. vestigated. Verification of PLC programs – written mainly in the pro-
(2014) and Prähofer et al. (2012) the benefits of static code anal- gramming languages Sequential Function Charts (Bauer et al., 2004)
ysis for IEC 61131-3 software quality improvement are highlighted and Instruction List (Huuck, 2005) – was investigated by means of
and an approach for improving compliance to programming conven- the model checker UPAAL, but lack in analyzing industrial PLC pro-
tions and guidelines is proposed, e.g. by identifying incorrect naming grams due to size and structure. A verification platform called PLC.
Arcade supporting model checking to of PLC programs – written for
the programming languages ST, IL as well as vendor-specific program-
4 ming language and their combinations as often applied in IEC 61131
http://store.codesys.com/codesys-static-analysis.html, retrieved 8/21/2015.
5
http://www.logicals.com/products/logi.LINT/, retrieved 8/21/2015. environments – is presented in Biallas et al. (2012). It provides a
6
http://www.plcchecker.com/, retrieved 8/21/2015. counterexample-guided abstraction refinement mechanism, which is
72 B. Vogel-Heuser et al. / The Journal of Systems and Software 110 (2015) 54–84

already applied successfully for verification of embedded systems in checking exist. Some approaches are based upon software code tak-
Stursberg et al. (2004) and hierarchical predicate abstraction (Biallas ing solely the software’s and controller characteristics (e.g., cyclic ex-
et al., 2013) to cope with the challenge of state explosion. Neverthe- ecution) into account. In contrast, also a variety of approaches con-
less, the approach was not applied to industrial PLC software to iden- sider additionally system structure and process characteristics. Here,
tify its applicability in practice. Gourcuff et al. (2008) presented an the complexity of the verification task increases drastically. The ap-
approach for verifying cyclically executed PLC software. The applica- plicability of the approaches depends typically on the different, ap-
bility of the approach to larger sized programs is achieved by applying plied abstraction mechanisms in order to address the state explosion
different interpretation and data abstraction techniques. This work problem: the more precise the model, the bigger the state explosion
focuses on analyzing the textual programming languages ST and IL problem. The best granularity to be chosen depends on the require-
but is solely limited to Boolean variables. Therefore, its applicability ments of the verification task and characteristics of the considered
to real industrial PLC software is limited. Recently, Legat et al. (2014) system. Here generic statements are still an open issue. Therefore,
and Hackenberg et al. (2014) applied model checking to also consider the applicability to industrial PLC software is still in an open issue.
the interplay between PLC programs and electrical as well as mechan-
ical aspects in order to verify conformance to requirements resp. a
6.3. Research roadmap
technical process by using extensive behavioral abstractions.
Witsch and Vogel-Heuser (2011) proposed an approach to imple-
In order to efficiently verify system properties after evolution, we
ment PLC software based on UML state charts (so called PLC state
require incremental and compositional verification techniques. In-
charts) and described its behavioral semantics and application for
cremental techniques rely on the results of a change impact analy-
model checking. A transformation of the state chart into a timed
sis identifying the influences of the changes performed during the
automaton, which can be analyzed by the model checker UPPAAL,
evolution in all disciplines and across disciplines. Using the identi-
is presented. The applicability of the approach was evaluated with
fied change, incremental techniques can (re-)establish system prop-
multiple case studies. An application of the approach to languages
erties by only considering the changed parts while neglecting the un-
according to IEC 61131-3 standards was not investigated until now.
changed parts. The particular challenge for change impact analysis
Mertke and Frey (2001) proposed an approach on formal verification
and incremental verification in aPS is the analysis of properties cross-
based on Petri nets by using the SPIN model checker. The scalability
cutting several disciplines.
of the approach by means of industrial PLC programs was not investi-
Compositional verification techniques allow for establishing sys-
gated. Greifeneder and Frey (2007) proposed the modeling language
tem properties by analyzing only the system parts (its components)
called DesLaNAS which can be applied in combination with a prob-
and deriving the overall system properties from the properties of
abilistic model checking but an automatic translation of the descrip-
the system parts. While there exist approaches for compositional
tion model into the form needed for model checking is not available.
verification of software, the particular research question for aPS is
Machado et al. (2006) investigated the impact of applying a model
to develop compositional approaches that can deal with properties
of the physical plant additionally to the formal specification of con-
cross-cutting different disciplines. A particular question is how to
troller behavior. In this work, the model checker NuSMV is applied;
find and deal modularization concepts over different disciplines as
cyclic operation of PLCs was considered, but timing constraints were
there may be different component structures in the mechanical, elec-
not taken into account. Nevertheless, they identified the necessity of
trical/electronic and software parts of an aPS.
a plant model in order to verify specific dependability requirements
Due to the complexity of aPS, the right level of abstraction for (au-
successfully.
tomated) verification with respect to verification use-cases is crucial.
An integrated approach to verify conformance of aPS designs is
Therefore, future research should investigate the classification of such
presented in Vyatkin et al. (2009). It considers the overall behavior of
phenomena, patterns and levels of abstraction suited to the specific
mechatronic components in a plant model, i.e. the behavior resulting
needs of aPS, and methods to encapsulate those abstractions for ver-
from the combination of different disciplines. However, the approach
ification, e.g., by using contracts, and thus support a more modular
focuses on the IEC 61499 standard for control software. The applica-
approach suitable for evolving systems as needed in the field of aPS.
bility of the approach for PLC software according to the IEC 61131-3
Hence, different simulation, test and formal analysis techniques
standard is not available. When applying a plant model, further as-
need to be integrated to fully verify the behavior of aPS. In particu-
pects can be taken into account, e.g. behavior of real-time commu-
lar, the integration of simulation and testing approaches for mechan-
nication buses, electric/electronic or mechanic component behavior,
ical and electrical properties in combination with formal analysis ap-
etc. For example, in Witsch et al. (2006) an approach to verify the tim-
proaches for software properties is a challenging question for future
ing behavior of standard Ethernet networks was evaluated by means
research, especially when combined with the requirement for incre-
of a simple application example.
mental and compositional verification.
Runtime monitoring allows for establishing the linkage between
evolving plant behavior and formally specified requirements, in par-
ticular for legacy aPS for which no formal requirements for the 7. Variability management for evolving aPS
evolved plant exist (Haubeck et al., 2013). From the observable sys-
tem behavior during system operation, a model of the actual evolved aPS are highly diverse. They may differ in the processes which
system behavior can be constructed. In this way, the lack of explicit they are designed to execute, but also in the mechanical and electri-
and up to date specification for the evolved system can be alleviated cal/electronic parts and software parts used to complete their tasks.
because the models are automatically generated and adapted by ob- The inherent variability in such systems results in a huge number of
serving the in- and output data of the aPS. The constructed models possible variants which may be described by a product family, e.g.,
can then be analyzed in order to derive current plant properties. Sub- a software product line (SPL) (Clements and Northrop, 2001; Pohl
sequently, the properties can be checked against specified values for et al., 2005). An aPS SPL can be called multi-disciplinary as variability
requirement verification. cross-cuts several disciplines, i.e., mechanical, automation hardware
To sum up, a variety of approaches to verify the control software and software aspects. For the development of variant-rich aPS, the
exist. Sophisticated approaches are applied in the domain of em- knowledge of commonality and variability as well as its integration
bedded software without taking typical characteristics of PLC soft- in engineering artifacts across its different disciplines is an impor-
ware into account. In the domain of production automation, also var- tant task. Variability management comprises (1) variability models
ious approaches for verifying a system’s behavior by means of model in the problem space to define the configuration space which may be
B. Vogel-Heuser et al. / The Journal of Systems and Software 110 (2015) 54–84 73

of different granularity for the overall product system, the mechani- artifacts in a precise and modular manner without the need to alter
cal, electrical/electronic and software parts, (2) variability models in or refactor the already existing engineering artifacts.
the solution space to define variable and reusable engineering arti- For the evolution of the problem space, means to add, remove or
facts which span mechanical, electrical and software parts, and (3) modify configuration options are needed. This yields the need for
the configuration knowledge to guarantee that a valid variant of the analyses whether previously existing variants are still configurable
aPS in all its disciplines is obtained (Czarnecki and Eisenecker, 2000). and whether the variability model is backwards-compatible. Further-
For the evolution of variant-rich systems, new challenges arise more, after evolving the variability model, it may contain inconsis-
because not only engineering artifacts across all disciplines evolve, tencies, such as dead features or false optional features, or it may not
but also the variability management has to handle the changes in be possible any longer to generate valid product variants (void fea-
the different variability models. aPS are often designed for a very ture model). This leads to the need for efficient consistency checking
long lifetime. Due to limited durability of aPS components or tech- of the evolved feature model. For the evolution of variability in the so-
nology changes during the lifetime, changes in hardware may occur. lution space, i.e., of the reusable/configurable engineering artifacts in
This also affects software counterparts (Li et al., 2012). Besides, there the different disciplines of an aPS, we have the following challenges:
are several other reasons for changes, such as differing production re- For the evolved variant-rich aPS, we need to ensure the syntac-
quirements, process improvements or product variations. Addition- tic and semantic correctness of the configured aPS variants despite
ally, there can be different variants of the same aPS at the same point the changes of the artifacts with respect to the requirements. This
in time (Braun et al., 2012), e.g. to satisfy varying customer needs. requires efficient analyses for syntactic and semantic compatibilities
Such changes lead to a high diversity in modern aPS: variability re- and consistencies within and across disciplines. We need to maintain
sulting in several simultaneous system variants (such as the variants the consistency of the variability in different kinds of engineering ar-
Sc12a to Sc12g of the PPU) and evolution resulting in different ver- tifacts within or across the different disciplines of aPS and across the
sions of these variants over time (such as the evolution scenarios Sc0 development process in order to allow for a seamless variability man-
to Sc13 of the PPU). This diversity creates high complexity for sys- agement for current and future variants.
tem management and maintenance (Brooks, 1995). In particular, if For the configuration knowledge, we have to ensure the consistent
changes occur, new software has to be extended or changed. Addi- co-evolution between problem and solution space variability models.
tionally, the proper functioning of the system has to be ensured for We have to ensure that all variants expressible in the problem space
all variants and versions. are also configurable in the solution space and, in the other direction,
In the following, challenges in the evolution of variant-rich aPS that all possible solution space variants are also covered by the prob-
are explained. Second, an overview of the state-of-the-art tech- lem space variability model. When the solution space evolves with-
niques in variability management is given, and approaches for out evolving the corresponding explicit variability model, we need
variability-aware evolution are presented. Finally, we present a re- means to derive those variability models for the evolved engineering
search roadmap with respect to modeling and managing multidisci- artifacts in order to allow for better further evolution or debugging.
plinary variability of evolving aPS.
7.2. State-of-the-art variability management techniques

7.1. Challenges of evolution


Variability modeling in the problem space defines the common-
ality and variability of a product family in order to specify the valid
Engineering artifacts span the complete aPS and cross-cut all dis-
configuration space i.e., specifying the set of valid software variants
ciplines. The same holds for the variability models which may cover
(Czarnecki and Eisenecker, 2000). Various approaches for variability
the variability of one discipline at a suitable level of granularity or
modeling in the problem space exist, for instance, feature models
cross-cut different disciplines introducing even constraints between
(Kang et al., 1990), orthogonal variability models (Pohl et al., 2005)
the disciplines. A particular challenge is to design variability models
and decision-models. Those variability models usually take a high-
and configuration knowledge in such a way that a working configura-
level abstract system view and consider user-visible product charac-
tion of an aPS can be (automatically) derived. Feldmann et al. (2012)
teristics as features. We describe those approaches in the following
analyzed the approaches and challenges for modularity, variant and
and refer to the literature (Chen et al., 2009; Schmid et al., 2011; Sin-
version management in aPS. For variability management from an
nema and Deelstra, 2007) for further information.
electrical engineering viewpoint, tools like EPLAN Engineering Cen-
In the context of feature-oriented domain analysis, Kang et al.
ter7 as well as the Siemens Platform COMOS8 exist, and for mechani-
(1990) introduce feature models for capturing the commonality and
cal engineering, Design Structure Matrices are most popular (Kortler
variability of variant-rich systems by means of features and their in-
et al., 2011). Feldmann et al. (2012) showed that module structures in
terrelations. The work by Kang focuses on general software-intensive
different disciplines differ. “The case studies demonstrate that modu-
systems, but does not consider multidisciplinary aPS and multidis-
larity structures in software engineering are different from structures
ciplinary artifacts and features. A feature, in the context of aPS, rep-
in electrical engineering: software modules are structured according
resents a configuration option of the aPS, which may be a mechani-
to their functions whereas electrical modules are structured accord-
cal, electrical or software-specific parameter, or a visible functionality
ing to the electrical devices. Subsequently, according to the differ-
that cross-cuts all disciplines. Features may be referring to the overall
ent modularity paradigms, the term function in software engineering
aPS or to some of its components and may have different granularity.
refers to an action that can be called, whereas in electrical engineer-
A feature is realized by one or several engineering artifacts in the so-
ing a device’s functionality is addressed.”
lution space within one or across several disciplines depending on its
In order to deal with evolution of variability models within and
granularity. Each valid feature configuration, i.e., each feature is ei-
across disciplines, both in the problem and in the solution space, as
ther selected or deselected for a configuration, represents a unique
well as for the configuration knowledge, we need incremental mod-
product variant. For further information regarding feature modeling
eling approaches which allow us to capture change to the involved
and analysis, we refer to the literature (Benavides et al., 2010). An ex-
ample of the use of feature models in the design of aPS is given in
7
Feldmann et al. (2015) and Schröck et al. (2015).
http://www.eplan.de/en/solutions/product-overview/eplan-engineering-center/,
retrieved 8/21/2015. In Fig. 11 (Lochau et al., 2014), the graphical representation of a
8
http://w3.siemens.com/mcms/plant-engineering-software/en/comos-overview/, feature model for the overall system of the PPU at a high level of
retrieved 8/21/2015. granularity and in Fig. 12 (left) a more detailed view for the crane
74 B. Vogel-Heuser et al. / The Journal of Systems and Software 110 (2015) 54–84

Fig. 11. Feature Model of PPU SPL (Lochau et al., 2014).

Crane Mechanics Crane


Customer view

WPs to be Handling Transporting


Working Space
processed
Picker Gripper Rotating Base Rail
Heavy WPs Light WPs Radial Linear
Adaption 1:
Developer view

Electrics/ Stronger vacuum Crane Adaption 2: Adjust


Same Variable Electronics acceleration ramp
diameter diameters
Pneumatics Electrics/ Electronics Sensors
Legend:

Mandatory Or Suction Gripper Motor Motor Angle Position


cup radial linear sensor sensor
Optional Adaptions
Alternative Feature Interactions Software Crane

Position computation Motor control unit

Rotatory Linear Motor Type A Motor Type B

Fig. 12. Feature model for the “Crane” module of the PPU SPL (cp. Feldmann et al., 2015).

are shown. The tree-like structure is defined based on different de- ios Sc12a and Sc12g (Section 2.3), consisting of NFR like platform
composition relations (Fig. 11). A mandatory feature is part of each supplier and runtime environment and FR like higher throughput, in-
variant if its parent feature is also selected. For instance, the manda- creased weight or size of workpiece.
tory feature “Crane” is a part of every configuration as its parent the Fig. 12 shows the detailed feature models of the crane from the
root feature “PPU” is always selected for a configuration. For optional different disciplines point of view. The customer view (Fig. 12, left)
features, we are able to decide whether the feature is selected for defines the “Crane” features that can be chosen by a customer (e.g.,
a configuration or not if its parent feature is selected. An alterna- either heavier or lighter workpieces, cp. scenario Sc12b only weight
tive feature group allows for the selection of solely one feature of changed). The developer view (Fig. 12, right) focuses on the variable
the group, whereas feature groups allow for the selection of at least features that can be combined from a discipline perspective (e.g.,
one feature up to all features within the group. For instance, the se- mechanical, electrics/electronics and software engineering). In some
lection of either “Standard Routing” or “Extended Routing” is possi- cases, choosing a feature in one discipline imposes adjustments to
ble, whereas for feature “Workpiece”, we are able to choose “Plas- features in other disciplines (illustrated as adaption in Fig. 12 – e.g.,
tic”, “Metal” or both features. In addition to the decomposition rela- an additional “Rail” to move the “Crane” linearly imposes adaptions
tions, feature models comprise crosstree constraints in terms of re- to the “Gripper” and the “Motor control unit”). Feldmann et al. (2015)
quire and exclude edges. A require edge represents the implication of showed the mapping of the customer feature models to the devel-
feature selections, e.g., the selection of “Stamp” implicates the selec- oper feature model with a mapping matrix. Such a mapping matrix
tion of “Metal”. Exclude edges denote that only one of the connected however merely provides a rough mapping between customer and
features can be selected for a valid configuration. Nevertheless, the developer feature models; hence, these relations between the differ-
feature model neglects the different customer features from scenar- ent views need to be investigated in more detail. The use of feature
B. Vogel-Heuser et al. / The Journal of Systems and Software 110 (2015) 54–84 75

models in aPS intents to automatically configure the aPS on basis of different UML diagram on which deltas can be applied making vari-
these models. The benefit from using feature modeling and the effort ability on all abstraction levels of the system manageable.
needed to manually develop and maintain the models is much too
small to be applicable for aPS, yet. Besides scalability for real world 7.3. Variability and evolution
applications needs to be further evaluated (Feldmann et al., 2015).
Pohl et al. (2005) proposed the orthogonal variability model also There is an extensive amount of work ongoing concerning evolu-
for capturing the commonality and variability of variant-rich soft- tion and variability in aPS, especially due to the participation of dif-
ware systems in a graphical way by means of variation points. A vari- ferent research communities (e.g. mechanical, electrical or automa-
ation point represents a customer and/or developer-visible property tion engineers and computer scientists). Elsner et al. (2010) consider
of the software system and is implemented by one or several engi- evolving software product lines and focus on variability in time. They
neering artifacts or rather related to other variability models in the propose a common terminology for variability in time and space in
solution space. Variation points are decomposed by at least one vari- evolving software product lines. A second survey article focuses on
ant. A variant describes the difference between configurations as for research on diversity in software and how it affects all development
instance the difference of the stamp’ s pressure of the PPU. Similar phases from modeling over design and implementation to quality as-
to feature models, variants can be optional, mandatory, or alternative surance, including software evolution (Schaefer et al., 2012). Ideas to
and also be constrained by require and exclude relations. Each valid manage the evolution of mechatronic systems can also be divided
selection of variants represents a unique product configuration. into the two categories of evolution in the problem space and evo-
Another variability modeling approach is decision modeling in- lution in solution space.
troduced by the Synthesis project (Synthesis, 1993). In contrast to
feature models and orthogonal variability models, where the domain 7.3.1. Evolution of problem space variability models
with its features/variation points are specified, decision models focus As already mentioned before, feature models are widely spread for
on development decisions, such as selecting or deselecting specific variability modeling in the problem space. Thüm et al. (2009) present
configuration options or choosing a particular configuration parame- an algorithm computing the differences between two feature models
ter, and their interrelation to describe the variability of a variant-rich after changes to a feature model. In general, the inputs are the origi-
systems. Therefore, a unique product variant is defined by a valid se- nal and the evolved feature models. The algorithm computes deleted
lection of decisions. For further information regarding decision mod- or added product variants and scales up to large feature models with
eling, we refer to the literature (Schmid et al., 2011). It has been thousands of features. However, it only focuses on a homogeneous
applied to the modeling of steel manufacturing systems (Dhungana feature model and does not cover multidisciplinary aspects and fea-
et al., 2014), considering multidisciplinary artifacts. tures of different granularity.
In addition to variability modeling in the problem space, variabil- A second approach creates a special kind of feature model in ad-
ity management comprises variability modeling also in the solution dition to the existing one. This EvoFM-feature model captures dif-
space to define variable and reusable engineering artifacts by inte- ferent evolution steps just as a standard feature model captures an
grating variability. Variability modeling approaches in the solution SPL. Each configuration of the EvoFM represents exactly one evolu-
space of software-based SPLs can be separated into three different tion step and can be transformed to the explicit feature model. Tool
classes: annotative, compositional and transformational (Schaefer support is fully available and is already tested with an Eclipse as a
et al., 2012). Annotative methods consider one model represent- large product line example (Pleuss et al., 2012). But, again, multidis-
ing all products of the product line. Variant annotations, e.g., using ciplinary feature modeling is not considered.
stereotypes in UML models (Gomaa, 2006) or presence conditions Similar to the previous approach, Seidl et al. (2014) describe how
(Czarnecki and Antkiewicz, 2005), define which parts of the model to extend the standard feature models to capture evolution over time.
have to be removed to derive a concrete product variant. Annotative They propose Hyper Feature Models, in which all features get version
variability models become easily very complex and unmanageable numbers to express different versions of the feature in the solution
for large SPLs with many variants. space over time. The different feature versions are bound by a suc-
Compositional approaches associate model fragments with fea- cessor relation. This approach does not support explicit changes to
tures, which are composed for a specific feature configuration. A well- the feature model, e.g., a feature changes from mandatory to optional.
known example is AHEAD (Batory et al., 2004), in which a product Nevertheless, automatic derivation of valid product configuration is
is incrementally built using a base module and a sequence of feature possible, and a more powerful cross-tree constraint language is given
modules. In Noda and Kishi (2008), models are constructed by aspect- to support dependencies between several feature versions and their
oriented composition. Other approaches to represent variability on a (possible) more complex interactions. Their application example is
modeling level, e.g. in Klein et al. (1997) and Prehofer (2004), have robotic systems, however, only the software aspect of driver software
focused more on composing and adding features and not on captur- is considered in the solution space.
ing evolution. Compositional approaches can only add functionality Not all approaches follow the concept of feature models. Schubanz
to an existing product, and the impact of a feature is limited by the et al. (2013) developed their own specific modeling approach, which
used composition technique. Evolution inevitably needs refactoring, is integrated in a prototypical tool chain and focuses on a high level
when using compositional methods. of abstraction, i.e., evolution of development goals and requirements.
Model transformations are, for instance, applied in the common Their main goal is to provide a tool which is able to manage evolution
variability language (Haugen et al., 2008) where the variability of a over several releases (variability in time) as well as the ability to give
base model is described by rules how modeling elements of the base the developer traces from the requirements to their respective im-
model have to be substituted in order to obtain a particular prod- plementation variants (variability in space). This approach, however,
uct model. Delta modeling is a modular transformational approach covers software systems only.
to design and implement software product lines (e.g., see Schaefer,
2010). Deltas encapsulate all necessary changes to get from one vari- 7.3.2. Evolution of variability in solution space artifacts
ant, which is, e.g., the most basic variant, to an arbitrary variant in the In the solution space, there are only a few approaches cover-
product line. Delta modeling has so far been applied to represent vari- ing variability and evolution at the same time. The approach by
ability of software architectures (Haber et al., 2011), Java programs Dhungana et al. (2010) uses model fragments for capturing the so-
(Schaefer, 2010) and a multi-perspective modeling approach for man- lution space variability following the principle that smaller models
ufacturing systems (Kowal et al., 2014). Each perspective consists of a are better to understand. The variability of the whole product line is
76 B. Vogel-Heuser et al. / The Journal of Systems and Software 110 (2015) 54–84

encapsulated in these fragments, so that individual developers can Typically, the models that are developed during system design are
concentrate on their specific parts of the system. Each fragment can in later phases converted to source code by code generation. This
evolve independently from other fragments. All fragments are con- process is called Forward Engineering (Sendall and Küster, 2004). A
nected by a set of interrelations. The implementation, which was challenge is now to ensure consistency between the different models
done for Siemens, supports semi-automatic merging of model frag- and the generated code in case of manual changes, which might be
ments to a complete product line. In addition, consistency checks af- required in general, for example, to integrate source code with spe-
ter another evolution step can be done automatically. This approach cific third-party libraries or platforms, other source code, or specifi-
is based on a uniform software modeling approach and does not ad- cally in aPS to perform on-site adaptations. These changes have to be
dress multidisciplinary aspects. propagated back to the models and documentation of all discipline
Another appropriate solution for capturing variability and evo- to guarantee that they are not overwritten in case the component is
lution in the solution space is the usage of delta modeling, which used again, i.e. for code: the source code is generated again after other
was already introduced in the previous section. Variants and versions changes to the model. This cycle of generating code from models and
are managed in the same manner by delta modeling. Therefore, the propagating changes on the source code back to the models is known
multi-perspective modeling approach in Kowal et al. (2014) is also as round-trip engineering (Hettel et al., 2008) in contrast to the one-
applicable for evolution (cp. Section 7.2). It already contains software way forward engineering of source code from models and the one-
architectures, but a more detailed and powerful architecture descrip- way reverse engineering from models from source code. A particu-
tion language (ADL), and the benefits of delta modeling for architec- lar issue, which complicates this challenge, is that manual changes
tural evolution can be found in Haber et al. (2012). in source code often do not have a corresponding equivalent in the
It is also possible to mine commonalities and differences in mod- model, i.e., the modeling language is not able to express the changed
els for the creation of a family model, which is a so called 150% model behavior.
(Schaefer et al., 2012) containing the complete variability of the sys- This challenge is related to the specific situation in aPS in which
tem. This vastly improves the commonly used clone-and-own prac- changes on the automation system have to be done on-site by
tice in mechanical engineering, which introduces lots of redundan- technicians or even skilled workers (Vogel-Heuser, 2009) to perform
cies and is error-prone for debugging and maintenance. Wille et al. generally small-scale adaptations, e.g., adapt the behavior of the
(2013) apply this idea to block-based diagrams, e.g., as available in automation system due to replaced hardware or slightly different
Matlab/Simulink. Holthusen et al. (2014) apply it in a prototypical characteristics of hardware or workpieces or material, environmental
manner to the IEC 61131-3- language FBD. However, an extension to characteristics etc. (cp. categories “V” and “VI” in Table 1). Depending
the full language scope of IEC61131 is still missing. on the project’s phase, further personnel is involved, e.g., before
system handover the staff will be suppliers’ start-up personnel
7.4. Research roadmap (before acceptance test and handover) or even customer personnel.
The additional challenge here compared to the above-discussed
The main research question concerning variability management challenge of round-trip engineering is that these on-site technicians
of aPS is the management of multi-disciplinary variability in problem or skilled workers are typically not trained to use model-driven
and solution space for FR and NFR with different levels of abstraction engineering approaches and the acceptance of modeling languages
and granularity. A particular problem is here to ensure the consis- is low. Furthermore, the additional licenses of the modeling software
tency of the variability models at different levels of granularity within required for on-site changes might be prohibitive for supplier staff
and across disciplines. Support for automatic generation of feature and even more applicable for customer staff
models out of legacy code from different projects is a challenging task Finally, three recent surveys of practice in model-driven ap-
to reduce the effort introducing feature modeling approaches in aPS. proaches for embedded systems and usability of model-driven en-
Also the integration into engineering workflow, organization and gineering notations in embedded systems and, specifically, aPS
development frameworks is a big issue. Scalability for real world ap- (Hutchinson et al., 2011; Liebel et al., 2014; Vogel-Heuser, 2014e)
plications needs to be further evaluated, too. The application of fea- show that tool integration and tool usability as well as high effort to
ture models in aPS intents to automatically configure the aPS across reap benefits are big challenges in employing model-driven engineer-
the different disciplines on basis of these models. Therefore an inte- ing in industry. Education is an issue related to this. As Vogel-Heuser
grated feature model would be beneficial. et al. (2012) showed usability of MDE approaches is strongly related
In order to support developers both in domain engineering where to students’ basic skills and appropriate fade out training approach.
reusable artifacts are built and in application engineering where the Sim and Vogel-Heuser (2010) proved the benefit of active learning
actual variants are derived and customized, we further need visual- comparing mechatronic engineering students with students of com-
ization of changes in aPS between different variants and their ver- puter science, but still an appropriate education for MDE with a focus
sions. In particular, these visualization techniques have to cover the on aPS is missing.
changes within different disciplines and across disciplines.
8.2. State of the art
8. Model-driven engineering in aPS
Several approaches focus on the development of modeling ap-
Importance and applicability of model-driven engineering rose proaches that support the development of various aspects of aPS. An
during the last decade in aPS. After discussing the different life-cycle approach for model-driven engineering that sufficiently supports the
phases in Sections 3–5, this chapter focuses aPS from a model-driven development and implementation of software in aPS needs to provide
engineering point of view highlighting the challenges, discussing the an automatic generation of executable software, as, e.g., presented by
state of the art and giving a roadmap for future development. Bonfè et al. (2013), Estévez et al. (2007), Witsch and Vogel-Heuser
(2011) and Yang and Vyatkin (2012). Furthermore, in Vepsalainen
8.1. Challenges et al. (2010), it was identified that the modeling of user-defined con-
trol logic is required in addition to the application of predefined con-
While model-driven engineering shows an increase in effective- trol blocks. For acceptance of novel concepts, those have to be easily
ness and quality and is used in the embedded software industry applicable and reproducible for other researchers (Goldberg, 2012).
(Liebel et al., 2014) by exploiting domain knowledge, it also intro- By the adaptation of a widespread modeling language, the repro-
duces general challenges and challenges specific to aPS. ducibility of a model-driven engineering approach can be increased,
B. Vogel-Heuser et al. / The Journal of Systems and Software 110 (2015) 54–84 77

because other researchers may already be familiar with the language, et al. (2014). For hybrid models combining closed loop control and in-
and basic tool support is available. Furthermore, integration with re- terlocking, Bayrak et al. (2012) and Schneider et al. (2014) developed
lated concepts such as model-based test case generation and execu- the model transformation from MATLAB/Simulink to CFC for different
tion (Kormann et al., 2012) is simplified. PLC programming environments.
The modeling approaches used in these and other works (Bassi Aside from works addressing IEC 61131-3 implementations,
et al., 2011; Hackenberg et al. 2014; Bonfè et al., 2013) enable an event-driven implementations conforming to the IEC 61499 standard
integration of software models and physical models into a single (Bianchi et al., 2003; Chhabra and Emami, 2011; Hirsch, 2010; Hirsch
consistent syntax. In contrast to these integrated approaches, there et al., 2008; Vyatkin et al., 2009) were proposed. A systems engineer-
are many research works that combine control code (or an exe- ing framework based on SysML and IEC 61499 is considered in Hirsch
cutable model thereof) with an object-oriented simulation model of (2010) and Hirsch et al. (2008). However, with the approach of Hirsch
the physical parts of the aPS. Such approaches require to include a (2010) and Hirsch et al. (2008), debugging of automation software
separate simulation tool, which is possible for the designer but not directly inside the SysML model is not provided. An approach to
for the technician on-site, and are therefore not considered here in generate IEC 61499 compliant software from UML-based models is
more detail. presented in (Dubinin et al., 2005). In Vyatkin et al. (2009) and Yang
Unfortunately, the application of model-driven engineering ap- and Vyatkin (2012), a concept for model transformations between
proaches in aPS and its usability show several challenges. Vogel- IEC 61499 and Matlab/Simulink models is proposed that supports
Heuser (2014e) gives an overview of several usability experiments transforming automation software to MATLAB/Simulink for verifica-
introducing UML and SysML into aPS and concludes that pure UML tion purposes and the transformation of controllers designed using
is not appropriate, but a domain specific UML (plcUML, Witsch and MATLAB/Simulink into executable software. However, a separate
Vogel-Heuser, 2011) with reduced number of diagrams, a support- modeling environment is used for the model development that is not
ing modeling process and integration in an IEC 61131-environment to integrated in the software development or coupled with the runtime
support roundtrip engineering is more appropriate. The experiments environment in which the generated code is executed.
revealed that structural modeling is still a challenge, e.g. the creation The general area of round-trip engineering is well-researched
of classes in the sense of abstraction usually chosen in computer sci- (Hettel et al., 2008). However, the approaches mostly focus on en-
ence. Abstraction in aPS is different to computer science, i.e. more suring the consistency of multiple models (cp. Section 4). With re-
related to physics. Obermeier et al. (2014) introduce a domain spe- spect to ensuring consistency of models with manually changed gen-
cific UML for aPS (modAT4rMS based on plcML) supporting the qual- erated code, the approach by Bork et al. (2008) exploits the templates
ity of structural modeling for the creation of new models, the reuse used for code generation to re-parse the generated code with manual
as well as the evolution (building new variants). In the experiments, changes. This approach is independent from the code generation tem-
subjects working with modAT4rMS experienced less stress and less plates and, therefore, easily applicable. However, it does not support
frustration than those using IEC 61131-3 FBD or pure plcML. Unfor- the case that the manual changes in the source code do not fit any of
tunately, programming performance in the evolution task was lower the code generation templates. The challenge of round-trip engineer-
than 36% even referring to an expert group showing the need for ad- ing is supported by the close integration of UML into the IEC 61131-3
equate support. Duschl et al. (2014) attempt to reveal the reasons be- environment (Witsch and Vogel-Heuser, 2011) because the model is
hind the errors especially in module creation in the above mentioned the code. But as mentioned above, the benefit and the acceptance is
study conducting interviews after the experiments. The individual er- still underachieved in experiments and in industry.
roneous code was discussed and reasons for errors were categorized. Another approach (Angyal et al., 2008) proposes to use the Ab-
Rule based errors in structural modeling averaged out to be 6.37% and stract Syntax Tree of the generated source code as an intermediate
in behavioral modeling 15.12 % for groups using modAT4rMS. Most er- model, which represents the source code as a model, and uses bi-
rors could not be classified which underlines the necessity of further directional incremental model merges to keep the abstract syntax
research. tree consistent with the changed code. However, the approach does
As a basis to describe different aspects of aPS at different hierar- not address the challenge to ensure that the abstract syntax tree is
chical levels, adaptations of UML and SysML are proposed in Bassi consistent with the model. Furthermore, it does not allow the use of
et al. (2011), Bonfè et al. (2005) and Secchi et al. (2007). Concepts template-based code generation.
for supplying object-oriented models with a formal basis, e.g., in or- Völter et al. (2006) present design patterns for the integration of
der to apply methods for verifying modeled system requirements generated code with manual written code to avoid the problem of
(Sünder et al., 2013), have been proposed by Secchi et al. (2007). manual changes in generated code. However, this requires that the
The modeling approaches used in these and other works (Bassi et al., potential manual changes are already known and planned for during
2011; Bonfè et al., 2013) enable an integration of software models and system development. This conflicts with the need in aPS to perform
physical models into a single consistent syntax. To generate detailed arbitrary changes on-site by non-developers.
automation software, design patterns and transformation rules are
proposed in Bonfè et al. (2013). Although this approach enables the 8.3. Research roadmap
transformation of state chart models into executable PLC code, a di-
rect integration of the software model and executed code is not pro- The directions for future work in model-driven engineering are
vided. The integration of MDE, i.e. plcML being a UML dialect, into manifold, i.e., to increase appropriateness of the modeling notation
a PLC programming environment is realized by Witsch and Vogel- for software but also for the entire mechatronic system, the aPS, tak-
Heuser (2011) and available for state chart and class diagrams in ing into account the qualification level of the maintenance staff, to
CODESYS V39 . Sequence diagrams (Kormann et al., 2012) and activ- support round trip engineering for many platforms and to understand
ity diagrams (Bayrak et al., 2011) have been adapted and integrated obstacles using even domain specific notations integrated into well-
too, but are not available on the market yet. Code generation from established development frameworks. Regarding evolution support,
plcML to Siemens S710 platform has been introduced in Tikhonov we still do not understand the real obstacles in reuse and modifica-
tion from a human centered point of view.
9
Furthermore, the problem with manual changes of code generated
http://www.codesys.com/products/codesys-engineering/development-
system.html, retrieved 8/21/2015. from models is not addressed in aPS. This problem needs to be ad-
10
http://w3.siemens.com/mcms/simatic-controller-software/en/step7, retrieved dressed from various perspectives: (1) the programming languages
8/21/2015. in the aPS domain are not object-oriented, thus other options to
78 B. Vogel-Heuser et al. / The Journal of Systems and Software 110 (2015) 54–84

extend/integrate/adapt generated code by manual changes need to services. Wolfenstetter et al. (2015) analyzed and evaluated different
be developed and (2) the education background is different between traceability techniques from a requirements engineering perspective
the developers from the company producing the aPS and the onsite regarding ten criteria, e.g., variability and configuration management,
technician, thus, if the technicians are allowed to make changes to version management, simultaneous development of different views,
the generated code, approaches need to be developed to ensure the with the result provides sufficient support.
correctness of the changes, to only allow those changes which by de-
sign cannot affect the correctness, or to ensure that the behavior of
9.3. Research roadmap
the plant can only change to a certain degree.
While there exist approaches to handle tracing in the different dis-
9. Traceability
ciplines, support for tracing between development artifacts (or ele-
ments in the artifacts) is still missing. This problem needs to be ad-
Traceability is required in many engineering standards (e.g., IEEE-
dressed from the following directions: (1) the different disciplines
Standard 830-1998). Therefore, managing the traceability links and
use different tools (and type of tools), which need to support traces
exploiting them during system evolution and across disciplines for
cross-cutting the discipline artifacts, and (2) the traces are will be cre-
different activities, like ensuring that requirements are properly
ated, managed and exploited by engineers which are typically part of
tested, that the impact of source code changes on tests can be cal-
different departments in the organization, which may lead to organi-
culated, that on-site changes in code or hardware are traced to the
zational challenges like who is responsible with respect to the effort
design artifacts and documents is important.
and the costs.
While there are some approaches to automate some parts of cre-
9.1. Challenges
ating traces, most of the work related to tracing is still manual. Here,
research needs to be done to identify options to automate parts of the
The system design plays a central role in ensuring the traceability
trace management. Particularly, one interesting direction is develop-
from requirements to code to validation activities. Hence, changes in
ing machine-learning approaches based on historical user behavior
the system design can affect the traceability in different ways. One ef-
or repositories containing many versions of already manually traced
fect is that traces might be simply lost if a component is replaced by
artifacts.
another one during evolution as long as trace links are not properly
handled. This would lead to the loss of the information that a cer-
tain component implements a specific requirement and which parts 10. Conclusion and future work
of a system a test case checks. Even if the trace information is not
lost, trace information can deteriorate. For example, if a trace link be- According to the project dependent and project independent ac-
tween several requirements and the implementing component is au- tivities presented in the adapted (VDI/VDE 3695, 2010) life-cycle
tomatically replaced by several trace links in the case the component model, six evolution scenarios for automated production systems
is refactored into multiple components during evolution, it is unclear were introduced and linked to the evolution scenarios of a simple
which of the resulting component implements which requirement. pick and place unit as application example highlighting evolution
Furthermore, while traceability is already difficult to ensure auto- steps in different disciplines and their processing. The resulting prod-
matically without manual activities, the diversity of tools and disci- uct in aPS is an often unique customer-specific machine or plant. The
plines in the different disciplines addressing aPS makes it even more most important constraints are the strong relation and dependen-
challenging, since the different disciplines are interwoven and pro- cies between software, automation hardware and mechanics. None
ceed iteratively during design depending on new data or new chosen of the disciplines should be developed without the knowledge and
solutions in one discipline (cp. Table 1). consideration of these dependencies. Evolution in aPS may be neces-
sary during runtime of the aPS and may also include unanticipated
9.2. State of the art changes. Variability is an issue across disciplines and across projects
and in all phases and referring to all cross-cutting topics. Classical so-
The problem of ensuring traceability from requirements to system lutions from computer science are not applicable due to cyclic behav-
design and verification and validation artifacts is partly addressed ior of platforms, mostly proprietary operating systems and specific
by model transformation approaches. If model transformation ap- programming languages like IEC 61131-3.
proaches are used to create and update artifacts, most of them also Along the life-cycle the different phases with their specific con-
create and update trace links between the elements of different arti- straints were discussed in detail and specific challenges were derived.
facts during the transformation. ATL (Jouault and Kurtev, 2006) and Requirements engineering still needs further development to be effi-
QVT (Object Management Group, 2008) are examples of model trans- ciently applied and successfully introduced in industry, compared to
formation approaches, which automatically create the traces. Hen- software engineering. In systems design, consistency of models from
shin (Arendt et al., 2010) allows transformation developers to man- disciplines for specific purposes (fault analysis, safety) is required,
ually add trace links, whereas the Triple Graph Grammar approach but needs further support in the future. Architectural debt in systems
of Hermann et al. (2014), which is based on Henshin, automatically design is compared to software engineering enlarged by automation
creates trace links. hardware and mechanics. Regarding system realization, implemen-
Trace links can also be created using information-retrieval tech- tation as well as operation and maintenance changes may be con-
niques (Cleland-Huang et al., 2007). The authors give an overview ducted on code level on-site by customer staff as well as in hardware
on two techniques for automatic generation of trace link candidates which results in the challenge to keep code and model (documenta-
from requirements and other system artifacts based on probabilis- tion) consistent. Especially testing is an upcoming topic in the con-
tic network models (Antoniol et al., 2002) and vector space models text of validation and verification but strongly depending on the de-
(Cleland-Huang et al., 2005). While the reported recall for the prob- tail and quality of the requirements. Code analysis as a basis for test
abilistic network model recall in four case studies between textual automation is an interesting approach, too. Simulation approaches
requirements and system design models (UML) is between 60% and are, compared to model checking approaches, already applied in ma-
90%, the reported precision is 4–32% much lower. chine manufacturing industry. A key issue to cope with complexity
Berkovich et al. (2011) investigate tracing on interdisciplinary of evolution in aPS is variability management (Section 7), because
Product-Service Systems (PSS), e.g. mechatronic products including aPS are variant-rich and require cross-discipline variability models
B. Vogel-Heuser et al. / The Journal of Systems and Software 110 (2015) 54–84 79

coping also with parallel evolution and different versions. The map- Due to the complexity of aPS, the right level of abstraction for (au-
ping between problem space variability models and solution space tomated) verification with respect to verification use-cases is crucial.
artifacts may be different, because variability models in the differ- Therefore, future research should investigate the classification of such
ent disciplines from a developer point of view seem to be beneficial. phenomena, patterns and levels of abstraction suited to the specific
Model-driven engineering needs to support round-trip engineering. needs of aPS, and methods to encapsulate those abstractions for ver-
One of the challenges for aPS is to assure consistency between models ification, e.g., by using contracts, and thus support a more modular
in the different phases of the life-cycle with the real aPS on site for all approach suitable for evolving systems as needed in aPS.
involved disciplines. This leads immediately to the required tracking Furthermore, different simulation, test and formal analysis tech-
and tracing of changes as discussed in Section 9. niques need to be integrated to fully verify the behavior of aPS. In
The identified aspects for future research discussed in the particular, the integration of simulation and testing approaches for
roadmap in each chapter are summarized in the following. An ade- mechanical and electrical properties in combination with formal
quate light weight and efficient way to model requirements for aPS analysis approaches for software properties is a challenging question
and refine or change them during the design process needs to be de- for future research, especially when combined with the requirement
veloped including both FR and NFR. NFRs should be operationalized for incremental and compositional verification.
in a way that they are quantifiable but still technology-independent. The main research question concerning variability management
Thus, their continuous fulfillment can be verified before and after an of aPS is the management of multi-disciplinary variability in prob-
evolution steps, despite of changes of the implementation technol- lem and solution space for FR and NFR with different levels of ab-
ogy. straction and granularity. A particular problem is here to ensure the
An adequate support for aPS is still missing, which is on the one consistency of the variability models at different levels of granularity
hand manageable regarding effort needed and benefit gained and on within and across disciplines. Also the integration into engineering
the other hand copes with variability and version management also workflow, organization and development frameworks is a big issue
of sub-systems. as well as scalability. The application of feature models in aPS intent
To decrease architectural technical debt, the impact of cross disci- to automatically configure the aPS across the different disciplines on
pline decisions should be predicted and visualized referring to the basis of these models. Therefore an integrated feature model would
functional and non-functional requirements influenced. The non- be beneficial.
compliance between architectural guidelines and system architecture In order to support developers both in domain engineering where
should be evaluated qualitatively and quantitatively for controlling reusable artifacts are built and in application engineering where the
purposes during and after the individual project. actual variants are derived and customized, we further need visual-
Advanced clone detection mechanisms are required for aPS to ization of changes in aPS between different variants and their ver-
detect clones in the different disciplines as well as software clones sions.
across projects. The directions for future work in MDE are manifold, i.e., to in-
While refactoring is a generally accepted approach in software en- crease appropriateness of the modeling notation for software but also
gineering to improve code structure, the specific setting of aPS that for the entire mechatronic system, the aPS, taking into account the
is the close relation of mechanic and automation hardware and soft- qualification level of the maintenance staff, to support round trip en-
ware and their multi-disciplinary nature, the strong relation to differ- gineering for many platforms and to understand obstacles using even
ent regional market leading platforms as well as the need for adjust- domain specific notations integrated into well-established develop-
ment during operation and the existing project oriented legacy code ment frameworks. Regarding evolution support we still do not un-
pose new challenges for refactoring that have not been addressed so derstand the real obstacles in reuse and modification from a human
far. A particular research question is to come up with refactoring op- centered point of view.
erations that work across the different disciplines and projects in- Finally, tracing is an important aspect to enable engineering dur-
cluding legacy code in order to improve the overall structure of the ing evolution to assess the impact of changes to various parts of the
system in all its parts, while maintaining the fulfillment of the NFRs. system. Here, approaches need to be developed which address the
For aPS, design patterns have not yet been developed extensively. different disciplines that are involved in the development of aPS.
So, an important research question in this respect is to develop de- Furthermore, automation support for trace management would be
sign patterns that cross-cut the different disciplines of modern aPS in beneficial as aPS are typically very complex and as such the number
order to improve their evolvability and to maintain code quality and of traces are very high.
structure after evolution, and fulfill the challenges mentioned above.
Clone and own is a widely used reuse approach in practical soft- Acknowledgments
ware and systems engineering. Instead of forcing other reuse mech-
anisms such as object-orientation to be used in practice, the existing This work was partially supported by the DFG (German Research
reuse techniques need to be better supported by appropriate tools, Foundation) under the Priority Programme SPP 1593: Design For
such as versioning system that are capable of feature annotation, fea- Future – Managed Software Evolution (Grant numbers FA 853/6-
ture harvesting or feature propagation. This holds in particular as ver- 1, SCHA1635/4-1 and GR3634/3-1 and PPU demonstrator) and by
sions of the aPS may become parallel existing variants of the aPS at the Collaborative Research Centre 768: Managing cycles in innova-
later points in time. These tools need to be capable of being integrated tion processes – integrated development of product-service systems
into the proprietary development environments for aPS as a prereq- based on technical products, TP A6 (CRC 768/2, A06) at the Technische
uisite for applicability in industry. Universität München.
The particular challenge for change impact analysis and incre- References
mental verification in aPS is the analysis of properties cross-cutting
several disciplines. While there exist approaches for compositional Abbes, M., Khomh, F., Guéhéneuc, Y.G., Antoniol, G., 2011. An empirical study of the
verification of software, the particular research question for aPS is impact of two antipatterns, blob and spaghetti code, on program comprehension.
In: Proceedings of the 15th IEEE European Conference on Software Maintenance
to develop compositional approaches that can deal with properties and Reengineering. CSMR, pp. 181–190.
cross-cutting different disciplines. A particular question is how to Althoen, S.C., McLaughlin, R., 1987. Gauss–Jordan reduction: a brief history. Am. Math.
find and deal with modularization concepts over different disciplines, Mon. 94 (2), 130–142.
Ampatzoglou, A., Kritikos, A., Kakarontzas, G., Stamelos, I., 2011. An empirical investi-
as there may be different component structures in the mechanical, gation on the reusability of design patterns and software packages. J. Syst. Softw.
electrical/electronic and software parts of an aPS. 84 (12), 2265–2283.
80 B. Vogel-Heuser et al. / The Journal of Systems and Software 110 (2015) 54–84

Anacker, H., Dorociak, R., Dumitrescu, R., Gausemeier, J., 2011. Integrated tool-based ap- Bonfè, M., Fantuzzi, C., Secchi, C., 2005. Unified modeling and verification of logic con-
proach for the conceptual design of advanced mechatronic systems. In: Proceed- trollers for physical systems. In: Proceedings of Decision and Control and European
ings of the 5th Annual IEEE International Systems Conference, Montreal, April 4–7, Control Conference. CDC-ECC, pp. 8349–8354.
2011, Quebec. Canada, pp. 506–511. Bonfè, M., Fantuzzi, C., 2003. Design and verification of industrial logic controllers with
Angerer, F., Prähofer, H., Kepler, J., Ramler, R., Grillenberger, F., 2013. Points-to analy- UML and statecharts. Control Appl. 2, 1029–1034.
sis of IEC 61131-3 programs: implementation and application institute for system Bork, M., Geiger, L., Schneider, C., Zündorf, A., 2008. Towards Roundtrip Engineering -
software. In: Proceedings of the 18th IEEE International Conference on Emerging A Template-Based Reverse Engineering Approach. ECMDA-FA 2008, pp. 33-47.
Technologies and Factory Automation. Cagliari, Italy. Cagliari, Italy. Braha, D., Maimon, O., 1997. The design process: properties, paradigms, and structure.
Angyal, L., Lengyel, L., Charaf, H., 2008. A synchronizing technique for syntactic model- IEEE Trans. Syst. Man Cybern. Part A: Syst. Hum. 27 (2), 146–166.
code round-trip engineering. In: Proceedings of the 15th Annual IEEE International Braun, S., Bartelt, C., Obermeier, M., Rausch, A., Vogel-Heuser, B., 2012. Requirements on
Conference and Workshop on Engineering of Computer Based Systems. evolution management of product lines in automation engineering. In: Proceed-
Antoniol, G., Canfora, G., Casazza, G., De Lucia, A., Merlo, E., 2002. Recovering traceabil- ings of the 7th International Conference on Mathematical Modelling. Mathmod.
ity links between code and documentation. IEEE Trans. Softw. Eng. 28 (10), 970– Vienna. Vienna.
983. Brooks, F.P., 1995. The mythical man-month. Essays on Software Engineering. Addison-
ARC Advisory Group, 2011. PLC & PLC-based PAC Worldwide Outlook: Five year market Wesley Longman.
analysis and technology forecast through 2016. Brown, R., Malveau, S., McCormick, Mowbray, T., 1998. AntiPatterns: Refactoring Soft-
Arendt, T., Biermann, E., Jurack, S., Krause, C., Taentzer, G., 2010. Henshin: advanced ware, Architectures, and Projects in Crisis. John Wiley & Sons, Inc..
concepts and tools for In-Place EMF model transformations. In: Proceedings of the Broy, M., Stølen, K., 2001. Specifiation and Development of Interactive Systems: Focus
13th International Conference on Model Driven Engineering Languages and Sys- on Streams, Interfaces and Refinement. Springer.
tems, MoDELS’10, 6394, pp. 121–135. Buckley, J., Mens, T., Zenger, M., Rashid, A., Kniesel, G., 2005. Towards a taxonomy of
Avizienis, A., Laprie, J.-C., Randell, B., Landwehr, C., 2004. Basic concepts and taxonomy software change. J. Softw. Maint. Evol.: Res. Pract. 17 (5), 309–332.
of dependable and secure computing. IEEE Trans. Dependable Secur. Comput. 1 (1), Buede, D.M., 2000. The Engineering Design of Systems: Models and Methods. Wiley,
11–33. New York.
Ayewah, N., Pugh, W., Hovemeyer, D., Morgenthaler, J.D., Penix, J., 2008. Using static Burmester, S., Giese, H., Münch, E., Oberschelp, O., Klein, F., Scheideler, P., 2008. Tool
analysis to find bugs. IEEE Softw. 25 (5), 22–29. support for the design of self-optimizing mechatronic multi-agent systems. Int. J.
Baier, C., Katoen, J.P., 2008. Principles of Model Checking. MIT Press. Softw. Tools Technol. Transf. 10 (3), 207–222.
Barais, O., Le Meur, A.-F., Duchien, L., Lawall, J.L., 2008. Software architecture evolution. Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M., 1996. Pattern-Oriented
In: Mens, T., Demeyer, S. (Eds.), Software Evolution. Springer, Berlin Heidelberg, Software Architecture: A System of Patterns. John Wiley & Sons, New York.
pp. 233–262. Chan, L.-K., Wu, M.-L., 2002. Quality function deployment: a literature review. Eur. J.
Bassi, L., Secchi, C., Bonfè, M., Fantuzzi, C., 2011. A SysML-based methodology for man- Oper. Res. 143 (3), 463–497.
ufacturing machinery modeling and design. IEEE/ASME Trans. Mechatron. 16 (6), Chen, L., Ali Babar, M., Ali, N., 2009. Variability management in software product
1049–1062. lines: a systematic review. In: Proceedings of the 13th International Software Prod-
Batory, D., Sarvela, J.N., Rauschmayer, A., 2004. Scaling step-wise refinement. IEEE uct Line Conference. SPLC. San Francisco, California, Carnegie Mellon University,
Trans. Softw. Eng. 30 (6), 355–371. pp. 81–90.
Bauer, N., Engell, S., Huuck, R., Lohmann, S., Lukoschus, B., Remelhe, M., Stursberg, O., Chhabra, R., Emami, M.R., 2011. Holistic system modeling in mechatronics. Mechatron-
2004. Verification of PLC programs given as sequential function charts. Integr. ics 21 (1), 166–175.
Softw. Specif. Tech. Appl. Eng. (LNCS) 3147, 517–540. Christensen, J.H., 2000. Design patterns for systems engineering in IEC 61499. Fachta-
Bayrak, G., Murr, P., Ulewicz, S., Vogel-Heuser, B., 2012. Comparison of a transformed gung Verteilte Autom. – Model. Und Methoden Für Entwurf, Verif. Eng. Und Instru-
Matlab/Simulink model into the programming language CFC on different IEC mentierung, Magdeburg, Germany, pp. 63–71.
61131-3 PLC environments. In: Proceedings of the 17th IEEE International Confer- Cicchetti, A., Di Rusico, D., Eramo, R., Pierantonio, A., 2010. JTL: a bidirectional and
ence on Emerging Technologies and Factory Automation. ETFA. Krakow. Krakow. change propagating transformation language, In: Malloy, B., Staab. S., van de Brand,
Bayrak, G., Renzhin, D., Vogel-Heuser, B., 2011. Integration of control loops in an UML M. (Eds.), Software Language Engineering (SLE). Springer Berlin Heidelberg, LNCS,
based engineering environment for PLC. In: Proceedings of the 16th Conference on vol. 6563, pp. 183-202.
Emerging Technologies and Factory Automation. ETFA, pp. 1–8. Clarke, E.M., Grumberg, O., Peled, D., 1999. Model Checking. MIT Press.
Becker, S., Brenner, C., Dziwok, S., Gewering, T., Heinzemann, C., Pohlmann, U., Cleland-Huang, J., Berenbach, B., Clark, S., Settimi, R., Romanova, E., 2007. Best practices
Priesterjahn, C., Schäfer, W., Suck, J., Sudmann, O., Tichy, M., 2012. The mecha- for automated traceability. IEEE Comput. 40 (6), 27–35.
tronicUML method – process, syntax, and semantics. Software Engineering Group, Cleland-Huang, J., Settimi, R., Duan, C., Zou, X., 2005. Utilizing supporting evidence to
Heinz Nixdorf Institute University of Paderborn Technical Report TR-RE-12- improve dynamic requirements traceability. In: Proceedings of the 13th IEEE Inter-
318. national Conference on Requirements Engineering. IEEE CS Press, pp. 135–144.
Becker, S., Koziolek, H., Reussner, R., 2009. The Palladio component model for model- Clements, P.C., Northrop, L., 2001. Software Product Lines: Practices and Patterns. SEI
driven performance prediction. J. Syst. Softw. 82 (1), 3–22. Series in Software Engineering, Addison-Wesley.
Becker, B., Beyer, D., Giese, H., Klein, F., Schilling, D., 2006. Symbolic invariant verifica- Czarnecki, K., Antkiewicz, M., 2005. Mapping features to models: a template approach
tion for systems with dynamic structural adaptation. In: Proceedings of the 28th based on superimposed variants. In: Karsai, G., Visser, E. (Eds.), Generative Pro-
International Conference on Software Engneering. ICSE, pp. 72–81. gramming and Component Engineering. Lecture Notes in Computer Science, vol.
Bellgran, M., Säfsten, K., 2010. Production Development: Design and Operation of Pro- 3286. Springer, Heidelberg Berlin, pp. 422–437.
duction Systems. Springer, London. Czarnecki, K., Eisenecker, U.W., 2000. Generative Programming: Methods, Tools, and
Benavides, D., Segura, S., Ruiz-Cortés, A., 2010. Automated analysis of feature models Applications. ACM Press/Addison-Wesley Publishing Co., New York, NY, USA.
20 years later: a literature review. J. Inf. Syst. 35 (6), 615–636. Detommasi, G., Vitelli, R., Boncagni, L., Neto, A.C., 2013. Modeling of MARTe-based real-
Bérard, B., Bidoit, M., Finkel, A., Laroussinie, F., Petit, A., Petrucci, L., Schnoebelen, Ph., time applications with SysML. IEEE Trans. Ind. Inform. 9 (4), 2407–2415.
McKenzie, P., 2001. Systems and Software Verification – Model-Checking Tech- Dhungana, D., Schreiner, H., Lehofer, M., Vierhauser, M., Rabiser, R., Grünbacher, P.,
niques and Tools. Springer, New York, Berlin. 2014. Modeling multiplicity and hierarchy in product line architectures: extend-
Berkovich, M., Hoffmann, A., Leimeister, J.M., Krcmar, H., 2011. Analysis of requirements ing a decision-oriented approach. In: Proceedings 3rd International Workshop on
engineering techniques for IT-enabled product-service-systems. In: Proceedings Variability in Software Architecture.VARSA.
of Workshop on Requirements Engineering for Systems and Systems-of-Systems Dhungana, D., Grünbacher, P., Rabiser, R., Neumayer, T., 2010. Structuring the modeling
Held in Conjunction with the International Requirements Engineering Conference. space and supporting evolution in software product line engineering. J. Syst. Softw.
Trient, Italy. Trient, Italy. 83 (7), 1108–1122.
Bettenburg, N., Shang, W., Ibrahim, W., Adams, B., Zou, Y., Hassan, A.E., 2009. An empir- Dubinin, V.N., Vyatkin, V., 2012. Semantics-robust design patterns for IEC 61499. IEEE
ical study on inconsistent changes to code clones at release level. In: Proceedings Trans. Ind. Inform 8 (2), 279–290.
of the 16th IEEE Working Conference on Reverse Engineering. WCRE, pp. 85–94. Dubinin, V., Vyatkin, V., Pfeiffer, T., 2005. Engineering of validatable automation sys-
Biallas, S., Giacobbe, M., Kowalewski, S., 2013. Predicate abstraction for programmable tems based on an extension of UML combined with function blocks of IEC 61499.
logic controllers. Formal Methods for Industrial Critical Systems, 8187. Springer, In: Proceedings of the International Conference on Robotics and Automation. ICRA,
Berlin Heidelberg, LNCS, pp. 123–138. pp. 3996–4001.
Biallas, S., Brauer, J., Kowalewski, S., 2012. Arcade.PLC. A verification platform for pro- Duschl, K., Gramß, D., Obermeier, M., Vogel-Heuser, B., 2014. Towards a taxonomy of
grammable logic controllers. In: Proceedings of the 27th IEEE/ACM International errors in PLC programming. Cogn. Technol. Work 17 (3).
Conference on Automated Software Engineering, pp. 338–341. Eckardt, T., Heinzemann, C., Henkler, S., Hirsch, M., Priesterjahn, C., Schäfer, W., 2013.
Bianchi, G., Blefari-Melazzi, N., Bonafede, G., Tintinelli, E., 2003. QUASIMODO: quality Modeling and verifying dynamic communication structures based on graph trans-
of service-aware multicasting over DiffServ and overlay networks. IEEE Netw. 17 formations. Comput. Sci.: R&D 28 (1), 3–22.
(1), 38–45. Elsner, C., Botterweck, G., Lohmann, D., Schröder-Preikschat, W., 2010. Variability in
Birkhofer, R., Feldmeier, G., Kalhoff, J., Kleedörfer, C., Leidner, M., Mildenberger, Time – Product Line Variability and Evolution Revisited. VaMoS, pp. 131-137.
R., Mühlhause, M., Niemann, J., Schrieber, R., Wickinger, J., Winzenick, M., Estévez, E., Marcos, M., Orive, D.D., 2007. Automatic generation of PLC automation
Wollschläger, M., 2010. Life-Cycle-Management für Produkte und Systeme projects from component-based models. Int. J. Adv. Manuf. Technol. 35 (5–6), 527–
der Automation – Ein Leitfaden des Arbeitskreises Systemaspekte im ZVEI 540.
Fachverband Automation, Zentralverband Elektrotechnik- und Elektronikindustrie Fanta, R., Raijlich, V., 1999. Removing clones from code. J. Softw. Maint. 11 (4), 223–243.
e.V. Fantuzzi, C., Bonfè, M., Secchi, C., 2009. A design pattern for model based software de-
Blanchard, B.S., 2004. System Engineering Management, 2nd ed. John Wiley & Sons. velopment for automatic machinery. In: Proceedings of the 13th IFAC Symposium
Bonfè, M., Fantuzzi, C., Secchi, C., 2013. Design patterns for model-based automation on Information Control Problems in Manufacturing. Moscow, Russia, pp. 1429–
software design and implementation. Control Eng. Pract. 21 (11), 1608–1619. 1434.
B. Vogel-Heuser et al. / The Journal of Systems and Software 110 (2015) 54–84 81

Fay, A., Vogel-Heuser, B., Frank, T., Eckert, K., Hadlich, T., Diedrich, C., 2015. Enhancing Haber, A., Rendel, H., Rumpe, B., Schaefer, I., 2012. Evolving delta-oriented soft-
a model-based engineering approach for distributed manufacturing automation ware product line architectures. In: Proceedings of the 17th Monterey Conference
systems with characteristics and design patterns. J. Syst. Softw. 101, 221–235. on Large-Scale Complex IT Systems: Development, Operation and Management,
Feldmann, S., Legat, C., Vogel-Heuser, B., 2015. Engineering support in the machine and Springer Berlin Heidelberg, pp. 183-208.
plant manufacturing domain through interdisciplinary product lines: an applica- Hackenberg, G., Campetelli, A., Legat, C., Mund, J., Teufl, S., Vogel-Heuser, B., 2014. For-
bility analysis. In: Proceedings of the 15th IFAC Symposium on Information Control mal technical process specification and verification for automated production sys-
in Manufacturing (INCOM) (In press). tems. In: Amyot, D., Fonseca, i, Casas, P., Mussbacher, G. (Eds.), System Analysis and
Feldmann, S., Kernschmidt, K., Vogel-Heuser, B., 2014. Combining a SysML-based mod- Modeling: Models and Reusability, vol. 8769. Springer, Heidelberg Berlin, pp. 287–
eling approach and semantic technologies for analyzing change influences in man- 303 Lecture Notes in Computer Science.
ufacturing plant models. In: Proceedings of the 47th CIRP Conference on Manufac- Hackenberg, G., Richter, C., Zäh, M.F., 2014. A multi-disciplinary modeling technique for
turing Systems. Ontario, Canada, pp. 451–456. requirements management in mechatronic systems engineering. In: Proceedings
Feldmann, S., Rösch, S., Legat, C., Vogel-Heuser, B., 2014. Keeping requirements and test of the 2nd International Conference on System-Integrated Intelligence: Challenges
cases consistent: towards an ontology-based approach. In: Proceedings of the 12th for Product and Production Engineering: Precedia Technology, vol. 15, pp. 5–16.
IEEE International Conference on Industrial Informatics. INDIN, pp. 732–738. Hajarnavis, V., Young, K., 2008. An Assessment of PLC software structure suitability for
Feldmann, S., Fuchs, J., Vogel-Heuser, B., 2012. Modularity, variant and version manage- the support of flexible manufacturing processes. IEEE Trans. Autom. Sci. Eng. 5 (4),
ment in plant automation – future challenges and state of the art. In: Proceedings 641–650.
of International Design Conference. DESIGN, pp. 1689–1698. Hametner, R., Kormann, B., Vogel-Heuser, B., Winkler, D., Zoitl, A., 2011. Test case gen-
Felici, M., 2003. Taxonomy of evolution and dependability. In: Proceedings of the 2nd eration approach for industrial automation systems. In: Proceedings of the 5th In-
International Workshop on Unanticipated Software Evolution, pp. 95–104. ternational Conference on Automation, Robotics and Applications, pp. 57–62.
Filieri, A., Ghezzi, C., Tamburrelli, G., 2012. A formal approach to adaptive software: Hametner, R., Winkler, D., Östreicher, T., Biffl, S., Zoitl, A., 2010. The adaptation of test-
continuous assurance of non-functional requirements. Form. Asp. Comput. 24 (2), driven software processes to industrial automation engineering. In: Proceedings of
163–186. IEEE International Conference on Industrial Informatics. INDIN, pp. 921–927.
Filieri, A., Grunske, L., Leva, A., 2015. Lightweight adaptive filtering for efficient learning Harder, J., Tiarks, R., 2012. A controlled experiment on software clones. In: Proceedings
and updating of probabilistic models. In: Proceedings of International Conference of IEEE 20th International Conference on Program Comprehension. ICPC, pp. 219–
on Software Engineering. ICSE. 228.
Frank, T., Merz, M., Eckert, K., Hadlich, T., Vogel-Heuser, B., Fay, A., Diedrich, C., 2011. Haubeck, C., Wior, I., Braubach, L., Pokahr, A., Ladiges, J., Fay, A., Lamersdorf, W., 2013.
Dealing with non-functional requirements in distributed control systems engi- Keeping pace with changes – towards supporting continuous improvements and
neering. In: Proceedings of the 16th IEEE Internationl Conference on Emerg- extensive updates in production automation software. Electron. Commun. EASST
ing Technologies and Factory Automation. ETFA, 5–9 September 2011. Toulouse, 56.
France. Toulouse, France. Haugen, O., Moller-Pedersen, B., Oldevik, J., Olsen, G.K., Svendsen, A., 2008. Adding
Frey, G., Litz, L., 2000. Formal methods in PLC programming. In: Proceedings of IEEE Standardized Variability to Domain Specific Languages. In: Proceedings of the 12th
International Conference on Systems, Man, and Cybernetics, vol. 4., pp. 2431–2436. International Software Product Line Conference. Limerick, pp. 139–148.
Fowler, M., 1999. Refactoring – Improving the Design of Existing Code. Addison-Wesley. Heinzemann, C., Sudmann, O., Schäfer, W., Tichy, M., 2013. A discipline-spanning de-
Fuchs, J., Feldmann, S., Legat, C., Vogel-Heuser, B., 2014. Identification of design patterns velopment process for self-adaptive mechatronic systems. In: Proceedings of the
for IEC 61131-3 in machine and plant manufacturing. In: Proceedings of the 19th International Conference on Software and System Process, pp. 36–45.
IFAC World Congress. IFAC, pp. 6092–6097. Heinzemann, C., Henkler, S., 2011. Reusing dynamic communication protocols in self-
Fuchs, J., Feldmann, S., Vogel-Heuser, B., 2012. Modularität im Maschinen- und Anla- adaptive embedded component architectures. In: Proceedings of the 14 ACM Inter-
genbau – Analyse der Anforderungen und Herausforderungen im industriellen Ein- national Symposium on Component Based Software Engineering. CBSE, pp. 109–
satz. In: Entwurf Komplexer Automatisierungssysteme. EKA. Magdeburg, pp. 306– 118.
317. Hermann, F., Gottman, S., Nachtigall, N., Ehrig, H., Braatz, B., Morelli, G., Pierre, A.,
Gamma, E., Helm, R., Johnson, R., Vlissides, J., 1994. Design Patterns: Elements of Engel, T., Ermel, C., 2014. Triple graph grammars in the large for translating
Reusable Object-Oriented Software. Addison-Wesley, Boston, US-MA. satellite procedures. In: Di Ruscio, D., Varro, D. (Eds.), Proceedings of International
Getir, S., van Hoorn, A., Grunske, L., Tichy, M., 2013. Co-evolution of software archi- Conference on Model Transform. ICMT. Springer International Publishing, pp. 122–
tecture and fault tree models: an explorative case study on a pick and place fac- 137.
tory automation system. In: Proceedings of Non-functional Properties in Modeling: Henzinger, T.A., Ho, P.-H., Wong-Toi, H., 1997. HYTECH: a model checker for hybrid sys-
Analysis, Languages, Processes. NiM-ALP, pp. 32–40. tems. Int. J. Softw. Tools Technol. Transf. 1 (1-2), 110–122.
Ghamarian, A.H., de Mol., M., Rensink, A., Zambon, E., Zimakova, M., 2012. Modelling Herold, S., Mair, M., 2014. Recommending refactorings to re-establish architectural con-
and analysis using GROOVE. Int. J. Softw. Tools Technol. Transf. 14 (1), 15–40. sistency. In: Proceedings of Conference on Software Architecture. ECSA, pp. 390–
Giese, H., Wagner, R., 2009. From model transformation to incremental bidirectional 397.
model synchronization. Softw. Syst. Model. 8 (1), 21–43. Herold, S., Mair, M., Rausch, A., Schindler, I., 2013. Checking conformance with refer-
Giese, H., Tichy, M., 2006. Component-Based Hazard Analysis: Optimal Designs, Prod- ence architectures: a case study. In: Proceedings of Enterprise Distributed Object
uct Lines, and Online-Reconfiguration. SAFECOMP 2006, 156-169. Computing Conference. EDOC, pp. 71–80.
Giese, H., Tichy, M., Burmester, S., Schäfer, W., Flake, S., 2003. Towards the composi- Hettel, T., Lawley, M., Raymond, K., 2008. Model synchronisation: definitions for round-
tional verification of real-time UML designs. In: 9th European software engineer- trip engineering. In: Proceedings of International Conference on Model Transfor-
ing conference held jointly with 11th ACM SIGSOFT international symposium on mation. ICMT, pp. 31–45.
Foundations of software engineering. Helsinki, Finland, pp. 38–47. Hildebrandt, S., Lamber, L., Giese, H., Rieke, J., Greenyer, J., Schäfer, W., Lauder, M.,
Göring, M., Fay, A., 2013. Method for the analysis of temporal change of physical struc- Anjorin, A., Schürr, A., 2013. A survey of triple graph grammar tools. Electron. Com-
ture in the instrumentation and control life-cycle. Nucl. Eng. Technol. 45 (5), 653– mun. EASST 57.
664. Hirsch, M., 2010. Systematic Design of Distributed Industrial Manufacturing Control
Goldberg, K., 2012. Editorial: a secret to advancing research and increasing citations to Systems. Martin-Luther-Universität Halle-Wittenberg Ph.D. dissertation.
your papers. IEEE Trans. Autom. Sci. Eng. 9 (3) 457–457. Hirsch, M., Hanisch, H.M., 2008. Design and verification of distributed industrial man-
Goldschmidt, T., Becker, S., Burger, E., 2012. View-based modelling – a tool oriented ufacturing control systems. In: Proceedings of Industrial Electronics Conference.
analysis. In: Proceedings of the Modellierung. Bamberg. Bamberg. IECON, pp. 152–157.
Gomaa, H., 2006. Designing software product lines with UML 2.0: from use cases to Holthusen, S., Wille, D., Legat, C., Beddig, S., Schaefer, I., Vogel-Heuser, B., 2014. Family
pattern-based software architectures. In: Morisio, M. (Ed.), Reuse of Off-the-Shelf model mining for function block diagrams in automation software. In: Proceedings
Components. Lecture Notes in Computer Science, vol. 4093. Springer, Berlin Hei- of Software Product Line Conference Workshops. SPLC, pp. 36-43.
delberg, p. 440. Hussain, T., Frey, G., 2006. UML-based development process for IEC 61499 with auto-
Goševa-Popstojanova, K., Trivedi, K., 2001. Architecture-based approach to reliability matic test-case generation. In: Proceedings of IEEE Conference on Emerging Tech-
assessment of software systems. Perform. Eval. 45 (2-3), 179–204. nologies and Factory Automation, pp. 1277–1284.
Gourcuff, V., De Smet, O., Faure, J.-M., 2008. Improving large-sized PLC pro- Hutchinson, J., Whittle, J., Rouncefield, M., Kristoffersen, S., 2011. Empirical assessment
grams verification using abstractions. In: Proceedings of the 17th IFAC World of MDE in industry. In: Proceedings of the 33rd ACM International Conference on
Congress. Software Engineering. ICSE. New York, pp. 471–480.
Greifeneder, J., Frey, G., 2007. DesLaNAS – a language for describing networked automa- Huuck, R., 2005. Semantics and analysis of instruction list programs. Electr. Notes
tion systems. In: Proceedings of IEEE Conference on Emerging Technology and Fac- Theor. Comput. Sci. 115, 3–18.
tory Automation. ETFA. Patras, Greece, pp. 1053–1060. IEC International Electrotechnical Commission, 2013. IEC Standard 61131-3 (02/13):
Grunske, L., Kaiser, B., Papadopoulos, Y., 2005. Model-driven safety evaluation with Programmable Controllers – part 3: Programming Languages.
state-event-based component failure annotations. In: Heinemann, G., et al. (Eds.), IEC International Electrotechnical Commision, 2011: IEC 61499 Function Blocks.
Proceedings of the 8th International Symposium on Component-Based Software IEC International Electrotechnical Commision, 2009. IEC 61131-3 Programmable Logic
Engineering. CBSE. Springer, Berlin Heidelberg, pp. 33–48. St. Louis, MO, USA. Proc. Controllers – Part 3: Programming Languages.
Grunske, L., Han, J., 2008. A comparative study into architecture-based safety evalu- IEC International Electrotechnical Commission, 1990. IEEE Standard Glossary of Soft-
ation methodologies using AADL’s error annex and failure propagation models. ware Engineering Terminology, December 31.
In: Proceedings of the 11th IEEE High Assurance Systems Engineering Symposium. IEEE-Standard 830, 1998. IEEE Recommended Practice for Software Requirements
HASE, pp. 283–292. Specifications.
Haber, A., Kutz, T., Rendel, H., Rumpe, B., Schaefer, I., 2011. Delta-oriented architectural IEEE-Standard 1220, 1999. IEEE Standard for Application and Management of the Sys-
variability using MontiCore. In: Proceedings of the 5th European Conference on tems Engineering Process.
Software Architecture: Companion Volume. Essen. Essen. IEEE-Standard 1233, 1998. IEEE Guide for Developing Requirements Specifications.
82 B. Vogel-Heuser et al. / The Journal of Systems and Software 110 (2015) 54–84

ISO 22400-2, 2012. Automation Systems and Integration – Key Performance Indicators Liebel, G., Marko, N., Tichy, M., Leitner, A., Hansson, J., 2014. Assessing the state-
for Manufacturing Operations Management – Part 2: Definitions and Descriptions. of-practice of model-based engineering in the embedded systems domain. In:
ISO/IEC 25010, 2011. Systems and Software Engineering – Systems and Software Qual- Dingel, J., Schulte, W. (Eds.). Model Driven Engineering Languages and Systems.
ity Requirements and Evaluation. Springer LNCS series, MODELS.
Jaeger, T., Fay, A., Wagner, T., Loewen, U., 2011. Mining technical dependencies through- Lochau, M., Bürdek, J., Lity, S., Hagner, M., Legat, C., Goltz, U., Schürr, A., 2014. Apply-
out engineering process knowledge. In: Proceedings of the16th Conference on ing model-based software product line testing approaches to the automation en-
Emerging Technologies and Factory Automation. ETFA. Toulouse. Toulouse. gineering domain. Automatisierungstechnik 62 (11), 771–780.
Jazdi, N., Maga, C., Göhner, P., 2011. Reusable models in industrial automation: expe- Lüder, A., Klostermeyer, A., Peschke, J., Bratoukhine, A., Sauter, T., 2005.
riences in defining appropriate levels of granularity. In: Proceedings of the 18th Distributed automation: PABADIS versus HMS. IEEE Trans. Ind. Inform. 1 (1), 31–38.
World Congress of the International Federation of Automatic Control. IFAC. Milano, Machado, J.J.B., Denis, B., Lesage, J.-J., Faure, J.-M., Fereira, J., 2006. Logic controllers de-
pp. 9145–9150. pendability verification using a plant model. In: Proceedings of the 3rd IFAC Work-
Jensen, H.E., Larsen, K., Skou, A., 2000. Scaling up Uppaal Automatic Verification of shop on Discrete-Event System Design.
Real-Time Systems Using Compositionality and Abstraction. In: Proceedings of the Maga, C., Jazdi, N., Göhner, P., 2011. Reusable Models in industrial automation: expe-
6th International Symosium on Formal Techniques in Real-Time and Fault-Tolerant riences in defining appropriate levels of granularity. In: Proceedings of IfAC Word
Systems. FTRTFT. Springer, pp. 19–30. Conference. Milano, Italy. Milano, Italy.
Johnson, S.C., 1988. Lint: A C Program Checker. Computer Science Technical Report No. Martini, A., Bosch, J., Chaudron, M., 2014. Architecture technical debt: understanding
65. causes and a qualitative model. In: Proceedings of Euromicro Conference Series
Jouault, F., Kurtev, I., 2006. Transforming models with ATL. In: Bruel, J.-M. (Ed.), Pro- on Software Engineering and Advanced Applications. SEAA. Verona, Italy. Verona,
ceedings of Satellite Events at the MoDELS 2005 Conference, vol. 3844. Springer, Italy.
Berlin Heidelberg, pp. 128–138. Mcfarlane, D.C., Bussmann, S., 2000. Developments in holonic production planning and
Juergens, E., Deissenboeck, F., Hummel, B., Wagner, S., 2009. Do code clones matter? In: control. Prod. Plan. Control 11 (6), 522–536.
Proceedings of the 31st International Conference on Software Engineering. ICSE, Medvidovic, N., Taylor, R.N., 2000. A classification and comparison framework
pp. 485–495. for software architecture description languages. IEEE Trans. Softw. Eng. 26 (1), 70–
Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, A.S., 1990. Feature-Oriented 93.
Domain Analysis (FODA) Feasibility Study. Carnegie-Mellon University Software Mertke, T., Frey, G., 2001. Formal verification of PLC programs generated from signal
Engineering Institute Technical Report. interpreted petri nets. IEEE Int. Conf. Syst. Man Cybernetics 4, 2700–2705.
Kapser, C., Godfrey, M.W., 2008. “Cloning considered harmful” considered harmful: Morris, P., Masera, M., Wilikens, M., 1998. Requirements engineering and industrial
patterns of cloning in software. Empir. Softw. Eng. 13 (6), 645–692. uptake. Requir. Eng. 3 (2), 79–83.
Katzke, U., Vogel-Heuser, B., Fischer, K., 2004. Analysis and state of the art of modules Neill, C.J., Laplante, P.A., 2003. Requirements engineering: the state of the practice. IEEE
in industrial automation. Autom. Technol. Pract. Int. 46 (1), 23–31. Softw. 20 (6), 40–45.
Kegel, H., Steimann, F., 2008. Systematically refactoring inheritance to delegation in Nentwich, C., Emmerich, W., Finkelstein, A., 2003. Consistency management with re-
Java. In: Proceedings of the 30th International Conference on Software engineering. pair actions. In: Proceedings of the 25th International Conference on Software En-
ICSE, pp. 431–440. gineering.. Portland, Oregon, USA, pp. 455–464.
Kernschmidt, K., Vogel-Heuser, B., 2013. An interdisciplinary SysML based modeling Noda, N., Kishi, T., 2008. Aspect-oriented modeling for variability management. In:
approach for analyzing change influences in production plants to support the en- Proceedings of the 12th International Software Product Line Conference. Limerick,
gineering. In: Proceedings of the 9th IEEE International Conference on Automation pp. 213–222.
Science and Engineering. CASE. Madison, WI, pp. 1113–1118. Obermeier, M., Braun, S., Vogel-Heuser, B., 2014. A model driven approach on object ori-
Khomh, F., Guéhéneuc, Y.-G., Antoniol, G., 2009. Playing roles in design patterns: an ented PLC programming for manufacturing systems with regard to usability. IEEE
empirical descriptive and analytic study. In: Proceedings of IEEE International Con- Trans. Ind. Inf. 11 (3), 790–800.
ference on Software Maintenance. ICSM, pp. 83–92. Object Management Group, 2014. Object Constraint Language (OCL) 2.4. http://www.
Khomh, F., Guéhéneuc, Y.-G., 2008. Do design patterns impact software quality posi- omg.org/spec/OCL/2.4/PDF
tively? In: Proceedings of the 12th IEEE European Conference on Software Mainte- Object Management Group, 2012. System Modeling Language (SysML) 1.3. http://www.
nance and Reengineering, CSMR, pp. 274–278. omg.org/spec/SysML/1.3/
Klein, C., Prehofer, C., Rumpe, B., 1997. Feature specification and refinement with state Object Management Group, 2011. Unified Modeling Language (UML) 2.4.
transition diagrams. In: Proceedings of the 4th IEEE Workshop on Feature Interac- http://www.omg.org/spec/UML/2.4/
tions in Telecommunications Networks and Distributed, pp. 284–297. Object Management Group, 2008. Meta Object Facility (MOF) 2.0 Query/View/
Kormann, B., Tikhonov, D., Vogel-Heuser, B., 2012. Automated PLC software testing us- Transformation Specification http://www.omg.org/spec/QVT/1.0/PDF .
ing adapted UML sequence diagrams. Inf. Control Probl. Manuf. 14 (1), 1615–1621. Ortmeier, F., Thums, A., Schellhorn, G., Reif, W., 2004. combining formal methods and
Kortler, S., Helms, B., Shea, K., Lindemann, U., 2011. A more flexible way of safety analysis – the ForMoSA approach. Integr. Softw. Specif. Tech. Appl. Eng.
modeling structure with multiple domains. In: Proceedings of the 13th Interna- (LNCS) 3147, 474–493.
tional Dependency and Structure Modelling Conference. DSM. Cambridge, USA, Pahl, G., Beitz, W., 1997. Konstruktionslehre. Methoden und Anwendungen, 4th ed.,
pp. 19–29. 2011. Springer, Berlin Heidelberg.
Kowal, M., Legat, C., Lorefice, D., Prehofer, C., Schaefer, I., Vogel-Heuser, B., 2014. Delta Papadopoulos, Y., McDermid, J., Sasse, R., Heiner, G., 2001. Analysis and synthesis of the
modeling for variant-rich and evolving manufacturing systems. In: Proceedings of behaviour of complex programmable electronic systems in conditions of failure.
the 1st ACM International Workshop on Modern Software Engineering Methods Reliab. Eng. Syst. Saf. 71 (3), 229–247.
for Industrial Automation, pp. 32–41. Pohl, K., Rupp, C., 2011. Requirements Engineering Fundamentals: A Study Guide for
Krause, J., Herrmann, A., Diedrich, C., 2008. Test Case Generation from Formal System the Certified Professional for Requirements Engineering Exam Foundation Level,
Specifications Based on UML State Machine. atp–International, pp. 47-54. IREB Compliant, 1st ed. Santa Barbara, US.
Kruchten, P., Nord, R., Ozkaya, I., 2012. Technical debt: from metaphor to theory and Pohl, K., Böckle, G., van der Linden, F., 2005. Software Product Line Engineering: Foun-
practice. IEEE Softw. 29 (6), 18–21. dations, Principles and Techniques. Springer-Verlag New York, Inc., Secaucus, NJ,
Kumar, B., Czybik, B., Jasperneite, J., 2011. Model based TTCN-3 testing of industrial USA.
automation systems – first results. In: Proceedings of IEEE Conference on Emerging Prehofer, C., 2004. Plug-and-play composition of features and feature interactions with
Technology and Factory Automation, pp. 1–4. statechart diagrams. Softw. Syst. Model. 3 (3), 221–234.
Kwiatkowska, M.Z., Parker, D., Qu, H., 2011. Incremental Quantitative Verification for Prähofer, H., Angerer, F., Ramler, R., Lacheiner, H., Grillenberger, F., 2012. Opportunities
Markov Decision Processes. DSN 2011, pp. 359-370. and challenges of static code analysis of IEC 61131-3 programs. In: Proceedings
Ladiges, J., Haubeck, C., Wior, I., Arroyo, E., Fay, A., Lamersdorf, W., 2013. Evolution of of the 17th IEEE International Conference on Emerging Technology and Factory
production facilities and its impact on non-functional requirements. In: Proceed- Automation. Krakow, Poland. Krakow, Poland.
ings of the 11th IEEE International Conference on Industrial Informatics. INDIN. Pleuss, A., Botterweck, G., Dhungana, D., Kowalewski, A., 2012. Model-driven support
Bochum. Bochum. for product line evolution on feature level. J. Syst. Softw. 85 (10), 2261–2274.
Lahtinen, J., Valkonen, J., Björkman, K., Frits, J., Niemelä, I., Heljanko, K., 2012. Model Preschern, C., Kajtazovic, N., Kreiner, C., 2012. Applying patterns to model-driven devel-
checking of safety-critical software in the nuclear engineering domain. Reliab. Eng. opment of automation systems: an industrial case study. In: 17th European Con-
Syst. Saf. 105, 104–113. ference on Pattern Language Programs. Kloster Irsee, Germany, pp. 1–6.
Legat, C., Mund, J., Campetelli, A., Hackenberg, G., Folmer, J., Schütz, D., Broy, M., Vogel- Ramesh, B., Jarke, M., 2001. Toward reference models for requirements traceability.
Heuser, B., 2014. Interface behavior modeling for automatic verification of indus- IEEE Trans. Softw. Eng. 27 (1), 58–93.
trial automation systems’ functional conformance. Automatisierungstechnik 62 Ray, B., Kim, M., 2012. A case study of cross-system porting in forked projects. In: Pro-
(11), 815–825. ceedings of Foundations of Software Engineering FSE. ACM.
Legat, C., Folmer, J., Vogel-Heuser, B., 2013. Evolution in industrial plant automation: a Rieke, J., 2015. Model Consistency Management for Systems Engineering. Universität
case study. In: Proceedings of the 39th Annual IEEE Conference on Industrial Elec- Paderborn Ph.D. dissertation.
tronics Society. Vienna, pp. 4386–4391. Rösch, S., Tikhonov, D., Schütz, D., Vogel-Heuser, B., 2014. Model-based testing of PLC
Lehman, M.M., Ramil, J.F., 2002. Software evolution and software evolution processes. software: test of plants’ reliability by using fault injection on component level. In:
Ann. Softw. Eng. 14 (1-4), 275–309. Proceedings of IFAC World Conference. Cape Town, ZA. Cape Town, ZA.
Lehman, M.M., 1980. Programs, life cycles, and laws of software evolution. Proc. IEEE Rösch, S., Teufl, S., Vogel-Heuser, B., 2015. Model-based quality assurance in plant au-
68 (9), 1060–1076. tomation using sequence diagrams – a comparison of two research approaches. In:
Li, F., Bayrak, G., Kernschmidt, K., Vogel-Heuser, B., 2012. Specification of the require- Proceedings of IEEE International Conference on Industrial Informatics. Cambridge.
ments to support information technology-cycles in the machine and plant manu- Cambridge (In press).
facturing industry. In: Proceedings of the IFAC Symposium on Information Control Rzevski, G., 2003. On conceptual design of intelligent mechatronic systems. Mecha-
Problems in Manufacturing. tronics 13 (10), 1029–1044.
B. Vogel-Heuser et al. / The Journal of Systems and Software 110 (2015) 54–84 83

Sage, A.P., Rouse, W.B., 2009. Handbook of Systems Engineering and Management, 2nd Thüm, T., Batory, D., Kastner, C., 2009. Reasoning about edits to feature models. In:
ed. John Wiley & Sons. Proceedings of the 31st International Conference on Software Engineering. ICSE,
Sanz, R., Zalewski, J., 2003. Pattern-based control systems engineering. IEEE Control pp. 254–264.
Syst. Mag. 23 (3), 43–60. Tikhonov, D., Schütz, D., Vogel-Heuser, B., 2014. Towards industrial application of
Schaefer, I., Rabiser, R., Clarke, D., Bettini, L., Benavides, D., Botterweck, G., Pathak, A., model-driven platform-independent PLC programming using UML. In: Proceed-
Trujillo, S., Villela, K., 2012. Software diversity: state of the art and perspectives. ings of the 40th Annual Conference of the IEEE Industrial Electronics Society.
Int. J. Softw. Tools Technol. Transf. 14 (5), 477–495. IECON. Dallas. Dallas.
Schaefer, I., 2010. Variability Modelling for Model-Driven Development of Software Tribastone, M., Gilmore, S., 2008. Automatic extraction of PEPA performance models
Product Lines. VaMoS, pp. 85-92. from UML activity diagrams annotated with the MARTE profile. In: Proceedings of
Schmid, K., Rabiser, R., Grünbacher, P., 2011. A comparison of decision modeling ap- the 7th International Workshop on Software and Performance, pp. 67–78.
proaches in product lines. In: Proceedings of the 5th International Workshop on Ulewicz, S., Schütz, D., Vogel-Heuser, B., 2014. Software changes in factory automation
Variability Modeling of Software-intensive Systems. VaMoS, pp. 119–126. - towards automatic change based regression testing. In: Proceedings of the 40th
Schneider, M., Bayrak, G., Reinschke, J., Al-Hage Ali, A., Zindler, A., Mettenleiter, M., Annual Conference of the IEEE Industrial Electronics Society. IECON.
Vogel-Heuser, B., 2014. Prototypical automatic code generation from simulink to Vepsalainen, T., Sierla, S., Peltola, J., Kuikka, S., 2010. Assessing the industrial applicabil-
SPPA-T3000. In: Proceedings of the 19th IFAC World Congress. Cape Town. Cape ity and adoption potential of the AUKOTON model driven control application en-
Town. gineering approach. In: Proceedings of the Industrial Informatics. INDIN, pp. 883–
Schröck, S., Fay, A., Jäger, T., 2015. Systematic interdisciplinary reuse within the engi- 889.
neering of automated plants. In: Proceedings of the 9th IEEE International Systems Verein Deutscher Ingenieure (VDI), 2010. VDI/VDE 3695: Engineering of Industrial
Conference, April 2015. Vancouver, Canada,. Vancouver, Canada, (In press). Plants – Evaluation and Optimization – Subject Processes. Beuth Verlag, Berlin.
Schubanz, M., Pleuss, A., Pradhan, L., Botterweck, G., Thurimella, A.K., 2013. Model- Verein Deutscher Ingenieure (VDI), 2008. VDI/VDE 3694: System Require-
driven planning and monitoring of long-term software product line evolution. In: ment/Specification for Planning and Design of Automation Systems.
Proceedings of the 7th ACM International Workshop on Variability Modelling of Verein Deutscher Ingenieure (VDI), 2005. VDI/VDE 3681: Classification and Evaluation
Software-intensive Systems. of Description Methods in Automation and Control Technology.
Schuh, G., Potente, T., Thomas, C., Hausberg, C., 2013. Restructuring of Production vs. Verein Deutscher Ingenieure (VDI), 2004. VDI 2206: Entwicklungsmethodik für
Continuous Improvement Processes - How to Increase Production Performance. In: mechatronische Systeme. Beuth Verlag, Berlin.
Proceedings of Annual Conference of the Production and Operations Management Vogel-Heuser, B., Diedrich, C., Fay, A., Jeschke, S., Kowalewski, S., Wollschlaeger, M.,
Society. Denver, CO. Denver, CO. Göhner, P., 2014. Challenges for software engineering in automation. J. Softw. Eng.
Schürr, A., 1995. Specification of graph translators with triple graph grammars. In: Appl. 7 (5), 440–451.
Mayr, E.W., Schmidt, G., Tinhofer, G. (Eds.), Proceedings of the 20th International Vogel-Heuser, B., Legat, C., Folmer, J., Rösch, S., 2014. Challenges of parallel evolution in
Workshop on Graph-Theoretic Concepts in Computer Science, June 16–18, 903. production automation focusing on requirements specification and fault handling.
Springer, Berlin Heidelberg, pp. 151–163 Herrsching, Germany. Automatisierungstechnik 62 (11), 758–770.
Secchi, C., Bonfè, M., Fantuzzi, C., 2007. On the use of UML for modeling mechatronic Vogel-Heuser, B., Rösch, S., 2015. Applicability of technical debt as a concept to under-
systems. IEEE Trans. Autom. Sci. Eng. 4 (1), 105–113. stand obstacles for evolution of automated production systems. In: Proceedings
Serna, F., Catalan, C., Blesa, A., Rams, J.M., 2010. Design patterns for failure management of IEEE International Conference on Systems, Man, and Cybernetics. Hongkong,
in IEC 61499 function blocks. In: Proceedings of the 17th IEEE International Con- China. Hongkong, China (In press).
ference on Emerging Technologies and Factory Automation. ETFA. Bilbao, Spain. Vogel-Heuser, B., Rösch, S., Martini, A., Tichy, T., 2015. Technical debt in automated pro-
Bilbao, Spain. duction systems. In: Proceedings of International Conference on Software Mainte-
Seidl, C., Schaefer, I., Aßmann, U., 2014. Capturing variability in space and time with nance and Ecolution. Bremen, Germany. Bremen, Germany (In press).
hyper feature models. In: Proceedings of the Eighth International Workshop on Vogel-Heuser, B., Schütz, D., Frank, T., Legat, C., 2014. Model-driven engineering of
Variability Modelling of Software-Intensive Systems. VaMoS. ACM. manufacturing automation software projects – a SysML-based approach. Mecha-
Sendall, S., Küster, J., 2004. Taming model round-trip engineering. In: Proceedings of tronics 24 (7), 883–897.
Workshop on Best Practices for Model-Driven Software Development. Vogel-Heuser, B., Legat, C., Folmer, J., Feldmann, S., 2014d. Researching Evolution in
Shah, A.A., Kerzhner, A.A., Schaefer, D., Paredis, C.J.J., 2010. Graph transformations and Industrial Plant Automation: Scenarios and Documentation of the Pick and Place
model-driven engineering. Multi-View Modeling to Support Embedded Systems Unit. Technical Report No. TUM-AIS-TR-01-14-02.
Engineering in SysML, pp. 580–601. Vogel-Heuser, B., Obermeier, M., Braun, S., Sommer, K., Jobst, F., Schweizer, K., 2012.
Sim, T.Y., Vogel-Heuser, B., 2010. Reviews and findings on implementing active learning Evaluation of a UML-based versus an IEC 61131-3-based software engineering ap-
in a large class environment for mechatronics and computer science students. IEEE proach for teaching PLC programming. IEEE Trans. Educ. 56 (3), 329–335.
Education Engineering – The Future of Global Learning in Engineering Education, Vogel-Heuser, B., 2014. Usability experiments to evaluate UML/SysML-based model
Madrid, Spain, pp. 1563–1572. driven software engineering notations for logic control in manufacturing automa-
Sinnema, M., Deelstra, S., 2007. Classifying variability modeling techniques. Inf. Softw. tion. J. Softw. Eng. Appl. 7 (11), 943–973.
Technol. 49 (7), 717–739. Vogel-Heuser, B., 2009. Automation in the wood and paper industry. In: Nof, S.Y. (Ed.),
Sjoberg, D.I., Yamashita, A., Anda, B.C.D., Mockus, A., Dyba, T., 2013. Quantifying the Handbook of Automation. Springer-Verlag, Berlin Heidelberg, pp. 1015–1026.
effect of code smells on maintenance effort. IEEE Trans. Softw. Eng. 39 (8), 1144– Völter, M., Bettin, J., Haase, A., Helsen, S., 2006. Model-Driven Software Development:
1156. Technology, Engineering, Management. Wiley.
Sünder, C., Vyatkin, V., Zoitl, A., 2013. Formal verification of downtimeless system evo- Vyatkin, V., 2013. software engineering in industrial automation: state-of-the-art re-
lution in embedded automation controllers. ACM Trans. Embedded Comput. Syst. view. IEEE Trans. Ind. Inf. 9 (3), 1234–1249.
(Special Issue Model. Verif. Discret. Event Syst.) 12 (1), 1–17 (referring to ACM dig- Vyatkin, V., 2011. IEC 61499 as enabler of distributed and intelligent automation: state-
ital library). of-the-art review. IEEE Trans. Ind. Inf. 7 (4), 768–781.
Song, S., Gui, L., Sun, J., Liu, Y., Dong, J.S., 2013. Improved reachability analysis in DTMC Vyatkin, V., Hanisch, H.-M., Pang, C., Yang, C.-H., 2009. Closed-loop modeling in future
via divide and conquer. In: Johnsen, E.B., Petre, L. (Eds.), Integrated Formal Meth- automation system engineering and validation. IEEE Trans. Syst. Man Cybern. Part
ods. Springer LNCS series, pp. 162–176. C, Appl. Rev. 39 (1), 17–28.
Strömman, M., Sierla, S., Koskinen, K., 2005. Control software reuse strategies with Weilkiens, T., 2008. Systems Engineering with SysML/UML: Modeling, Analysis, Design.
IEC 61499. In: Proceedings of the 10th IEEE International Conference on Emerging Morgan Kaufmann/ The OMG Press.
Technologies and Factory Automation. Catania, Italy., pp. 749–756. Weise, C., Lenzkes, D., 1997. Efficient scaling-invariant checking of timed bisimulation.
Strube, M., Runde, S., Figalist, H., Fay, A., 2011. Risk minimization in modernization In: Proceedings of STACS’97, LNCS 1200. Springer, pp. 177–188.
projects of plant automation – a knowledge-based approach by means of seman- Wenger, M., Zoitl, A., 2012. IEC 61131-3 model for model-driven development. In: Pro-
tic web technologies. In: Proceedings of the 16th IEEE International Conference on ceedings of the 38th Annual Conference on IEEE Industrial Electronics Society.
Emerging Technologies and Factory Automation. ETFA. Toulouse, France. Toulouse, IECON, pp. 3744–3749.
France. Westkämper, E., 2003. Adaptable production structures. Manufacturing Technologies
Stursberg, O., Fehnker, A., Han, Z., Krogh, B.H., 2004. Verification of a cruise control sys- for Machines of the Future (21st Century Technologies). Springer, Berliln, pp. 87–
tem using counterexample-guided search. Control Eng. Pract. 12 (10), 1269–1278. 120, chapter 4.
Synthesis (Software Productivity Consortium Services Corporation), 1993. Reuse- Wiendahl, H.-P., El Maraghy, H.A., Nyhuis, P., Zäh, M.F., Wiendahl, H.-H., Duffie, N.,
Driven Software Processes Guidebook: SPC-92019-CMC. Technical Report, Version Brieke, M., 2007. Changeable manufacturing-classification, design and operation.
02.00. 03. CIRP Ann. Manuf. Technol. 56 (2), 783–809.
Teufl, S., Hackenberg, G., 2015. Efficient impact analysis of changes in the requirements Wille, D., Holthusen, S., Schulze, S., Schaefer, I., 2013. Interface variability in family
of manufacturing automation systems. In: Proceedings of the IFAC Symposium on model mining. In: Proceedings of the 17th International Software Product Line
Information Control Problems in Manufacturing. Ottowa, Canada, pp. 1527–1534. Conference. New York, NY, USA. New York, NY, USA.
Thramboulidis, K., 2013. IEC 61499 as an enabler of distributed and intelligent automa- Witsch, D., Vogel-Heuser, B., Faure, J.-M., Marsal, G., 2006. Performance analysis of in-
tion: a state-of-the-art review – a different view. J. Eng. 2013, 1–9. dustrial ethernet networks by means of timed model-checking. In: Proceedings of
Thramboulidis, K., Frey, G., 2011. Towards a model-driven IEC 61131-based develop- the 12th IFAC Symposium on Information Control Problems in Manufacturing.
ment process in industrial automation. J. Softw. Eng. Appl. 4 (4), 217–226. Witsch, D., Vogel-Heuser, B., 2011. PLC-statecharts: an approach to integrate UML-
Thramboulidis, K., 2010. The 3 + 1 SysML view-model in model integrated mechatron- statecharts in open-loop control engineeringaspects on behavioral semantics and
ics. J. Softw. Eng. Appl. 3 (2), 109–118. model-checking. In: Proceedings of IFAC World Congress, pp. 7866–7872.
Tichy, M., Henkler, S., Holtmann, J., Oberthür, S., 2008. Component story diagrams: a Wolfenstetter, T., Floerecke, S., Böhm, M., Krcmar, H., 2015. Analyse der eignung
transformation language for component structures in mechatronic systems. In: domänenspezifischer methoden der anforderungsverfolgung für produkt-service-
Proceedings of the 4th Workshop on Object-oriented Modeling of Embedded Real- systeme. In: Proceedings of International Conference on Wirtschaftsinformatik (In
Time Systems. OMER, vol. 101. Paderborn, Germany. Paderborn, Germany. press).
84 B. Vogel-Heuser et al. / The Journal of Systems and Software 110 (2015) 54–84

Yamashita, A., Moonen, L., 2012. Do code smells reflect important maintainability Alexander Fay is a Professor at the Institute of Automation Technology of the Hel-
aspects? In: Proceedings of the 28th IEEE International Conference on Software mut Schmidt University, Hamburg. His main research interests are modeling languages,
Maintenance. ICSM, pp. 306–315. methods, and tools for efficient engineering of distributed automation systems.
Yang, C., Vyatkin, V., 2012. Transformation of Simulink models to IEC 61499 Function
Blocks for verification of distributed control systems. Control Eng. Pract. 20 (12), Ina Schaefer is a Professor and Director of the Institute of Software Engineering and
1259–1269. Automotive Informatics at Technische Universität Braunschweig. She got her Ph.D. de-
Zheng, T., Woodside, M., Litoiu, M., 2008. Performance model estimation and tracking gree at Technische Universität Kaiserslautern and worked as a PostDoc at Chalmers
using optimal filters. IEEE Trans. Softw. Eng. 34 (3), 391–406. University of Technology in Gothenburg, Sweden. Her main research interests include
Zoitl, A., Prähofer, H., 2013. Guidelines and patterns for building hierarchical automa- verification and testing methods for variant-rich, evolvable software systems.
tion solutions in the IEC 61499 modeling language. IEEE Trans. Ind. Inf. 9 (4), 2387–
2396. Matthias Tichy is a Professor at the Institute of Software Engineering and Compiler
Construction at the University of Ulm, Germany. Previously, he was an Assistant and
Birgit Vogel-Heuser is a Professor and Director of the Institute of Automation and In- Associate Professor at Chalmers University of Technology and the University of Gothen-
formation Systems at Technische Universität München. Her main research interests are burg in Sweden. His research focuses on cyber-physical systems. He works on model-
systems and software engineering, and modeling of distributed and reliable embedded driven system development, requirements, software evolution and empirical software
systems. She is coordinator of the Collaborative Research Centre SFB 768: managing engineering. Matthias Tichy is author or co-author of over 70 internationally reviewed
cycles in innovation processes – integrated development of product-service systems publications.
based on technical products.

You might also like