SW Engineering in Automation
SW Engineering in Automation
Automation principles and resulting constraints (basic relations and refined requirement categories)
DIN: The level of automation = proportion of automatic functions to the entire set of functions of the plant
The automation functionality is realized on automation computers that are interconnected by a communication infrastructure .
Finally, there are components to display information and to input user interventions to interact with the users 
Important factor = user ==> Usability = important source of extra functional requirements [ 12 ]
To achieve higher operational goals higher level fcts are established which interact with the automation functions ==> further dependencies
closed loop dependencies challenges / Lifecycle management challenges
designing software based on formal models is not yet common in the automation industry. Albeit much research has been done regarding the generation of PLC code from formal models [ 2 ]
The efforts to introduce automation in production processes have changed fundamentally over the last years. While in the beginning, the focus was on the automation of fixed recurring activities, today's attempts try to assemble flexible system for varying tasks.
Local operation ?
An overview of the requirements for PLC programming and an evaluation of some notations have been developed by the GMA of "IFAC" [ 16 ]
the AF realized through sofwtare are running on domain specific platforms: +Communication +Application functions: (written in java, c++, production automation IEC 61131-3 and C) +OS: (real time properties).
Challenges in automation SW engineering explained in detail
Specific platforms and their constraints: Interoperability
Transfer the existing plant into a consolidated automation concept and automation architecture: interoperability [ 20 ]
technologies to integrate automation devices and thus, ensure interoperability of the cooperating functions and very long time in use of the devices are of significant importance [ 21 ]
Because most automation systems consist of distributed controllers (see Figure 1, right side) and are connected via communication networks in the design process the automation software need to be distributed to a specific controller guaranteeing the required constraints regarding Quality of Service, e.g. real time requirements. To support this complex task the FAVA approach has been developed . Distributed automation systems are also focused by Vyatkin .
Closed loop and Real time for a safe and secure operation
Real time capability
Most req have to be acquired for the entire system, from which the automation software can be derived --> Maximum throughput: flow rate control
Basic automation functions
Measuring, setting, switching, regulating, controlling, archiving, registering, prompt, manipulating, saving
The operation modes constitute another orthogonal requirement [ 18 ] --> The need for manual mode to eliminate the source of the fault in plant automation. Error handling [ 19 ]
Causal and temporal associations - propagation time, processing speed, computing and storage capacity, security and reliability
Life cycle management
The generic life cycle model for automation, developed by 
For the definition of such a version-terminology, the compatibility of the components has to be taken into account. A compatibility model, based on , is included in .
Online manipulation of the automation software
In order to control changes and manage different versions of a plant’s automation software, a number of different approaches in software configuration management have been taken (refer to Vyatkin  for a brief summary).
Models in automation
Partial models 
In order to enable synergetic modeling of mechatronic systems, models such as the SysML 3 + 1 view-model are in development. The SysML 3 + 1 view-model is an attempt to integrate modeling tools of the involved disciplines developing mechatronic systems i.e., IEC 61499 for software models and the Modelicamodelling language to represent a system’s mechanics (refer to Thramboulidisfor more details ).
Generic basic modules developed by computer scientists/engineers. They are provided for reuse. Developed using high level and OO languages and MDA
Application software built by electrical engineers by combining the generic basic modules and adopting the languages of [ 15 ]
For complex control functions, designing the control code in MATLAB/Simulink is suitable, which has to be translated into IEC 61131-3 or C code afterwards.
Due to several limitations of IEC 61131-3, the IEC 61499 standard, which offers an extension to the IEC 61131-3 Function Block Diagram, has been defined to improve the development of industrial systems [ 7 ]
Traditionally, a function-oriented design approach was used in PLC programming, but due to some limitations associated therewith, new approaches like object-oriented programming and aspect-oriented programming have been developed. Depending on the chosen design approach, different challenges regarding the usability have to be overcome [ 2 ]
Application of tools
The model-driven engineering (MDE)-approaches, which are common in software engineering,
with code generation and changes exclusively in the model, cannot be realized in plant automation ,
The tools have to be available for a long period of time (reliability → availability, maintainability, portability)
and have to be tailored to the respective user groups (usability, functional suitability). They have to support a
modular planning- and development-process, as automation systems are a combination of pre-assembled (partial)
systems. Thus, the tools have to support library concepts of component types (maintainability → reusability) and
special configuration processes. Especially for the integrative and successful cooperation of all stakeholders the
interoperability  of the used software tools and the support of a variant- and version-management in terms of
a life-cycle-management is essential.
The development and analysis of models (see 3.7) require appropriate software tools.
Numerous developments from the area of mainstream software engineering (such as service-orientation or
model-based engineering) have been adopted in the field of industrial automation. However, their relevance and
applicability in plant automation is limited and the implementation of standardization is necessary to enhance
their significance in industrial application .
refer to Vyatkin  for an overview of current software approaches including requirements engineering
as well as design strategies and construction issues.
SW engineering in automation
Sub-challenges on SW Engineering for plant and manufacturing systems: [ 5, 6, 7, 8]
The state of the art in SW Engineering in Automation [ 2 ]
The complexity is still increasing by the demand for higher flexibility to respond to ever changing markets ==> More functionalities [ 2 ]
The complexity is increased due to the combination of HW /SW and the distribution of the systems
Strict quality standards (safety/security)
Many approaches from general software engineering, like object orientation or MDE-approaches, have already been incorporated into plant automation. However, they reach their limits, if they are not adapted to the specific requirements. Methods and modeling techniques from software engineering need to be studied and evaluated based on the discussed criteria regarding their applicability or needed adaptation for the automation domain.
As one demonstrator for joined work, a simplified demonstrator has been developed providing many
engineering documents .
Valeriy Vyatkin [ 2 ]