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.
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
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)
Abowd, G.D., Allen, R., Garlan, D.: Using style to understand descriptions of software architectures. ACM Software Engineering Notes 18(5), 9–20 (1993)
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)
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
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)
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)
Bergstra, J.A., Ponse, A., Smolka, S.A.: Handbook of Process Algebra. Elsevier Science, Amsterdam (2001)
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/
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)
Corradini, A., Montanari, U., Rossi, F.: Graph processes. Fundamenta Informaticae 26(3,4), 241–265 (1996)
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)
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/
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)
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)
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/
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)
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)
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)
Object Management Group. The UML website, http://www.uml.org
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)
Hirsch, D.: Graph transformation models for software architecture styles. PhD thesis, Departamento de Computación, Universidad de Buenos Aires (2003)
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)
Holzmann, G.: The model checker SPIN. IEEE Transactions on Software Engineering 23(5), 279–295 (1997)
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)
Moriconi, M., Qian, X., Riemenschneider, R.A.: Correct architecture refinement. IEEE Transactions on Software Engineering 21(4), 356–372 (1995)
Object Management Group. Model-Driven Architecture, http://www.omg.org/mda/
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)
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)
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)
Shaw, M., Garlan, D.: Software Architecture: Perspectives on an Emerging Discipline. Prentice-Hall, Englewood Cliffs (1996)
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)
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)
Wermelinger, M., Fiadero, J.L.: A graph transformation approach to software architecture reconfiguration. Science of Computer Programming 44(2), 133–155 (2002)
Wirth, N.: Program development by stepwise refinement. Communications of the ACM 14(4), 221–227 (1971)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)