Skip to main content

How to Efficiently Build a Front-End Tool for UPPAAL: A Model-Driven Approach

  • Conference paper
  • First Online:
Dependable Software Engineering. Theories, Tools, and Applications (SETTA 2017)

Abstract

We propose a model-driven engineering approach that facilitates the production of tool chains that use the popular model checker Uppaal as a back-end analysis tool. In this approach, we introduce a metamodel for Uppaal ’s input model, containing both timed-automata concepts and syntax-related elements for C-like expressions. We also introduce a metamodel for Uppaal ’s query language to specify temporal properties; as well as a metamodel for traces to interpret Uppaal ’s counterexamples and witnesses. The approach provides a systematic way to build software bridging tools (i.e., tools that translate from a domain-specific language to Uppaal ’s input language) such that these tools become easier to debug, extend, reuse and maintain. We demonstrate our approach on five different domains: cyber-physical systems, hardware-software co-design, cyber-security, reliability engineering and software timing analysis.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    The metamodels are available at https://github.com/uppaal-emf/uppaal.

References

  1. Ahmad, W., Yildiz, B.M., Rensink, A., Stoelinga, M.: A model-driven framework for hardware-software co-design of dataflow applications. In: Berger, C., Mousavi, M.R., Wisniewski, R. (eds.) CyPhy 2016. LNCS, vol. 10107, pp. 1–16. Springer, Cham (2017). doi:10.1007/978-3-319-51738-4_1

    Chapter  Google Scholar 

  2. Basten, T., Hamberg, R., Reckers, F., Verriet, J.: Model-Based Design of Adaptive Embedded Systems. Springer Publishing Company, New York (2013). doi:10.1007/978-1-4614-4821-1

    Book  Google Scholar 

  3. Behrmann, G., David, A., Larsen, K.G., Håkansson, J., Petterson, P., Yi, W., Hendrink, M.: Uppaal 4.0. In: Proceedings of 3rd International Conference on Quantitative Evaluation of Systems (QEST), pp. 125–126 (2006). https://doi.org/10.1109/QEST.2006.59

  4. Behrmann, G., Larsen, K.G., Rasmussen, J.I.: Optimal scheduling using priced timed automata. SIGMETRICS Perform. Eval. Rev. 32(4), 34–40 (2005)

    Article  Google Scholar 

  5. Bengtsson, J., Yi, W.: Timed automata: semantics, algorithms and tools. In: Desel, J., Reisig, W., Rozenberg, G. (eds.) ACPN 2003. LNCS, vol. 3098, pp. 87–124. Springer, Heidelberg (2004). doi:10.1007/978-3-540-27755-2_3

    Chapter  Google Scholar 

  6. Brandt, J.: Understanding attacks: modeling the outcome of attack tree analysis. In: 25th Twente Student Conference on IT, vol. 25. University of Twente (2016), BSc. Thesis; see. http://referaat.cs.utwente.nl/conference/25/paper

  7. Bulychev, P., David, A., Larsen, K.G., Mikuc̆ionis, M., Poulsen, D.B., Legay, A., Wang, Z.: Uppaal-SMC: statistical model checking for priced timed automata. In: Proceedings of 10th Wks. Quantitative Aspects of Programming Languages (2012). https://doi.org/10.4204/EPTCS.85.1

  8. Dugan, J.B., Bavuso, S.J., Boyd, M.A.: Fault trees and sequence dependencies. In: Proceedings of Annual Reliability and Maintainability Symposium, pp. 286–293, January 1990

    Google Scholar 

  9. Dziwok, S., Gerking, C., Heinzemann, C.: Domain-specific Model Checking of MechatronicUML Models Using Uppaal. Technical report tr-ri-15-346, Paderborn University, Jul 2015. https://www.hni.uni-paderborn.de/pub/9121

  10. Dziwok, S., Pohlmann, U., Piskachev, G., Schubert, D., Thiele, S., Gerking, C.: The mechatronicUML design method: process and language for platform-independent modeling. Technical report tr-ri-16-352, Software Engineering Department, Fraunhofer IEM / Software Engineering Group, Heinz Nixdorf Institute , version 1.0, December 2016

    Google Scholar 

  11. Eclipse foundation Inc: XTend - modernized Java. https://www.eclipse.org/xtend/index.html

  12. Emerson, E.A., Clarke, E.M.: Using branching time temporal logic to synthesize synchronization skeletons. Sci. Comput. Program. 2(3), 241–266 (1982)

    Article  MATH  Google Scholar 

  13. Fakih, M., Grüttner, K., Fränzle, M., Rettberg, A.: State-based Real-time analysis of SDF applications on MPSoCs with shared communication resources. J. Syst. Archit. 61(9), 486–509 (2015)

    Article  Google Scholar 

  14. Frost, C., Jensen, C., Luckow, K.S., Thomsen, B.: WCET analysis of java bytecode featuring common execution environments. In: Proceedings of 9th International Wks. Java Technologies for Real-Time and Embedded Systems, pp. 30–39. ACM (2011)

    Google Scholar 

  15. Gerking, C., Schäfer, W., Dziwok, S., Heinzemann, C.: Domain-specific model checking for cyber-physical systems. In: Proceedings of 12th Wks. Model-Driven Engineering, Verification and Validation (MoDeVVa 2015). Ottawa, September 2015

    Google Scholar 

  16. Glatz, B., Cleary, F., Horauer, M., Schuster, H., Balog, P.: Complementing testing of IEC61499 function blocks with model-checking. In: Proceedings of 12th IEEE/ASME International Conference on Mechatronic, Embedded Systems and Applications (MESA) (2016)

    Google Scholar 

  17. Greenyer, J., Rieke, J.: Applying advanced TGG concepts for a complex transformation of sequence diagram specifications to timed game automata. In: Schürr, A., Varró, D., Varró, G. (eds.) AGTIVE 2011. LNCS, vol. 7233, pp. 222–237. Springer, Heidelberg (2012). doi:10.1007/978-3-642-34176-2_19

    Chapter  Google Scholar 

  18. Hartmanns, A., Hermanns, H.: The modest toolset: an integrated environment for quantitative modelling and verification. In: Ábrahám, E., Havelund, K. (eds.) TACAS 2014. LNCS, vol. 8413, pp. 593–598. Springer, Heidelberg (2014). doi:10.1007/978-3-642-54862-8_51

    Chapter  Google Scholar 

  19. Herber, P., Glesner, S.: A HW/SW co-verification framework for systemC. ACM TECS 12(1s), 61:1–61:23 (2013)

    Google Scholar 

  20. Huistra, D.: A unifying model for attack trees. Research Project. University of Twente (2015). http://essay.utwente.nl/69399/

  21. Kolovos, D.S., Paige, R.F., Polack, F.A.C.: The epsilon transformation language. In: Vallecillo, A., Gray, J., Pierantonio, A. (eds.) ICMT 2008. LNCS, vol. 5063, pp. 46–60. Springer, Heidelberg (2008). doi:10.1007/978-3-540-69927-9_4

    Chapter  Google Scholar 

  22. Kordy, B., Piètre-Cambacédès, L., Schweitzer, P.: DAG-based attack and defense modeling: don’t miss the forest for the attack trees. Comput. Sci. Rev. 13–14, 1–38 (2014)

    Article  MATH  Google Scholar 

  23. Kumar, R., Stoelinga, M.: Quantitative security and safety analysis with attack-fault trees. In: Proceedings of IEEE 18th International Symposium High Assurance Systems Engineering (HASE), pp. 25–32, January 2017

    Google Scholar 

  24. Kumar, R., Ruijters, E., Stoelinga, M.: Quantitative attack tree analysis via priced timed automata. In: Sankaranarayanan, S., Vicario, E. (eds.) FORMATS 2015. LNCS, vol. 9268, pp. 156–171. Springer, Cham (2015). doi:10.1007/978-3-319-22975-1_11

    Chapter  Google Scholar 

  25. Lee, E.A., Messerschmitt, D.G.: Synchronous data flow. Proc. IEEE 75(9), 1235–1245 (1987)

    Article  Google Scholar 

  26. Mohagheghi, P., Dehlen, V.: Where Is the proof? - a review of experiences from applying MDE in industry. In: Schieferdecker, I., Hartman, A. (eds.) ECMDA-FA 2008. LNCS, vol. 5095, pp. 432–443. Springer, Heidelberg (2008). doi:10.1007/978-3-540-69100-6_31

    Chapter  Google Scholar 

  27. Object Management Group (OMG): Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification, Version 1.2. OMG Document Number formal/01 Feb 2015. http://www.omg.org/spec/QVT/1.2

  28. Ravn, A.P., Srba, J., Vighio, S.: A formal analysis of the web services atomic transaction protocol with UPPAAL. In: Margaria, T., Steffen, B. (eds.) ISoLA 2010. LNCS, vol. 6415, pp. 579–593. Springer, Heidelberg (2010). doi:10.1007/978-3-642-16558-0_47

    Chapter  Google Scholar 

  29. Ruijters, E., Guck, D., Drolenga, P., Stoelinga, M.: Fault maintenance trees: reliability contered maintenance via statistical model checking. In: Proceedings IEEE 62nd Annual Reliability and Maintainability Symposium (RAMS). IEEE, January 2016

    Google Scholar 

  30. Ruijters, E., Stoelinga, M.: Fault tree analysis: a survey of the state-of-the-art in modeling, analysis and tools. Comput. Sci. Rev. 15–16, 29–62 (2015)

    Article  MathSciNet  MATH  Google Scholar 

  31. Schivo, S., Scholma, J., Wanders, B., Camacho, R.A.U., van der Vet, P.E., Karperien, M., Langerak, R., van de Pol, J., Post, J.N.: Modeling Biological Pathway Dynamics With Timed Automata. IEEE J. Biomed. Health Inform. 18(3), 832–839 (2014)

    Article  Google Scholar 

  32. Schivo, S., Scholma, J., van der Vet, P.E., Karperien, M., Post, J.N., van de Pol, J., Langerak, R.: Modelling with ANIMO: between fuzzy logic and differential equations. BMC Syst. Biol. 10(1), 56 (2016)

    Article  Google Scholar 

  33. da Silva, A.R.: Model-driven engineering: A survey supported by the unified conceptual model. Comput. Languages, Systems & Structures 43, 139–155 (2015)

    Google Scholar 

  34. Sprinkle, J., Rumpe, B., Vangheluwe, H., Karsai, G.: Metamodelling. In: Model-Based Engineering of Embedded Real-Time Systems, pp. 57–76. Springer (2010)

    Google Scholar 

  35. Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse modeling framework 2.0. Addison-Wesley Professional, 2nd edn. (2009)

    Google Scholar 

  36. Völter, M., Stahl, T., Bettin, J., Haase, A., Helsen, S.: Model-driven software development: technology, engineering, management. John Wiley & Sons (2006)

    Google Scholar 

  37. Yildiz, B.M., Bochisch, C.M., Rensink, A., Aksit, A.: An MDE approach for modular program analyses. In: Proc. Modularity in Modelling Workshop (2017)

    Google Scholar 

  38. Yildiz, B.M., Rensink, A., Bockisch, C., Aksit, M.: A Model-Derivation Framework for Software Analysis. In: Proc. 2nd Wks. Models for Formal Analysis of Real Systems (MARS) (2017)

    Google Scholar 

Download references

Acknowledgements

This research was partially funded by STW and ProRail under the project ArRangeer (grant 12238), STW project SEQUOIA (15474), NWO projects BEAT (612001303) and SamSam (628.005.015), and EU project SUCCESS.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Enno Ruijters .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this paper

Cite this paper

Schivo, S. et al. (2017). How to Efficiently Build a Front-End Tool for UPPAAL: A Model-Driven Approach. In: Larsen, K., Sokolsky, O., Wang, J. (eds) Dependable Software Engineering. Theories, Tools, and Applications. SETTA 2017. Lecture Notes in Computer Science(), vol 10606. Springer, Cham. https://doi.org/10.1007/978-3-319-69483-2_19

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-69483-2_19

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-69482-5

  • Online ISBN: 978-3-319-69483-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics