Abstract
We propose Architectural Design Rewriting (ADR), an approach to formalise the development and reconfiguration of software architectures based on term-rewriting. An architectural style consists of a set of architectural elements and operations called productions which define the well-formed compositions of architectures. Roughly, a term built out of such ingredients constitutes the proof that a design was constructed according to the style, and the value of the term is the constructed software architecture. A main advantage of ADR is that it naturally supports style-preserving reconfigurations. The usefulness of our approach is shown by applying ADR to SRML, an emergent paradigm inspired by the Service Component Architecture. We model the complex operation that composes several SRML modules in a single one by means of suitable rewrite rules. Our approach guarantees that the resulting module respects SRML’s metamodel.
This work has been partly supported by the EU within the FETPI Global Computing, project IST-2005-016004 SENSORIA (Software Engineering for Service-Oriented Overlay Computers) and by the Italian FIRB Project Tocai.it.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Aguirre, N., Maibaum, T.S.E.: Hierarchical temporal specifications of dynamically reconfigurable component based systems. Electr. Notes Theor. Comput. Sci. 108, 69–81 (2004)
Baresi, L., Heckel, R., Thöne, S., Varró, D.: Style-based modeling and refinement of service-oriented architectures. Software and Systems Modeling 5(2), 187–207 (2006)
Batory, D.S.: Program refactoring, program synthesis, and model-driven development. In: Krishnamurthi, S., Odersky, M. (eds.) CC 2007. LNCS, vol. 4420, pp. 156–171. Springer, Heidelberg (2007)
Benatallah, B., Casati, F., Toumani, F.: Web service conversation modeling: A cornerstone for e-business automation. IEEE Internet Computing 8(1), 46–54 (2004)
Bruni, R., Lluch Lafuente, A., Montanari, U., Tuosto, E.: Style based reconfigurations of software architectures. Technical Report TR-07-17, Dipartimento di Informatica, Università di Pisa (2007)
Bruni, R., Melgratti, H.C., Montanari, U.: Theoretical foundations for compensations in flow composition languages. In: Palsberg, J., Abadi, M. (eds.) POPL, pp. 209–220. ACM, New York (2005)
Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Talcott, C. (eds.): All About Maude - A High-Performance Logical Framework. LNCS, vol. 4350. Springer, Heidelberg (2007)
Clements, P., Garlan, D., Bass, L., Stafford, J., Nord, R., Ivers, J., Little, R.: Documenting Software Architectures: Views and Beyond. Pearson Education (2002)
Coquand, T., Huet, G.: The calculus of constructions. Inf. Comput. 76(2-3), 95–120 (1988)
FETPI Global Computing project IST-2005-016004 SEnSOria (Software Engineering for Service-Oriented Overlay Computers), http://sensoria.fast.de
Ferrari, G.L., Hirsch, D., Lanese, I., Montanari, U., Tuosto, E.: Synchronised hyperedge replacement as a model for service oriented computing. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2005. LNCS, vol. 4111, pp. 22–43. Springer, Heidelberg (2006)
Fiadeiro, J.L., Lopes, A., Bocchi, L.: Algebraic semantics of service component modules. In: Fiadeiro, J.L., Schobbens, P.-Y. (eds.) WADT 2006. LNCS, vol. 4409, pp. 37–55. Springer, Heidelberg (2007)
Fiadeiro, J.L., Lopes, A., Bocchi, L.: A formal approach to service component architecture. In: Bravetti, M., Núñez, M., Zavattaro, G. (eds.) WS-FM 2006. LNCS, vol. 4184, pp. 193–213. Springer, Heidelberg (2006)
Fiadeiro, J.L., Schmitt, V.: Structured co-spans: An algebra of interaction protocols. In: Mossakowski, T., Montanari, U., Haveraaen, M. (eds.) CALCO 2007. LNCS, vol. 4624, pp. 194–208. Springer, Heidelberg (2007)
Gadducci, F.: Graph rewriting for the π-calculus. Mathematical Structures in Computer Science 17(3), 407–437 (2007)
Habel, A.: Hyperedge Replacement: Grammars and Languages. Springer, New York, Secaucus, NJ, USA (1992)
Hirsch, D., Kramer, J., Magee, J., Uchitel, S.: Modes for software architectures. In: Gruhn, V., Oquendo, F. (eds.) EWSA 2006. LNCS, vol. 4344, pp. 113–126. Springer, Heidelberg (2006)
Hirsch, D., Montanari, U.: Shaped hierarchical architectural design. Electronic Notes on Theoretical Computer Science 109, 97–109 (2004)
Jensen, O.H., Milner, R.: Bigraphs and mobile processes. Technical Report 570, Computer Laboratory, University of Cambridge (2003)
König, B., Montanari, U., Gardner, P. (eds.): Graph Transformations and Process Algebras for Modeling Distributed and Mobile Systems, June 6-11, 2004, Dagstuhl Seminar Proceedings. vol. 04241, IBFI, Schloss Dagstuhl, Germany (2005)
Loulou, I., Kacem, A.H., Jmaiel, M.: Consistent reconfiguration for publish/subscribe architecture styles. In: Proc. of the First International Workshop on Verification and Evaluation of Computer and Communication Systems (VECoS 2007) (2007)
Métayer, L.D.: Describing software architecture styles using graph grammars. IEEE Trans. Software Eng. 24(7), 521–533 (1998)
Milner, R.: Communicating and Mobile Systems: The π-calculus. Cambridge University Press, Cambridge (1992)
Misra, J., Cook, W.: Orchestration computation: A basis for wide area computing. Software and Systems Modeling 6(1), 83–110 (2006)
Service Component Architecture, http://osoa.org
Shaw, M., Garlan, D.: Software Architectures: Perspectives on an emerging discipline. Prentice-Hall, Englewood Cliffs (1996)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bruni, R., Lluch Lafuente, A., Montanari, U., Tuosto, E. (2008). Service Oriented Architectural Design. In: Barthe, G., Fournet, C. (eds) Trustworthy Global Computing. TGC 2007. Lecture Notes in Computer Science, vol 4912. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-78663-4_14
Download citation
DOI: https://doi.org/10.1007/978-3-540-78663-4_14
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-78662-7
Online ISBN: 978-3-540-78663-4
eBook Packages: Computer ScienceComputer Science (R0)