Keeping Pace with Changes - Towards Supporting Continuous Improvements and Extensive Updates in Manufacturing Automation Software

Every long-term used software system ages. Even though intangible goods like software do not degenerate in the proper sense, each software system degenerates in relation to the everlasting changes of requirements, usage scenarios and environmental conditions. Accordingly, operational software is commonly situated in a continuous evolution process in which manually conducted modifications and adaptations try to preserve or reinforce its quality. Unfortunately, such an unmanaged evolution inevitably leads to a discrepancy between the obsolete originally documented requirements and the updated software itself. For this reason, our contribution presents a coherent vision of an anti-aging cycle that preserves (non-)functional requirements as explicit runtime artefacts. The fulfilment of these requirements is validated based on conditionally triggered online test cases. In order to achieve an enhanced semantic test coverage, these test cases are adapted by monitoring, analysing and learning typical system behaviours. To explain our vision in more detail and demonstrate the benefit of a managed software evolution, our anti-aging cycle is exemplarily applied on the domain of manufacturing automation. 1

[1]  Larry Apfelbaum,et al.  Model Based Testing , 1997 .

[2]  Lars Braubach,et al.  Developing Distributed Systems with Active Components and Jadex , 2012, Scalable Comput. Pract. Exp..

[3]  James H. Cross,et al.  Reverse engineering and design recovery: a taxonomy , 1990, IEEE Software.

[4]  Arie van Deursen,et al.  On the Interplay Between Software Testing and Evolution and its Effect on Program Comprehension , 2008, Software Evolution.

[5]  Birgit Vogel-Heuser,et al.  Dealing with non-functional requirements in distributed control systems engineering , 2011, ETFA2011.

[6]  Alessandro Orso,et al.  Automated Behavioral Regression Testing , 2010, 2010 Third International Conference on Software Testing, Verification and Validation.

[7]  Armin Beer,et al.  Efficient Test Data Generation for Variables with Complex Dependencies , 2008, 2008 1st International Conference on Software Testing, Verification, and Validation.

[8]  Meir M. Lehman,et al.  On understanding laws, evolution, and conservation in the large-program life cycle , 1984, J. Syst. Softw..

[9]  Olly Gotel,et al.  An analysis of the requirements traceability problem , 1994, Proceedings of IEEE International Conference on Requirements Engineering.

[10]  Stephen J. Mellor,et al.  MDA Distilled Principles Of Model-Driven Architecture , 2004 .

[11]  Woochang Shin,et al.  A reengineering process for migrating from an object-oriented legacy system to a component-based system , 2003, Proceedings 27th Annual International Computer Software and Applications Conference. COMPAC 2003.

[12]  Manfred Broy,et al.  Evolutionary Development of Software Architectures , 2002 .

[13]  Alexander Egyed,et al.  A Scenario-Driven Approach to Trace Dependency Analysis , 2003, IEEE Trans. Software Eng..

[14]  Sebastian Abeck,et al.  Integrated Management of Networked Systems: Concepts, Architectures and their Operational Application , 1999 .

[15]  Gregor Engels,et al.  Design for Future – Legacy-Probleme von morgen vermeidbar? , 2009, Informatik-Spektrum.