Skip to main content

GTSMorpher: Safely Composing Behavioural Analyses Using Structured Operational Semantics

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

Abstract

We are seeing an increase in the number of different languages and design tools used for designing and implementing such systems, fuelled by research in domain-specific modelling languages leading to increasingly more reliable and production-ready environments for language-oriented programming (LOP). While LOP has undeniable benefits for the efficiency and effectiveness of software development, it creates new problems for software analysis: most existing analysis tools are tied to a specific representation of the software to be analysed. LOP is predicated on developing bespoke representations for each type of problem. This requires analysis tools to be, at least partially, reimplemented and adapted for each new such language.

One approach is to build transformations that compile a model in a given language into a representation that can be handled by a given analysis tool (cf. Chap. 5 of this book). A key challenge here is to ensure that these transformations correctly reflect the semantics of the original language in the analysis-tool-specific representation. This is non-trivial and becomes even more challenging when more than one analysis tool is to be applied to a given system design.

In this chapter, we present a different approach, where analyses are directly represented as executable domain-specific modelling languages (xDSMLs), making their operational semantics explicit as graph-transformation rules. Powerful composition operations provide support for the independent and reusable development of analysis tools and languages, which can then be woven at will. In previous work, we have developed the formal foundations for this approach and have shown the conditions under which such composition is safe, even when combining multiple different analyses. In this chapter, we introduce GTSMorpher, a software tool that allows xDSMLs and their compositions to be expressed in the context of the Eclipse Modelling Framework. We demonstrate the use of GTSMorpher through case studies.

This case-study chapter illustrates concepts introduced in Chap. 4 and addresses Challenge 1 in Chap. 3 of this book.

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 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.00
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 159.00
Price excludes VAT (USA)
  • Durable hardcover 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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Martin Abadi and Leslie Lamport. “An Old-Fashioned Recipe for Real Time”. In: ACM Transactions on Programming Languages and Systems 16.5 (Sept. 1994), pp. 1543–1571.

    Google Scholar 

  2. Andrea Corradini, Ugo Montanari, Francesca Rossi, Hartmut Ehrig, Reiko Heckel, and Michael Löwe. “Algebraic approaches to graph transformation I: Basic concepts and double pushout approach”. In: Handbook of Graph Grammars and Computing by Graph Transformation, Volume 1: Foundations. 1997. Chap. 3.

    Google Scholar 

  3. Zinovy Diskin, Tom Maibaum, and Krzysztof Czarnecki. “Intermodeling, Queries, and Kleisli Categories”. In: Conf. Fundamental Approaches to Software Engineering. 2012, pp. 163–177. https://doi.org/10.1007/978-3-642-28872-2_12.

  4. Francisco Durán, Antonio Moreno-Delgado, Fernando Orejas, and Steffen Zschaler. “Amalgamation of Domain Specific Languages with Behaviour”. In: Journal of Logical and Algebraic Methods in Programming 86 (1 2017), pp. 208–235. https://doi.org/10.1016/j.jlamp.2015.09.005.

  5. Francisco Durán, Steffen Zschaler, and Javier Troya. “On the Reusable Specification of Non-functional Properties in DSLs”. In: 5th Int’l Conf. on Software Language Engineering, SLE. 2013, pp. 332–351. https://doi.org/10.1007/978-3-642-36089-3_19.

  6. Gregor Engels, Reiko Heckel, and Alexey Cherchago. “Flexible Interconnection of Graph Transformation Modules”. In: Formal Methods in Software and Systems Modeling. 2005, pp. 38–63. https://doi.org/10.1007/978-3-540-31847-7_3.

  7. Hartmut Ehrig, Karsten Ehrig, Ulrike Prange, and Gabriele Taentzer. Fundamentals of Algebraic Graph Transformation. Springer, 2006. https://doi.org/10.1007/3-540-31188-2.

    MATH  Google Scholar 

  8. Hartmut Ehrig. “Introduction to the algebraic theory of graph grammars”. In: 1st Graph Grammar Workshop. 1979, pp. 1–69. https://doi.org/10.1007/BFb0025714.

  9. Gregor Engels, Reiko Heckel, Gabriele Taentzer, and Hartmut Ehrig. “A Combined Reference Model- and View-Based Approach to System Specification”. In: International Journal of Software Engineering and Knowledge Engineering 7.4 (1997), pp. 457–477. https://doi.org/10.1142/S0218194097000266.

  10. Vincenzo Grassi and Raffaela Mirandola. “A Model-driven Approach to Predictive Non Functional Analysis of Component-based Systems”. In: Proc. Workshop on Models for Non-Functional Aspects of Component-Based Software. 2004.

    Google Scholar 

  11. Martin Große-Rhode, Francesco Parisi-Presicce, and Marta Simeoni. “Refinements of Graph Transformation Systems via Rule Expressions”. In: 6th Int’l Workshop Theory and Application of Graph Transformations. 1998, pp. 368–382. https://doi.org/10.1007/978-3-540-46464-8_26.

  12. Martin Große-Rhode, Francesco Parisi-Presicce, and Marta Simeoni. “Spatial and Temporal Refinement of Typed Graph Transformation Systems”. In: 23rd Int’l Symposium Mathematical Foundations of Computer Science. 1998, pp. 553–561. https://doi.org/10.1007/BFb0055805.

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

  14. Stefan John, Alexandru Burdusel, Robert Bill, Daniel Strüber, Gabriele Taentzer, Steffen Zschaler, and Manuel Wimmer. “Searching for Optimal Models: Comparing Two Encoding Approaches”. In: Journal of Object Technology 18.3 (2019), 6:1–22. https://doi.org/10.5381/jot.2019.18.3.a6.

  15. Leslie Lamport. “A Temporal Logic of Actions”. In: ACM Transactions on Programming Languages and Systems 16.3 (1994), pp. 872–923.

    Google Scholar 

  16. Juan de Lara, Roswitha Bardohl, Hartmut Ehrig, Karsten Ehrig, Ulrike Prange, and Gabriele Taentzer. “Attributed Graph Transformation with Node Type Inheritance”. In: Theoretical Computer Science 376 (2007), pp. 139–163. https://doi.org/10.1016/j.tcs.2007.02.001.

  17. Juan de Lara and Esther Guerra. “From Types to Type Requirements: Genericity for Model-Driven Engineering”. In: Software and Systems Modelling 12.3 (2013), pp. 453–474. https://doi.org/10.1007/s10270-011-0221-0.

  18. Juan de Lara and Esther Guerra. “Towards the flexible reuse of model transformations: A formal approach based on graph transformation”. In: Journal of Logical and Algebraic Methods in Programming 83.5–6 (2014). 24th Nordic Workshop on Programming Theory (NWPT 2012), pp. 427–458. issn: 2352-2208. https://doi.org/10.1016/j.jlamp.2014.08.005.

  19. Antonio Moreno-Delgado, Francisco Durán, Steffen Zschaler, and Javier Troya. “Modular DSLs for Flexible Analysis: An e-Motions Reimplementation of Palladio”. In: Proc. 10th European Conf. on Modelling Foundations and Applications). 2014, pp. 132–147. https://doi.org/10.1007/978-3-319-09195-2_9.

  20. Peter Naur. “Programming as Theory Building”. In: Microprocessing and Microprogramming 15 (1986), pp. 253–261. https://doi.org/10.1016/0165-6074(85)90032-8.

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

    Google Scholar 

  22. Kiana Rostami, Johannes Stammel, Robert Heinrich, and Ralf H. Reussner. “Architecture-based Assessment and Planning of Change Requests”. In: 11th International ACM SIGSOFT Conference on Quality of Software Architectures. 2015, pp. 21–30. https://doi.org/10.1145/2737182.2737198.

  23. Dave Steinberg, Frank Budinsky, Marcelo Paternostro, and Ed Merks. EMF: Eclipse Modeling Framework. Addison-Wesley Professional, 2009.

    Google Scholar 

  24. Daniel Strüber, Kristopher Born, Kanwal Daud Gill, Raffaela Groner, Timo Kehrer, Manuel Ohrndorf, and Matthias Tichy. “Henshin: A Usability-Focused Framework for EMF Model Transformation Development”. In: 10th Int’l Conf on Graph Transformations. 2017, pp. 196–208.

    Google Scholar 

  25. Javier Troya, Antonio Vallecillo, Francisco Durán, and Steffen Zschaler. “Model- Driven Performance Analysis of Rule-Based Domain Specific Visual Models”. In: Information and Software Technology 55.1 (2013), pp. 88–110. https://doi.org/10.1016/j.infsof.2012.07.009.

  26. Martin P.Ward. “Language-oriented programming”. In: Software-Concepts and Tools 15.4 (1994), pp. 147–161. URL: http://www.gkc.org.uk/martin/papers/middle-out-t.pdf.

  27. Steffen Zschaler and Francisco Durán. “GTS Families for the Flexible Composition of Graph Transformation Systems”. In: 20th Int’l Conf. Fundamental Approaches to Software Engineering. 2017, pp. 208–225. https://doi.org/10.1007/978-3-662-54494-5_12.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Steffen Zschaler .

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

Zschaler, S., Durán, F. (2021). GTSMorpher: Safely Composing Behavioural Analyses Using Structured Operational Semantics. 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_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-81915-6_9

  • 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