Skip to main content

Integration and Orchestration of Analysis Tools

  • Chapter
  • First Online:
Composing Model-Based Analysis Tools

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).

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. 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.

  2. 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.

  3. 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.

  4. 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.

    Google Scholar 

  5. 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.

  6. 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.

  7. 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.

  8. 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.

    Google Scholar 

  9. Steffen Becker. Coupled Model Transformations for QoS Enabled Component-Based Software Design. Universitätsverlag Karlsruhe, 2008. https://publikationen.bibliothek.kit.edu/1000009095.

    Google Scholar 

  10. 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.

  11. 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.

    Google Scholar 

  12. 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.

  13. 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.

  14. 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.

  15. 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.

  16. 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).

    Google Scholar 

  17. 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.

    Google Scholar 

  18. 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.

    Google Scholar 

  19. 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.

    Google Scholar 

  20. 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.

    Google Scholar 

  21. 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.

  22. 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.

  23. Bruno Dutertre. “Yices 2.2”. In: Computer Aided Verification. 2014, pp. 737–744.

    Google Scholar 

  24. 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.

  25. 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.

  26. 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.

    Google Scholar 

  27. 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.

  28. 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/.

  29. 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.

  30. 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.

  31. Gerard Holzmann. The Spin Model Checker: Primer and Reference Manual. Addison-Wesley Professional, 2003.

    Google Scholar 

  32. 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.

    Google Scholar 

  33. 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.

  34. 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.

    Google Scholar 

  35. 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.

  36. 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.

  37. Object Management Group. OMG Systems Modeling Language (OMG SysML), Version 1.3. 2012. http://www.omg.org/spec/SysML/1.3/.

  38. Object Management Group. UML 2.5. Tech. rep. formal/2015-03-01. Object Management Group, 2015.

    Google Scholar 

  39. 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.

  40. 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.

  41. 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.

  42. Rebeca. Afra Tool. http://rebeca-lang.org/alltools/Afra.2019.

  43. 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.

    Google Scholar 

  44. 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.

  45. 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.

  46. John Rushby. “An Evidential Tool Bus”. In: Formal Methods and Software Engineering. 2005, pp. 36–36. https://doi.org/10.1007/11576280_3.

  47. 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.

    Google Scholar 

  48. 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.

    Google Scholar 

  49. 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.

    Google Scholar 

  50. 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.

  51. Ian Sommerville. Software Engineering. Pearson, 2015.

    Google Scholar 

  52. 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.

    Book  Google Scholar 

  53. 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.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Robert Heinrich .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2021 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics