Skip to main content
Log in

Automata-based refinement checking for real-time systems

  • Special Issue Paper
  • Published:
Computer Science - Research and Development

Abstract

Today’s mechatronic systems are increasingly interconnected using communication protocols for realizing advanced functionality. Communication protocols underlie hard real-time constraints and need to meet high quality standards for ensuring the safety of the system. A common approach for achieving their necessary quality and mastering their impending complexity is model-driven development. Applying this approach, a developer builds formal models of the communication protocols and applies formal verification techniques (e.g., model checking) for proving that the communication is safe. However, these techniques typically face the state-explosion problem that prevents proofs for large systems like interconnected mechatronic systems. In previous publications, we introduced the MechatronicUML method that provides a compositional verification approach for tackling the state-explosion problem. A key enabler for such an approach is a definition of refinement. In this paper, we extend the compositional verification approach of MechatronicUML in particular by using different kinds of refinement definitions including an automatic selection of the most suitable refinement definition. In addition, we significantly extend an existing approach of test automata construction for refinement checking. Using this approach we can also guarantee that a refined model is constructed correctly concerning the selected and applied refinement definition. We evaluate our approach by an example of an advanced railway transportation system.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22
Fig. 23

Similar content being viewed by others

Notes

  1. http://www.railcab.de.

  2. Computation tree logic (CTL), generalization of CTL (CTL*).

  3. http://www.pst.informatik.uni-muenchen.de/projekte/hugo/.

References

  1. Aceto L, Bouyer P, Burgueño A, Larsen KG (2003) The power of reachability testing for timed automata. Theor Comput Sci 300(1–3):411–475. doi:10.1016/s0304-3975(02)00334-1

    Article  MATH  Google Scholar 

  2. de Alfaro L, Henzinger TA (2005) Interface-based design. In: Broy M, Gruenbauer J, Harel D, Hoare T (eds) Engineering theories of software intensive systems, vol 195. Springer, Netherlands, NATO Science Series, pp 83–104. doi:10.1007/1-4020-3532-2

  3. de Alfaro L, Henzinger TA, Stoelinga M (2002) Timed interfaces. In: Sangiovanni-Vincentelli A, Sifakis J (eds) Embedded software, Lecture notes in computer science, vol 2491. Springer, Berlin Heidelberg, pp 108–122. doi:10.1007/3-540-45828-x_9

  4. Alur R (1999) Timed automata. In: Halbwachs N, Peled DA (eds) Computer aided verification, lecture notes in computer science, vol 1633. Springer, Berlin Heidelberg, pp 8–22. doi:10.1007/3-540-48683-6_3

  5. Alur R, Dill DL (1994) A theory of timed automata. Theor Comput Sci 126(2):183–235. doi:10.1016/0304-3975(94)90010-8

    Article  MathSciNet  MATH  Google Scholar 

  6. Alur R, Courcoubetis C, Dill DL (1993) Model-checking in dense real-time. Inf Comput 104(1):2–34. doi:10.1006/inco.1993.1024

    Article  MathSciNet  MATH  Google Scholar 

  7. Alur R, Henzinger TA, Kupferman O, Vardi MY (1998) Alternating refinement relations. In: Sangiorgi D, Simone R (eds) CONCUR’98 concurrency theory, lecture notes in computer science, vol 1466. Springer, Berlin Heidelberg, pp 163–178. doi:10.1007/bfb0055622

  8. Baier C, Katoen JP (2008) Principles of model checking. MIT Press, Cambridge

    MATH  Google Scholar 

  9. Becker S, Dziwok S, Gerking C, Heinzemann C, Schäfer W, Meyer M, Pohlmann U (2014a) The MechatronicUML method–model-driven software engineering of self-adaptive mechatronic systems. In: Proceedings of the 36th international conference on software engineering (posters), ACM, ICSE’14, accepted

  10. Becker S, Dziwok S, Gerking C, Heinzemann C, Thiele S, Schäfer W, Meyer M, Pohlmann U, Priesterjahn C, Tichy M (2014b) The MechatronicUML design method—process and language for platform-independent modeling. Tech. Rep. tr-ri-14-337, Heinz Nixdorf Institute, University of Paderborn, version 0.4

  11. Behrmann G, David A, Larsen KG (2004) A tutorial on uppaal. In: Bernardo M, Corradini F (eds) Formal methods for the design of real-time systems, no. 3185 in lecture notes in computer science, Springer, Berlin Heidelberg, pp 200–236. doi:10.1007/978-3-540-30080-9_7

  12. Bengtsson J, Yi W (2004) Timed automata: Semantics, algorithms and tools. In: Desel J, Reisig W, Rozenberg G (eds) Lectures on concurrency and petri nets, lecture notes in computer science, vol 3098. Springer, Berlin Heidelberg, pp 87–124. doi:10.1007/978-3-540-27755-2_3

  13. Bensalem S, Bozga M, Nguyen TH, Sifakis J (2010) Compositional verification for component-based systems and application. IET Softw 4(3):181–193. doi:10.1049/iet-sen.2009.0011

    Article  MATH  Google Scholar 

  14. Berezin S, Campos S, Clarke EM (1998) Compositional reasoning in model checking. In: Roever WP, Langmaack H, Pnueli A (eds) Compositionality: the significant difference, lecture notes in computer science, vol 1536. Springer, Berlin Heidelberg, pp 81–102. doi:10.1007/3-540-49213-5_4

  15. Beyer D (2001) Efficient reachability analysis and refinement checking of timed automata using bdds. In: Margaria T, Melham TF (eds) Correct hardware design and verification methods, lecture notes in computer science, vol 2144. Springer, Berlin Heidelberg, pp 86–91. doi:10.1007/3-540-44798-9_6

  16. Bojic I, Kusek M (2013) Self-synchronization of nonidentical machines in machine-to-machine systems. In: IEEE 7th international conference on self-adaptive and self-organizing systems, IEEE computer society, SASO’13, pp 265–266. doi:10.1109/saso.2013.39

  17. Brenner C, Heinzemann C, Schäfer W, Henkler S (2013) Automata-based refinement checking for real-time systems. In: Proceedings of software engineering 2013—Fachtagung des GI-Fachbereichs Softwaretechnik, Gesellschaft für Informatik e.V., lecture notes in informatics (LNI), vol P-213

  18. Broy M, Stølen K (2001) Specification and development of interactive systems: focus on streams, interfaces, and refinement. Springer, New York

    Book  Google Scholar 

  19. Carlson J, Håkansson J, Pettersson P (2006) Saveccm: an analysable component model for real-time systems. Electron Notes Theor Comput Sci 160:127–140. doi:10.1016/j.entcs.2006.05.019

    Article  Google Scholar 

  20. Clarke EM, Grumberg O, Peled DA (2000) Model checking. MIT Press, Cambridge

  21. Cobleigh JM, Avrunin GS, Clarke LA (2008) Breaking up is hard to do: an evaluation of automated assume-guarantee reasoning. ACM Trans Softw Eng Methodol (TOSEM) 17(2):1–52. doi:10.1145/1348250.1348253

    Article  Google Scholar 

  22. David A, Larsen KG, Legay A, Nyman U, Andrzey W (2010) Timed I/O automata: a complete specification theory for real-time systems. In: Proceedings of the 13th ACM international conference on Hybrid systems: computation and control, ACM, New York, NY, USA, HSCC ’10, pp 91–100. doi:10.1145/1755952.1755967

  23. Eckardt T, Henkler S (2010) Component behavior synthesis for critical systems. In: Giese H (ed) Architecting critical systems, lecture notes in computer science, vol 6150. Springer, Berlin Heidelberg, pp 52–71. doi:10.1007/978-3-642-13556-9_4

  24. Eckardt T, Heinzemann C, Henkler S, Hirsch M, Priesterjahn C, Schäfer w (2013) Modeling and verifying dynamic communication structures based on graph transformations. Comput Sci Res Dev 28(1):3–22. doi:10.1007/s00450-011-0184-y (published online)

    Article  Google Scholar 

  25. Feng L, Han T, Kwiatkowska M, Parker D (2011) Learning-based compositional verification for synchronous probabilistic systems. In: Bultan T, Hsiung PA (eds) Automated technology for verification and analysis, lecture notes in computer science, vol 6996. Springer, Berlin Heidelberg, pp 511–521. doi:10.1007/978-3-642-24372-1_40

  26. Gerking C (2013) Transparent Uppaal-based verification of MechatronicUML models. Master’s thesis, University of Paderborn

  27. Gerth R, Peled D, Vardi MY, Wolper P (1996) Simple on-the-fly automatic verification of linear temporal logic. In: Proceedings of the fifteenth IFIP WG6.1 international symposium on protocol specification, testing and verification XV, Chapman & Hall Ltd, London, pp 3–18. http://dl.acm.org/citation.cfm?id=645837.670574

  28. Giese H (2003) A formal calculus for the compositional pattern-based design of correct real-time systems. Tech. Rep. tr-ri-03-240, Software Engineering Group, University of Paderborn, Paderborn, Deutschland

  29. Giese H, Tichy M, Burmester S, Schäfer W, Flake S (2003) Towards the compositional verification of real-time uml designs. In: Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on foundations of software engineering, ACM Press, ESEC/FSE’03, pp 38–47. doi:10.1145/940071.940078

  30. Håkansson J, Carlson J, Monot A, Pettersson P, Slutej D (2008) Component-based design and analysis of embedded systems with Uppal port. In: Cha S, Choi JY, Kima M, Lee I, Viswanathan M (eds) 6th international symposium on automated technology for verification and analysis, Springer, pp 252–257. doi:10.1007/978-3-540-88387-6_23

  31. Harel D, Marelly R (2003) Come, let’s play: scenario-based programming using LSC’s and the play-engine. Springer, New York

    Book  Google Scholar 

  32. Harhurin A, Hartmann J, Ratiu D (2009) Motivation and formal foundations of a comprehensive modeling theory for embedded systems. Tech. Rep. TUM-I0924, Institut für Informatik, Technische Universität München

  33. Hegedüs Á, Bergmann G, Ráth I, Varró D (2010) Back-annotation of simulation traces with change-driven model transformations. In: Fiadeiro JL, Gnesi S, Maggiolo-Schettini A (eds) SEFM, IEEE computer society, pp 145–155. doi:10.1109/SEFM.2010.28

  34. Heinzemann C, Henkler S (2011) Reusing dynamic communication protocols in self-adaptive embedded component architectures. In: Proceedings of the 14th international symposium on component based software engineering, ACM, CBSE ’11, pp 109–118. doi:10.1145/2000229.2000246

  35. Heinzemann C, Brenner C, Dziwok S (2013) Evaluation-models. https://trac.cs.upb.de/mechatronicuml/wiki/JournalCSRD2013

  36. Henke C, Tichy M, Schneider T, Böcker J, Schäfer W (2008) Organization and control of autonomous railway convoys. In: Proceedings of the 9th international symposium on advanced vehicle control (AVEC ’08), pp 318–323

  37. Hooman J (1997) Verification of distributed real-time and fault-tolerant protocols. In: Johnson M (ed) Algebraic methodology and software technology, lecture notes in computer science, vol 1349. Springer, Berlin Heidelberg, pp 261–275. doi:10.1007/BFb0000476

  38. Hung PN, Nguyen VH, Aoki T, Katayama T (2010) Assume-guarantee tools for component-based software verification. In: Second international conference on knowledge and systems engineering, IEEE Computer Society, KSE’10, pp 172–177. doi:10.1109/kse.2010.18

  39. IEEE (2008) IEEE standard for a precision clock synchronization protocol for networked measurement and control systems. IEEE Std 1588–2008 (Revision of IEEE Std 1588–2002) pp c1–269. doi:10.1109/ieeestd.2008.4579760

  40. Jensen HE, Larsen KG, Skou A (2000) Scaling up uppaal—automatic verification of real-time systems using compositionality and abstraction. In: Mathai J (ed) Formal techniques in real-time and fault-tolerant systems, lecture notes in computer science, vol 1926. Springer, Berlin Heidelberg, pp 19–30. doi:10.1007/3-540-45352-0_4

  41. Kitchenham B, Pickard L, Pfleeger SL (1995) Case studies for method and tool evaluation. IEEE Softw 12(4):52–62. doi:10.1109/52.391832

    Article  Google Scholar 

  42. Kizza JM (2005) Computer network security. Springer, US

  43. Knapp A, Merz S, Rauh C (2002) Model checking timed uml state machines and collaborations. In: Proceedings of the 7th international symposium on formal techniques in real-time and fault-tolerant systems, Springer, FTRTFT ’02, pp 395–416. doi:10.1007/3-540-45739-9_23

  44. Kopetz H (1997) Real-time systems: design principles for distributed embedded applications, 1st edn. Kluwer Academic Publishers, Boston, Dordrecht, London

    MATH  Google Scholar 

  45. Li S, Balaguer S, David A, Larsen KG, Nielsen B, Pusinskas S (2010) Scenario-based verification of real-time systems using uppaal. Form Methods Syst Des 37(2–3):200–264. doi:10.1007/s10703-010-0103-z

    Article  Google Scholar 

  46. Object Management Group (2011) Unified modeling language (UML) 2.4.1 superstructure specification. Document formal/2011-08-06

  47. Pohlmann U (2013) Safe deployment for reconfigurable cyber-physical systems. In: Proceedings of the 18th international doctoral symposium on components and architecture, ACM, New York, NY, USA, WCOP ’13, pp 31–36. doi:10.1145/2465498.2465503

  48. Priesterjahn C, Tichy M, Henkler S, Hirsch M, Schäfer W (2010) Fujaba4eclipse real-time tool suite. In: Giese H, Karsai G, Lee EA, Rumpe B, Schätz B (eds) Model-based engineering of embedded real-time systems (MBEERTS), lecture notes in computer science, vol 6100. Springer, Berlin Heidelberg, chap 12, pp 309–315. doi:10.1007/978-3-642-16277-0_12

  49. Reeves S, Streader D (2008) General refinement, part one: interfaces, determinism and special refinement. Electron Notes Theor Comput Sci 214:277–307. doi:10.1016/j.entcs.2008.06.013

    Article  Google Scholar 

  50. Reeves S, Streader D (2008) General refinement, part two: flexible refinement. Electron Notes Theor Comput Sci 214:309–329. doi:10.1016/j.entcs.2008.06.014

    Article  Google Scholar 

  51. Schäfer W, Wehrheim H (2007) The challenges of building advanced mechatronic systems. In: future of software engineering, IEEE computer society, FOSE ’07, pp 72–84. doi:10.1109/FOSE.2007.28

  52. Stephens R (1997) A survey of stream processing. Acta Informatica 34(7):491–541. doi:10.1007/s002360050095

    Article  MathSciNet  MATH  Google Scholar 

  53. Sylla M, Stomp F, de Roever WP (2005) Verifying parameterized refinement. In: Proceedings of the 10th IEEE international conference on engineering of complex computer systems, IEEE computer society, ICECCS 2005, pp 313–321. doi:10.1109/iceccs.2005.82

  54. Szyperski C, Gruntz D, Murer S (2002) Component software—beyond object-oriented programming, 2nd edn. Addison-Wesley, Boston, MA, USA

  55. Tripakis S (2009) Checking timed büchi automata emptiness on simulation graphs. ACM Trans Comput Logic (TOCL) 10(3):1–19. doi:10.1145/1507244.1507245

    Article  MathSciNet  Google Scholar 

  56. Weise C, Lenzkes D (1997) Efficient scaling-invariant checking of timed bisimulation. In: Reischuk R, Morvan M (eds) Proceedings of the 14th annual symposium on theoretical aspects of computer science (STACS ’97), lecture notes in computer science, vol 1200. Springer, Berlin Heidelberg, pp 177–188. doi:10.1007/BFb0023458

  57. Xing J, Theelen B, Langerak R, van de Pol J, Tretmans J, Voeten J (2010) From POOSL to Uppal. In: Gomes L, Khomenko V, Fernandes J (eds) Tenth international conference on application of concurrency to system design, IEEE Computer Society Press, pp 47–56. doi:10.1109/ACSD.2010.21

Download references

Acknowledgments

This work was developed in the course of the Collaborative Research Center 614—Self-optimizing Concepts and Structures in Mechanical Engineering—University of Paderborn, and was published on its behalf and funded by the Deutsche Forschungsgemeinschaft. Christian Brenner is supported by the International Graduate School Dynamic Intelligent Systems. We thank Marie Christin Platenius for useful comments on draft versions of the paper. Moreover, we thank David Schubert for implementing the algorithms presented in this paper and Christopher Gerking for setting up the Eclipse update site.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Stefan Dziwok.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Heinzemann, C., Brenner, C., Dziwok, S. et al. Automata-based refinement checking for real-time systems. Comput Sci Res Dev 30, 255–283 (2015). https://doi.org/10.1007/s00450-014-0257-9

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00450-014-0257-9

Keywords

Navigation