Skip to main content

Behavior-Preserving Refinement Relations Between Dynamic Software Architectures

  • Conference paper
Book cover Recent Trends in Algebraic Development Techniques (WADT 2004)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 3423))

Included in the following conference series:

Abstract

In this paper, we address the refinement of abstract architectural models into more platform-specific representations. For each level of abstraction, we employ an architectural style covering structural restrictions on component configurations as well as supported communication and reconfiguration operations. Architectural styles are formalized as graph transformation systems with graph transformation rules defining the available operations. Architectural models are given as graphs to which one can directly apply the transformation rules in order to simulate operations and their effects.

In addition to previous work, we include process descriptions into our architectural models in order to control the communication and reconfiguration behavior of the components. The execution semantics of these processes is also covered by graph transformation systems.

We propose a notion of refinement which requires the preservation of both structure and behavior at the lower level of abstraction. Based on formal refinement relationships between abstract and platform-specific styles, we can use model checking techniques to verify that abstract scenarios can also be realized in the platform-specific architecture.

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. Abi-Antoun, M., Medvidovic, N.: Enabling the refinement of a software architecture into a design. In: France, R.B., Rumpe, B. (eds.) UML 1999. LNCS, vol. 1723, pp. 17–31. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  2. Abowd, G.D., Allen, R., Garlan, D.: Using style to understand descriptions of software architectures. ACM Software Engineering Notes 18(5), 9–20 (1993)

    Article  Google Scholar 

  3. Baresi, L., Heckel, R., Thöne, S., Varró, D.: Modeling and validation of service-oriented architectures: Application vs. style. In: Proc. European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering, ESEC/FSE 2003, pp. 68–77. ACM Press, New York (2003)

    Chapter  Google Scholar 

  4. Baresi, L., Heckel, R., Thöne, S., Varró, D.: Style-based modeling and refinement of service-oriented architectures. Technical Report TR-RI-04-250, University of Paderborn (2004), ftp://ftp.upb.de/doc/techreports/Informatik/tr-ri-04-250.pdf

  5. Baresi, L., Heckel, R., Thöne, S., Varró, D.: Style-based refinement of dynamic software architectures. In: Proc. 4th Working IEEE/IFIP Conference on Software Architecture, WICSA 2004, pp. 155–164. IEEE Computer Society Press, Los Alamitos (2004)

    Chapter  Google Scholar 

  6. Batory, D., Sarvela, J.N., Rauschmayer, A.: Scaling step-wise refinement. In: Proc. ICSE 2003 – Int. Conference on Software Engineering, pp. 187–197. IEEE Computer Society Press, Los Alamitos (2003)

    Google Scholar 

  7. Bergstra, J.A., Ponse, A., Smolka, S.A.: Handbook of Process Algebra. Elsevier Science, Amsterdam (2001)

    MATH  Google Scholar 

  8. Bolusset, T., Oquendo, F.: Formal refinement of software architectures based on rewriting logic. In: Proc. RCS 2002 Int. Workshop on Refinement of Critical Systems (2002), www-lsr.imag.fr/zb2002/

  9. Canal, C., Pimentel, E., Troya, J.M.: Specification and refinement of dynamic software architectures. In: Proc. WICSA1, First Working IFIP Conference on Software Architecture. IFIP Conference Proceedings, vol. 140, pp. 107–126. Kluwer, Dordrecht (1999)

    Google Scholar 

  10. Corradini, A., Montanari, U., Rossi, F.: Graph processes. Fundamenta Informaticae 26(3,4), 241–265 (1996)

    MATH  MathSciNet  Google Scholar 

  11. Corradini, A., Montanari, U., Rossi, F., Ehrig, H., Heckel, R., Löwe, M.: Algebraic approaches to graph transformation; basic concepts and double pushout approach. In: Rozenberg, G. (ed.) Handbook of Graph Grammars and Computing by Graph Transformation, vol. 1. Foundations, World Scientific, Singapore (1997)

    Google Scholar 

  12. Denford, M., O’Neill, T., Leaney, J.: Architecture-based design of computer based systems. In: Proc. StraW 2003, Int. Workshop From Software Requirements to Architectures (2003), http://www.se.uwaterloo.ca/~straw03/

  13. Ehrig, H., Engels, G., Kreowski, H.-J., Rozenberg, G.: Handbook of Graph Grammars and Computing by Graph Transformation, vol. 2, Applications, Languages and Tools. World Scientific, Singapore (1999)

    Google Scholar 

  14. Ehrig, H., Pfender, M., Schneider, H.J.: Graph grammars: an algebraic approach. In: 14th Annual IEEE Symposium on Switching and Automata Theory, pp. 167–180. IEEE Computer Society Press, Los Alamitos (1973)

    Chapter  Google Scholar 

  15. Andrews, T., et al.: Specification: Business Process Execution Language for Web Services Version 1.1. BEA, IBM, Microsoft, SAP AG and Siebel Systems (2003), http://www-106.ibm.com/developerworks/library/ws-bpel/

  16. Garlan, D.: Style-based refinement for software architecture. In: Proc. ISAW-2, 2nd Int. Software Architecture Workshop on SIGSOFT 1996, pp. 72–75. ACM Press, New York (1996)

    Chapter  Google Scholar 

  17. Gorrieri, R., Rensink, A.: Action refinement. In: Bergstra, J.A., Ponse, A., Smolka, S.A. (eds.) Handbook of Process Algebra, pp. 1047–1147. Elsevier, Amsterdam (2001)

    Chapter  Google Scholar 

  18. Große-Rhode, M., Presicce, F.P., Simeoni, M.: Spatial and temporal refinement of typed graph transformation systems. In: Brim, L., Gruska, J., Zlatuška, J. (eds.) MFCS 1998. LNCS, vol. 1450, pp. 553–561. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  19. Object Management Group. The UML website, http://www.uml.org

  20. Heckel, R., Corradini, A., Ehrig, H., Löwe, M.: Horizontal and vertical structuring of typed graph transformation systems. Math. Struct. in Computer Science 6, 613–648 (1996)

    MATH  Google Scholar 

  21. Hirsch, D.: Graph transformation models for software architecture styles. PhD thesis, Departamento de Computación, Universidad de Buenos Aires (2003)

    Google Scholar 

  22. Hirsch, D., Montanari, U.: Synchronized hyperedge replacement with name mobility. In: Larsen, K.G., Nielsen, M. (eds.) CONCUR 2001. LNCS, vol. 2154, pp. 121–136. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  23. Holzmann, G.: The model checker SPIN. IEEE Transactions on Software Engineering 23(5), 279–295 (1997)

    Article  MathSciNet  Google Scholar 

  24. Le Métayer, D.: Software architecture styles as graph grammars. In: Proc. 4th ACM SIGSOFT Symposium on the Foundations of Software Engineering. ACM Software Engineering Notes, vol. 216, pp. 15–23. ACM Press, New York (1996)

    Chapter  Google Scholar 

  25. Moriconi, M., Qian, X., Riemenschneider, R.A.: Correct architecture refinement. IEEE Transactions on Software Engineering 21(4), 356–372 (1995)

    Article  Google Scholar 

  26. Object Management Group. Model-Driven Architecture, http://www.omg.org/mda/

  27. Rensink, A.: The GROOVE simulator: A tool for state space generation. In: Pfaltz, J.L., Nagl, M., Böhlen, B. (eds.) AGTIVE 2003. LNCS, vol. 3062, pp. 479–485. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  28. Schmidt, Á., Varró, D.: CheckVML: A tool for model checking visual modeling languages. In: Stevens, P., Whittle, J., Booch, G. (eds.) UML 2003. LNCS, vol. 2863, pp. 92–95. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

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

  30. Shaw, M., Garlan, D.: Software Architecture: Perspectives on an Emerging Discipline. Prentice-Hall, Englewood Cliffs (1996)

    MATH  Google Scholar 

  31. Taentzer, G., Goedicke, M., Meyer, T.: Dynamic change management by distributed graph transformation: Towards configurable distributed systems. In: Ehrig, H., Engels, G., Kreowski, H.-J., Rozenberg, G. (eds.) TAGT 1998. LNCS, vol. 1764, pp. 179–193. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  32. Varró, D.: Towards symbolic analysis of visual modeling languages. In: Proc. GT-VMT 2002 - Int. Workshop on Graph Transformation and Visual Modeling Techniques. ENTCS, vol. 72, pp. 57–70. Elsevier, Amsterdam (2002)

    Google Scholar 

  33. Wermelinger, M., Fiadero, J.L.: A graph transformation approach to software architecture reconfiguration. Science of Computer Programming 44(2), 133–155 (2002)

    Article  MATH  Google Scholar 

  34. Wirth, N.: Program development by stepwise refinement. Communications of the ACM 14(4), 221–227 (1971)

    Article  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Heckel, R., Thöne, S. (2005). Behavior-Preserving Refinement Relations Between Dynamic Software Architectures. In: Fiadeiro, J.L., Mosses, P.D., Orejas, F. (eds) Recent Trends in Algebraic Development Techniques. WADT 2004. Lecture Notes in Computer Science, vol 3423. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-31959-7_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-31959-7_1

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-25327-3

  • Online ISBN: 978-3-540-31959-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics