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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
The metamodels are available at https://github.com/uppaal-emf/uppaal.
References
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
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
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
Behrmann, G., Larsen, K.G., Rasmussen, J.I.: Optimal scheduling using priced timed automata. SIGMETRICS Perform. Eval. Rev. 32(4), 34–40 (2005)
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
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
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
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
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
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
Eclipse foundation Inc: XTend - modernized Java. https://www.eclipse.org/xtend/index.html
Emerson, E.A., Clarke, E.M.: Using branching time temporal logic to synthesize synchronization skeletons. Sci. Comput. Program. 2(3), 241–266 (1982)
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)
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)
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
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)
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
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
Herber, P., Glesner, S.: A HW/SW co-verification framework for systemC. ACM TECS 12(1s), 61:1–61:23 (2013)
Huistra, D.: A unifying model for attack trees. Research Project. University of Twente (2015). http://essay.utwente.nl/69399/
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
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)
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
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
Lee, E.A., Messerschmitt, D.G.: Synchronous data flow. Proc. IEEE 75(9), 1235–1245 (1987)
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
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
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
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
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)
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)
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)
da Silva, A.R.: Model-driven engineering: A survey supported by the unified conceptual model. Comput. Languages, Systems & Structures 43, 139–155 (2015)
Sprinkle, J., Rumpe, B., Vangheluwe, H., Karsai, G.: Metamodelling. In: Model-Based Engineering of Embedded Real-Time Systems, pp. 57–76. Springer (2010)
Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse modeling framework 2.0. Addison-Wesley Professional, 2nd edn. (2009)
Völter, M., Stahl, T., Bettin, J., Haase, A., Helsen, S.: Model-driven software development: technology, engineering, management. John Wiley & Sons (2006)
Yildiz, B.M., Bochisch, C.M., Rensink, A., Aksit, A.: An MDE approach for modular program analyses. In: Proc. Modularity in Modelling Workshop (2017)
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)
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
Corresponding author
Editor information
Editors and Affiliations
Rights 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)