Advertisement

Functional verification of distributed automation systems

Assisting production line operators by an automated model composition
  • Andreas ZellerEmail author
  • Nasser Jazdi
  • Michael Weyrich
ORIGINAL ARTICLE

Abstract

The demand of customer-specific products leads to a fundamental change to manufacturing facilities. To adapt the facilities to new product types, frequently occurring functionality changes in industrial automation systems are expected. Functionality changes are primarily implemented by software changes. These software changes within the operation phase can be implemented, for instance, by over-the-air software updates or ad hoc integration of new components. The effects of these changes are often difficult to estimate, especially in distributed automation systems. This mainly poses a challenge on production line operators, who are required to validate their automation systems after functionality changes have been executed. The goal of this contribution is to assist production line operators in the validation process of their automation systems after software changes. Formal verification methods can support the operators, due to its fully automated execution. However, the creation process of the behavior models needed for the formal verification is complex and error-prone. This is why formal verification is usually not used. Hence, a model-based technique is presented to automate this creation process. By means of this, the subsystem affected by the software change is automatically identified and subsequently a suitable input to a model-based verification tool is generated. The concept is based on the generation of a system model by composing the Petri net models of components within the automation system. In order to identify affected components, an impact analysis is performed, starting from the component in which a modification occurred. Followingly, a tailored subsystem is composed using the component models necessary for verification. This subsystem is applied to verify the system requirements for the affected components. To evaluate the applicability of the concept in the field of industrial automation, a distributed automation system was implemented. A service-oriented, OPC-UA-based, control network is thereby used to implement a technical process. Furthermore, a configuration interface enables change of the components at runtime. This emulates over-the-air updates and ad hoc networking. The concept is implemented with the demonstrator “TestIAS.” This test device detects software changes within the automation system and verifies them automatically according to the model-based approach presented. An empirical evaluation was performed with ten different reconfiguration scenarios showing functional changes. In addition, based on the time measurements of the time saving due to the impact analysis, the efficiency enhancement is substantiated.

Keywords

Modeling Model composition Software changes Software modification Impact analysis Verification Test Smart factory Industry 4.0 IIOT Line production operator 

Notes

References

  1. 1.
    Bortolini M, Faccio M, Manzini R, Pilati F (2016) Stochastic timed Petri nets to dynamically design and simulate industrial production processes. Int J Logist Syst Manag 25(1):20–43CrossRefGoogle Scholar
  2. 2.
    Vogel-Heuser B, Fay A (2015) Evolution of software in automated production systems: challenges and research directions. J Syst Softw 110:54–84CrossRefGoogle Scholar
  3. 3.
    Forschungsunion (2013) Acatech: recommendations for implementing the strategic initiative INDUSTRIE 4.0Google Scholar
  4. 4.
    Fay A, Vogel-Heuser B, Frank T, Eckert K, Hadlich T, Diedrich C (2015) Enhancing a model-based engineering approach for distributed manufacturing automation systems with characteristics and design patterns. J Syst Softw 101:221–235CrossRefGoogle Scholar
  5. 5.
    Vogel-Heuser B, Göhner P, Lüder A (2015) Agent-based control of production systems—and its architectural. In: Industrial agents - emerging applications of software agents in industry, pp 153– 170CrossRefGoogle Scholar
  6. 6.
    Zeller A, Weyrich M (2016) Challenges for functional testing of reconfigurable production systems. In: 21st IEEE International Conference on Emerging Technologies and Factory Automation, BerlinGoogle Scholar
  7. 7.
    Zeller A, Weyrich M Industry 4.0 with networked and flexible production needs new test methods (german title: Industrie 4.0 mit vernetzter und flexibler Produktion erfordert neue Testmethodiken), atp edition, S. 16–18, 10/2015Google Scholar
  8. 8.
    Legat C, Steden F, Feldmann S, Weyrich M, Vogel-Heuser B (2014) Co-evolution and reuse of automation control and simulation software. In: IECON 2014-40th Annual Conference of the IEEEGoogle Scholar
  9. 9.
    ISTQB—International Software Testing Board (2011) Certified tester foundation level syllabus, Version 2011.10.1, published by: Austrian Testing Board, German Testing Board e.V. & Swiss Testing BoardGoogle Scholar
  10. 10.
    Krause J (2012) Test case generation by model-based system specifications based on Petri net unfoldings, (german title: Testfallgenerierung aus modellbasierten Systemspezifikationen auf Basis von Petrinetzentfaltungen). Shaker Verlag AachenGoogle Scholar
  11. 11.
    Khlifi O, Mosbahi O, Khalgui M, Frey G (2017) New verification approach for reconfigurable distributed systems: ICSOFT-2017-12th International Conference on Software Technologies. MadridGoogle Scholar
  12. 12.
    Schlich B, Brauer J, Wernerus J, Kowalewski S (2009) Direct model checking of PLC programs in IL. In: 2nd IFAC Workshop on Dependable Control of Discrete Systems DCDS’09Google Scholar
  13. 13.
    Blech J O, Lindgren P, Pereira D, Vyatkin V, Zoitl A (2016) A comparison of formal verification approaches for IEC 61499. In: IEEE International Conference on Emerging Technologies and Factory Automation, BerlinGoogle Scholar
  14. 14.
    Broy M, Fox J, Hölzl F, Koss D, Kuhrmann M, Meisinger M, Penzenstadler B, Rittmann S, Schätz B, Spichkova M, Wild D (2008) Service-oriented modeling of CoCoME with focus and AutoFocus, The Common Component Modeling Example, Springer, BerlinGoogle Scholar
  15. 15.
    Spichkova Maria (2008) Focus on Isabelle: from specification to verification, Technical Report Department of Electrical and Computer Engineering, Concordia UniversityGoogle Scholar
  16. 16.
    Legat C, Mund J, Campetelli A, Hackenberg G, Folmer J, Schütz D, Broy M, Vogel-Heuser B (2015) Interface behavior modeling for automatic verification of industrial automation systems’ functional conformance. Automatisierungstechnik (at) 62(11):815—825Google Scholar
  17. 17.
    Ladiges J, Haubeck C, Fay A, Lamersdorf W (2015) Evolution management of production facilities by semi-automated requirement verification. Automatisierungstechnik (at) 62(11):781–793Google Scholar
  18. 18.
    Lochau M, Mennicke S, Baller H, Ribbeck L (2016) Incremental model checking of delta-oriented software product lines. J Log Algebr Methods Program 85:245–267MathSciNetCrossRefGoogle Scholar
  19. 19.
  20. 20.
    Behrmann G, David A, Larsen K (2004) A tutorial on UPPAAL. In: Formal methods for the design of real-time systems, Lecture Notes in Computer Science, published by Bernardo Marco. Springer, BerlinGoogle Scholar
  21. 21.
    Bortolino M, Ferrari E, Gamberi M, Pilati F, Faccio M (2017) Assembly system design in the Industry 4.0 era: a general framework. IFAC-PapersOnLine 50(1):5700–5705CrossRefGoogle Scholar
  22. 22.
    Vogel-Heuser B, Folmer J, Frey G, Liu L, Hermanns H, Hartmanns A (2012) Modeling of networked automation systems for simulation and model checking of time behavior. In: 9th International Multi-conference on Systems Signals and Devices. ChemnitzGoogle Scholar
  23. 23.
    ISO/IEC 15909-1: 2004-12, System and software engineering - high-level Petri nets - part 1: concepts, definitions and graphical notation.Google Scholar
  24. 24.
    ISO/IEC 15909-2:2011-02, Systems and software engineering—high-level Petri nets—part 2: transfer formatGoogle Scholar
  25. 25.
    Rausch M, Hanisch H-M (1995) Netz condition/event system with multiple condition outputs. In: Symposium on Emerging Technologies and Factory Automation, vol 1, pp 592–600Google Scholar
  26. 26.
    Khalgui M (2010) NCES-based modeling and CTL-based verification of reconfigurable embedded control systems. Comput Ind 61:198–212CrossRefGoogle Scholar
  27. 27.
    Hanisch H-M, Vyatkin V (2003) Verification of distributed control systems in intelligent manufacturing. J Intell Manuf 14:123– 136CrossRefGoogle Scholar
  28. 28.
    Aalst W, Lohmann N, Massuthe P, Stahl C, Wolf K (2010) Multiparty contracts: agreeing and implementing interorganizational processes. Comput J 53(1):90–106CrossRefGoogle Scholar
  29. 29.
    Frey G (2003) Hierarchical design of logic controllers using signal interpreted Petri nets. IFAC Proc 36(6):361–366CrossRefGoogle Scholar
  30. 30.
    IEC 61131-3:2013-03, Programmable controllers - part 3: programming languagesGoogle Scholar
  31. 31.
    Biallas S (2016) Verification of programmable logic code using model checking and static analysis. Dissertation RWTH Aachen Department of Computer Science, Technical ReportGoogle Scholar
  32. 32.
    Rösch S, Ulewicz S, Provost J, Vogel-Heuser B (2015) Review of model-based testing approaches in production automation and adjacent domains - current challenges and research gaps. J Softw Eng Appl 8:499–519CrossRefGoogle Scholar
  33. 33.
    Vogel-Heuser B, Schütz D, Frank T, Legat C (2014) Model-driven engineering of manufacturing automation software projects—a SysML-based approach. Mechatronics 24(7):883–897CrossRefGoogle Scholar
  34. 34.
    Zeller A, Jazdi N, Weyrich M (2018) Component based verification of distributed automation systems based on model composition. In: The 51st CIRP Conference on Manufacturing Systems, StockholmCrossRefGoogle Scholar

Copyright information

© Springer-Verlag London Ltd., part of Springer Nature 2019

Authors and Affiliations

  1. 1.Institute of Industrial Automation and Software EngineeringUniversity of StuttgartStuttgartGermany

Personalised recommendations