Abstract
This chapter addresses the integration and orchestration of external analysis tools into modelling environments. We first give a detailed overview of the considered context and problem statement. Then, a solution in the form of a reference architecture for the integration of analysis tools into modelling environments is presented. We collect a set of requirements that analysis tools must satisfy in order to enable (a) the integration of these analyses into modelling environments and (b) the orchestration of these analysis tools to produce overall results. Finally, we give an overview of different orchestration strategies for the integration of analysis tools and show examples.
This core chapter addresses Challenge 2 introduced in Chap. 3 of this book (the practical implications—how to integrate and orchestrate existing analysis tools).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Paolo Arcaini, Angelo Gargantini, and Elvinia Riccobene. “CoMA: Conformance Monitoring of Java Programs by Abstract State Machines”. In: Runtime Verification—Second International Conference. 2011, pp. 223–238. https://doi.org/10.1007/978-3-642-29860-8_17.
Paolo Arcaini, Angelo Gargantini, and Elvinia Riccobene. “Using SMT for dealing with nondeterminism in ASM-based runtime verification”. In: Electronic Communications of the EASST 70 (2014), pp. 1–15. https://doi.org/10.14279/tuj.eceasst.70.970.
Paolo Arcaini, Angelo Gargantini, and Elvinia Riccobene. “SMT-Based Automatic Proof of ASM Model Refinement”. In: Software Engineering and Formal Methods - 14th International Conference. 2016, pp. 253–269. https://doi.org/10.1007/978-3-319-41591-8_17.
Paolo Arcaini, Angelo Gargantini, and Elvinia Riccobene. “Closing the gap between the specification and the implementation: the ASMETA way”. In: Models: Concepts, Theory, Logic, Reasoning and Semantics - Essays Dedicated to Klaus-Dieter Schewe on the Occasion of his 60th Birthday. 2018, pp. 242–263.
Paolo Arcaini and Elvinia Riccobene. “Automatic Refinement of ASM Abstract Test Cases”. In: IEEE International Conference on Software Testing, Verification and Validation Workshops. 2019, pp. 1–10. https://doi.org/10.1109/ICSTW.2019.00025.
Vincent Aravantinos, Sebastian Voss, Sabine Teufl, Florian Hölzl, and Bernhard Schätz. “AutoFOCUS 3: Tooling Concepts for Seamless, Model-based Development of Embedded Systems”. In: 8th International Workshop on Model-based Architecting of Cyber-Physical and Embedded Systems. 2015, pp. 19–26. http://ceurws.org/Vol-1508/paper4.pdf.
Paolo Arcaini, Angelo Gargantini, Elvinia Riccobene, and Patrizia Scandurra. “A model-driven process for engineering a toolset for a formal method”. In: Software: Practice and Experience 41.2 (2011), pp. 155–166. https://doi.org/10.1002/spe.1019.
Clark Barrett, Christopher L. Conway, Morgan Deters, Liana Hadarean, Dejan Jovanovic, Tim King, Andrew Reynolds, and Cesare Tinelli. “CVC4”. In: Proceedings of the 23rd International Conference on Computer Aided Verification, CAV. 2011, pp. 171–177.
Steffen Becker. Coupled Model Transformations for QoS Enabled Component-Based Software Design. Universitätsverlag Karlsruhe, 2008. https://publikationen.bibliothek.kit.edu/1000009095.
Bernard Berthomieu, Jean-Paul Bodeveix, Patrick Farail, Mamoun Filali, Hubert Garavel, Pierre Gaufillet, Frederic Lang, and François Vernadat. “Fiacre: an Intermediate Language for Model Verification in the Topcased Environment”. In: 4th European Congress ERTS Embedded Real Time Software. Jan. 2008, 8p. https://hal.inria.fr/inria-00262442.
Dirk Beyer. “Partial Verification and Intermediate Results as a Solution to Combine Automatic and Interactive Verification Techniques”. In: Leveraging Applications of Formal Methods, Verification and Validation: Foundational Techniques. 2016, pp. 874–880.
Silvia Bonfanti, Angelo Gargantini, and Atif Mashkoor. “Design and validation of a C+ + code generator from Abstract State Machines specifications”. In: Journal of Software: Evolution and Process 32.2 (2020). https://doi.org/10.1002/smr.2205.
Xavier Blanc, Marie-Pierre Gervais, and Prawee Sriplakich. “Model Bus: Towards the Interoperability of Modelling Tools”. In: European Workshop on Model Driven Architecture. 2005, pp. 17–32. https://doi.org/10.1007/11538097_2.
Johannes Aldert Bergstra and Paul Klint. “The ToolBus coordination architecture”. In: Coordination Languages and Models. 1996, pp. 75–88. https://doi.org/10.1007/3-540-61052-9_40.
Volker Braun, Tiziana Margaria, and Carsten Weise. “Integrating tools in the ETI platform”. In: International Journal on Software Tools for Technology Transfer 1.1-2 (Dec. 1997), pp. 31–48. https://doi.org/10.1007/s100090050004.
François Bobot, Jean-Christophe Filliâtre, Claude Marché, and Andrei Paskevich. “Why3: Shepherd Your Herd of Provers”. In: Boogie 2011: First International Workshop on Intermediate Verification Languages (May 2012).
Roberto Cavada, Alessandro Cimatti, Michele Dorigatti, Alberto Griggio, Alessandro Mariotti, Andrea Micheli, Sergio Mover, Marco Roveri, and Stefano Tonetta. “The nuXmv Symbolic Model Checker”. In: Computer Aided Verification. 2014, pp. 334–342.
Alessandro Cimatti, Michele Dorigatti, and Stefano Tonetta. “OCRA: A Tool for Checking the Refinement of Temporal Contracts”. In: International Conference on Automated Software Engineering. 2013, pp. 702–705.
Alessandro Cimatti, Edmund M. Clarke, Enrico Giunchiglia, Fausto Giunchiglia, Marco Pistore, Marco Roveri, Roberto Sebastiani, and Armando Tacchella. “NuSMV 2: An OpenSource Tool for Symbolic Model Checking”. In: 14th International Conference on Computer Aided Verification, CAV, Proceedings. 2002, pp. 359–364.
Edmund Clarke, Daniel Kroening, and Flavio Lerda. “A Tool for Checking ANSI-C Programs”. In: Tools and Algorithms for the Construction and Analysis of Systems. Vol. 2988. 2004, pp. 168–176.
Simon Cruanes, Gregoire Hamon, Sam Owre, and Natarajan Shankar. “Tool Integration with the Evidential Tool Bus”. In: International Workshop on Verification, Model Checking, and Abstract Interpretation. 2013, pp. 275–294. https://doi.org/10.1007/978-3-642-35873-9_18.
Matthew B. Dwyer and Sebastian Elbaum. “Unifying verification and validation techniques”. In: Proceedings of the FSE/SDP workshop on Future of software engineering research. 2010. https://doi.org/10.1145/1882362.1882382.
Bruno Dutertre. “Yices 2.2”. In: Computer Aided Verification. 2014, pp. 737–744.
Patrick Farail, Pierre Gaufillet, Agusti Canals, Christophe LE Camus, David Sciamma, Pierre Michel, Xavier Crégut, and Marc Pantel. “The TOPCASED project: a Toolkit in Open source for Critical Aeronautic SystEms Design”. In: European Congress on Embedded Real Time Software. 2006. https://hal.archivesouvertes.fr/hal-02270461.
Peter Feiler, David Gluch, and John Hudak. The Architecture Analysis & Design Language (AADL): An Introduction. Tech. rep. CMU/SEI-2006-TN-011. Software Engineering Institute, Carnegie Mellon University, 2006. http://resources.sei.cmu.edu/library/asset-view.cfm?AssetID=7879.
Giorgio Forcina, Ali Sedaghatbaf, Stephan Baumgart, Ali Jafari, Ehsan Khamespanah, Pavle Mrvaljevic, and Marjan Sirjani. “Safe Design of Flow Management Systems Using Rebeca”. In: J. Inf. Process. 28 (2020), pp. 588–598.
Jean-Christophe Filliâtre and Andrei Paskevich. “Why3— Where Programs Meet Provers”. In: European Symposium on Programming Languages and Systems. 2013, pp. 125–128. https://doi.org/10.1007/978-3-642-37036-6_8.
Matthias Güdemann, Michael Lipaczewski, and Frank Ortmeier. “Tool Supported Model-Based Safety Analysis and Optimization”. In: Proceedings of the 17th IEEE Pacific Rim International Symposium on Dependable Computing. Jan. 1, 2011. http://ieeexplore.ieee.org/abstract/document/6133100/.
Angelo Gargantini, Elvinia Riccobene, and Patrizia Scandurra. “A Metamodel-based Language and a Simulation Engine for Abstract State Machines”. In: Journal of Universal Computer Science 14.12 (2008), pp. 1949–1983. https://doi.org/10.3217/jucs-014-12-1949.
Robert Heinrich, Francisco Durán, Carolyn L. Talcott, and Steffen Zschaler (eds.) Composing Model-Based Analysis Tools. Springer, 2021. https://doi.org/10.1007/978-3-030-81915-6.
Gerard Holzmann. The Spin Model Checker: Primer and Reference Manual. Addison-Wesley Professional, 2003.
Marta Kwiatkowska, Gethin Norman, and David Parker. “PRISM 4.0: Verification of Probabilistic Real-time Systems”. In: Proc. 23rd International Conference on Computer Aided Verification. Vol. 6806. 2011, pp. 585–591.
Tiziana Margaria. “Web services-based tool-integration in the ETI platform”. In: Software & Systems Modeling 4.2 (May 2005), pp. 141–156. https://doi.org/10.1007/s10270-004-0072-z.
Leonardo de Moura and Nikolaj Bjørner. “Z3: An Efficient SMT Solver”. In: Tools and Algorithms for the Construction and Analysis of Systems. 2008, pp. 337–340.
Tiziana Margaria, Ralf Nagel, and Bernhard Steffen. “jETI: A Tool for Remote Tool Integration”. In: Tools and Algorithms for the Construction and Analysis of Systems. 2005, pp. 557–562. https://doi.org/10.1007/978-3-540-31980-1_38.
Zaur Molotnikov, Markus Völter, and Daniel Ratiu. “Automated domain-specific C verification with mbeddr”. In: International Conference on Automated Software Engineering. 2014, pp. 539–550. https://doi.org/10.1145/2642937.2642938.
Object Management Group. OMG Systems Modeling Language (OMG SysML), Version 1.3. 2012. http://www.omg.org/spec/SysML/1.3/.
Object Management Group. UML 2.5. Tech. rep. formal/2015-03-01. Object Management Group, 2015.
Daniel Ratiu, Bernhard Schaetz, Markus Voelter, and Bernd Kolb. “Language engineering as an enabler for incrementally defined formal analyses”. In: 1st International Workshop on Formal Methods in Software Engineering: Rigorous and Agile Approachess. 2012, pp. 9–15. https://doi.org/10.1109/FormSERA.2012.6229790.
Daniel Ratiu, Markus Voelter, Zaur Molotnikov, and Bernhard Schaetz. “Implementing Modular Domain Specific Languages and Analyses”. In: Proceedings of the Workshop on Model-Driven Engineering, Verification and Validation. 2012, pp. 35–40. https://doi.org/10.1145/2427376.2427383.
Daniel Ratiu, Markus Voelter, Bernd Kolb, and Bernhard Schaetz. “Using Language Engineering to Lift Languages and Analyses at the Domain Level”. In: NASA Formal Methods Symposium. 2013, pp. 465–471. https://doi.org/10.1007/978-3-642-38088-4_35.
Rebeca. Afra Tool. http://rebeca-lang.org/alltools/Afra.2019.
Ralf H. Reussner, Steffen Becker, Jens Happe, Robert Heinrich, Anne Koziolek, Heiko Koziolek, Max Kramer, and Klaus Krogmann. Modeling and Simulating Software Architectures – The Palladio Approach. MIT Press, 2016. https://mitpress.mit.edu/books/modeling-and-simulating-software-architectures.
Daniel Ratiu, Marco Gario, and Hannes Schoenhaar. “FASTEN: An Open Extensible Framework to Experiment with Formal Specification Approaches: Using Language Engineering to Develop a Multi-Paradigm Specification Environment for NuSMV”. In: Proceedings of the 7th International Workshop on Formal Methods in Software Engineering. 2019, pp. 41–50. https://doi.org/10.1109/FormaliSE.2019.00013.
Daniel Ratiu and Andreas Ulrich. “An integrated environment for Spin-based C code checking - Towards bringing model-driven code checking closer to practitioners”. In: International Journal of Software Tools for Technology Transfer 21.3 (2019), pp. 267–286. https://doi.org/10.1007/s10009-019-00510-w.
John Rushby. “An Evidential Tool Bus”. In: Formal Methods and Software Engineering. 2005, pp. 36–36. https://doi.org/10.1007/11576280_3.
Marjan Sirjani, Ali Movaghar, Amin Shali, and Frank S. de Boer. “Modeling and Verification of Reactive Systems using Rebeca”. In: Fundamenta Informaticae 63.4 (2004), pp. 385–410.
Marjan Sirjani, Giorgio Forcina, Ali Jafari, Stephan Baumgart, Ehsan Khamespanah, and Ali Sedaghatbaf. “An Actor-Based Design Platform for System of Systems”. In: 43rd IEEE Annual Computer Software and Applications Conference. 2019, pp. 579–587.
Marjan Sirjani and Ehsan Khamespanah. “On Time Actors”. In: Theory and Practice of Formal Methods - Essays Dedicated to Frank de Boer on the Occasion of His 60th Birthday. 2016, pp. 373–392.
Bernhard Steffen, Tiziana Margaria, and Volker Braun. “The Electronic Tool Integration platform: concepts and design”. In: International Journal on Software Tools for Technology Transfer 1.1-2 (Dec. 1997), pp. 9–30. https://doi.org/10.1007/s100090050003.
Ian Sommerville. Software Engineering. Pearson, 2015.
Okan Topçu and Halit Oğuztüzün. Guide to Distributed Simulation with HLA. Springer, 2017. https://doi.org/10.1007/978-3-319-61267-6.
Markus Voelter, Daniel Ratiu, Bernhard Schaetz, and Bernd Kolb. “Mbeddr: An Extensible C-Based Programming Language and IDE for Embedded Systems”. In: 3rd Annual Conference on Systems, Programming, and Applications: Software for Humanity. 2012, pp. 121–140. https://doi.org/10.1145/2384716.2384767.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this chapter
Cite this chapter
Heinrich, R. et al. (2021). Integration and Orchestration of Analysis Tools. In: Heinrich, R., Durán, F., Talcott, C., Zschaler, S. (eds) Composing Model-Based Analysis Tools. Springer, Cham. https://doi.org/10.1007/978-3-030-81915-6_5
Download citation
DOI: https://doi.org/10.1007/978-3-030-81915-6_5
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-81914-9
Online ISBN: 978-3-030-81915-6
eBook Packages: Computer ScienceComputer Science (R0)