Skip to main content

Compositional Verification of Architectural Refactorings

  • Chapter
Architecting Dependable Systems VI

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5835))

Abstract

With the success of model-driven development as well as component-based and service-oriented systems, models of software architecture are key artefacts in the development process. To adapt to changing requirements and improve internal software quality such models have to evolve while preserving aspects of their behaviour. These behaviour preserving developments are known as refactorings.

The verification of behaviour preservation requires formal semantics that can be defined by model transformation, e.g., using process algebras as semantic domain for architectural models. Denotational semantics of programming languages are by definition compositional. In order to enjoy a similar property in the case of model transformations, every component of the source model should be distinguishable in the target model and the mapping compatible with syntactic and semantic composition.

To avoid the costly verification of refactoring steps on large systems we present a method based on compositional typed graph transformations which allows us to extract a (usually much smaller) rule from the transformation performed and verify this rule instead.

The main result of the paper shows that the verification of rules is indeed sufficient to guarantee the desired semantic relation between source and target models. A formal definition of compositionality for mappings from typed graphs to semantic domains is proposed. In order to guarantee compositionality, a syntactic criterion has been established for the implementation of the mappings by typed graph transformations with negative application conditions. We apply the approach to the refactoring of architectural models based on UML component, structure, and activity diagrams with CSP as semantic domain.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Allen, R.B., Douence, R., Garlan, D.: Specifying and analyzing dynamic software architectures. In: Astesiano, E. (ed.) ETAPS 1998 and FASE 1998. LNCS, vol. 1382, pp. 10–16. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  2. AGG - Attributed Graph Grammar System Environment (2007), http://tfs.cs.tu-berlin.de/agg

  3. Bisztray, D., Heckel, R., Ehrig, H.: Verification of architectural refactoring rules. Technical report, Department of Computer Science, University of Leicester (2008), http://www.cs.le.ac.uk/people/dab24/refactoring-techrep.pdf

  4. Bisztray, D.: Verification of architectural refactorings: Rule extraction and tool support. In: ICGT, pp. 475–477 (2008)

    Google Scholar 

  5. Bottoni, P., Koch, M., Parisi-Presicce, F., Taentzer, G.: Termination of high-level replacement units with application to model transformation. Electr. Notes Theor. Comput. Sci. 127(4), 71–86 (2005)

    Article  Google Scholar 

  6. Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation. EATCS Monographs in Theoretical Computer Science. Springer, Heidelberg (2006)

    MATH  Google Scholar 

  7. Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation (Monographs in Theoretical Computer Science). An EATCS Series. Springer, Secaucus (2006)

    Google Scholar 

  8. Ehrig, H., Koenig, B.: Deriving bisimulation congruences in the dpo approach to graph rewriting with borrowed contexts. Mathematical Structures in Computer Science 16(6) (2006)

    Google Scholar 

  9. Engels, G., Küster, J.M., Groenewegen, L., Heckel, R.: A methodology for specifying and analyzing consistency of object-oriented behavioral models. In: Gruhn, V. (ed.) Proc. European Software Engineering Conference (ESEC/FSE 2001). LNCS, vol. 1301, pp. 327–343. Springer, Heidelberg (2001)

    Google Scholar 

  10. Fowler, M., Beck, K., Brant, J., Opdyke, W., Roberts, D.: Refactoring: Improving the Design of Existing Code, 1st edn. Addison-Wesley Professional, Reading (1999)

    Google Scholar 

  11. Formal Systems Europe Ltd. FDR2 User Manual (2005), http://www.fsel.com/documentation/fdr2/html/index.html

  12. Hoare, C.A.R.: Communicating Sequential Processes. Prentice Hall International Series in Computer Science. Prentice Hall, Englewood Cliffs (1985)

    MATH  Google Scholar 

  13. Laertius, D.: Lives of Eminent Philosophers, vol. 2. Loeb Classical Library (1925)

    Google Scholar 

  14. Lambers, L.: Adhesive high-level replacement systems with negative application conditions. Technical report, Technische Universität Berlin (2007)

    Google Scholar 

  15. Lambers, L., Ehrig, H., Orejas, F., Prange, U.: Adhesive high-level replacement systems with negative application conditions. In: Proceedings of Applied and Computational Category Theory Workshop. Kluwer Academic, Dordrecht (2007)

    Google Scholar 

  16. Leino, K.R.M., Müller, P.: Object invariants in dynamic contexts. In: Odersky, M. (ed.) ECOOP 2004. LNCS, vol. 3086, pp. 491–515. Springer, Heidelberg (2004)

    Google Scholar 

  17. Mens, T., Demeyer, S., Janssens, D.: Formalising behaviour preserving program transformations. In: Corradini, A., Ehrig, H., Kreowski, H.-J., Rozenberg, G. (eds.) ICGT 2002. LNCS, vol. 2505, pp. 286–301. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  18. Massoni, T., Gheyi, R., Borba, P.: An approach to invariant-based program refactoring. In: Software Evolution through Transformations 2006, Electronic Communications of the EASST (2006)

    Google Scholar 

  19. Magee, J., Kramer, J.: Dynamic structure in software architectures. In: SIGSOFT 1996: Proceedings of the 4th ACM SIGSOFT symposium on Foundations of software engineering, pp. 3–14. ACM Press, New York (1996)

    Chapter  Google Scholar 

  20. OMG. Unified Modeling Language, version 2.1.1 (2006), http://www.omg.org/technology/documents/formal/uml.htm

  21. Guilherme, R., Leen, L., Barbara, K., Hartmut, E., Paolo, B.: Behavior preservation in model refactoring using dpo transformations with borrowed contexts. In: Ehrig, H., Heckel, R., Rozenberg, G., Taentzer, G. (eds.) ICGT 2008. LNCS, vol. 5214, pp. 242–256. Springer, Heidelberg (2008)

    Google Scholar 

  22. Schürr, A.: Specification of graph translators with triple graph grammars. In: Mayr, E.W., Schmidt, G., Tinhofer, G. (eds.) WG 1994. LNCS, vol. 903, pp. 151–163. Springer, Heidelberg (1995)

    Google Scholar 

  23. Selic, B.: Using uml for modeling complex real-time systems. In: Müller, F., Bestavros, A. (eds.) LCTES 1998. LNCS, vol. 1474, pp. 250–260. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  24. Gerson Sunyé, D., Pollet, Y., Le Traon, Jézéquel, J.-M.: Refactoring uml models (2001)

    Google Scholar 

  25. Tiger Developer Team. Tiger EMF Transformer (2007), http://www.tfs.cs.tu-berlin.de/emftrans

  26. Varró, D.: Model transformation by example. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) MoDELS 2006. LNCS, vol. 4199, pp. 410–424. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  27. van Kempen, M., Chaudron, M., Kourie, D., Boake, A.: Towards proving preservation of behaviour of refactoring of UML models. In: SAICSIT 2005: South African Institute for Computer Scientists and Information Technologists, pp. 252–259 (2005)

    Google Scholar 

  28. Wirsing, M., Clark, A., Gilmore, S., Hölzl, M., Knapp, A., Koch, N., Schroeder, A.: Semantic-Based Development of Service-Oriented Systems. In: Najm, E., Pradat-Peyre, J.-F., Donzeau-Gouge, V.V. (eds.) FORTE 2006. LNCS, vol. 4229, pp. 24–45. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Bisztray, D., Heckel, R., Ehrig, H. (2009). Compositional Verification of Architectural Refactorings. In: de Lemos, R., Fabre, JC., Gacek, C., Gadducci, F., ter Beek, M. (eds) Architecting Dependable Systems VI. Lecture Notes in Computer Science, vol 5835. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-10248-6_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-10248-6_13

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-10247-9

  • Online ISBN: 978-3-642-10248-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics