Hierarchical Design Rewriting with Maude

Architectural Design Rewriting (ADR) is a rule-based approach for the design of dynamic software architectures. The key features that make ADR a suitable and expressive framework are the algebraic presentation and the use of conditional rewrite rules. These features enable, e.g. hierarchical (top-down, bottom-up or composition-based) design and inductively-defined reconfigurations. The contribution of this paper is twofold: we define Hierarchical Design Rewriting (HDR) and present our prototypical tool support. HDR is a flavour of ADR that exploits the concept of hierarchical graph to deal with system specifications combining both symbolic and interpreted parts. Our prototypical implementation is based on Maude and its presentation serves several purposes. First, we show that HDR is not only a well-founded formal approach but also a tool-supported framework for the design and analysis of software architectures. Second, our illustration tailored to a particular algebra of designs and a particular scenario traces a general methodology for the reuse and exploitation of ADR concepts in other scenarios.

[1]  Alan Bundy,et al.  Constructing Induction Rules for Deductive Synthesis Proofs , 2006, CLASE.

[2]  Ivan Lanese,et al.  Synchronised Hyperedge Replacement as a Model for Service Oriented Computing , 2005, FMCO.

[3]  Emden R. Gansner,et al.  An open graph visualization system and its applications to software engineering , 2000, Softw. Pract. Exp..

[4]  Laura Bocchi,et al.  A Formal Approach to Service Component Architecture , 2006, WS-FM.

[5]  Alberto Verdejo,et al.  Executable structural operational semantics in Maude , 2006, J. Log. Algebraic Methods Program..

[6]  Luciano Baresi,et al.  Style-based modeling and refinement of service-oriented architectures , 2006, Software & Systems Modeling.

[7]  E. Tuosto,et al.  Style-Based Reconfigurations of Software Architectures with QoS Constraints , 2007 .

[8]  Robin Milner,et al.  Bigraphs and mobile processes , 2003 .

[9]  Gordon D. Plotkin,et al.  The origins of structural operational semantics , 2004, J. Log. Algebraic Methods Program..

[10]  Don S. Batory Program Refactoring, Program Synthesis, and Model-Driven Development , 2007, CC.

[11]  Luca Cardelli,et al.  A spatial logic for concurrency (part I) , 2003, Inf. Comput..

[12]  Riemannian Manifolds,et al.  SOME EXAMPLES OF , 1984 .

[13]  Kamel Barkaoui,et al.  Hierarchical Verification in Maude of L f P Software Architectures , 2007, ECSA.

[14]  Daniel Le Métayer Describing Software Architecture Styles Using Graph Grammars , 1998, IEEE Trans. Software Eng..

[15]  Ugo Montanari,et al.  Graph Transformations and Process Algebras for Modeling Distributed and Mobile Systems, 6.-11. June 2004 , 2005, Graph Transformations and Process Algebras for Modeling Distributed and Mobile Systems.

[16]  Roberto Bruni,et al.  Semantic foundations for generalized rewrite theories , 2006, Theor. Comput. Sci..

[17]  Hartmut Ehrig,et al.  Handbook of graph grammars and computing by graph transformation: vol. 3: concurrency, parallelism, and distribution , 1999 .

[18]  Luca Cardelli,et al.  A Spatial Logic for Concurrency , 2001, TACS.

[19]  Narciso Martí-Oliet,et al.  All About Maude - A High-Performance Logical Framework, How to Specify, Program and Verify Systems in Rewriting Logic , 2007, All About Maude.

[20]  Nazareno Aguirre,et al.  Hierarchical Temporal Specifications of Dynamically Reconfigurable Component Based Systems , 2004, Electron. Notes Theor. Comput. Sci..

[21]  Alexandre Sztajnberg,et al.  A Rewriting Semantics for a Software Architecture Description Language , 2005, Electron. Notes Theor. Comput. Sci..

[22]  David Garlan,et al.  Documenting software architectures: views and beyond , 2002, 25th International Conference on Software Engineering, 2003. Proceedings..

[23]  José Meseguer,et al.  The Rewriting Logic Semantics Project , 2006, SOS@ICALP.

[24]  Ugo Montanari,et al.  Shaped Hierarchical Architectural Design , 2004, Electron. Notes Theor. Comput. Sci..

[25]  Alexander K. Petrenko,et al.  Electronic Notes in Theoretical Computer Science , 2009 .

[26]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[27]  Roberto Bruni,et al.  Service Oriented Architectural Design , 2007, TGC.

[28]  José Meseguer,et al.  Towards a Strategy Language for Maude , 2005, WRLA.

[29]  Annegret Habel,et al.  Hyperedge Replacement: Grammars and Languages , 1992, Lecture Notes in Computer Science.

[30]  Bruno Courcelle,et al.  The Expression of Graph Properties and Graph Transformations in Monadic Second-Order Logic , 1997, Handbook of Graph Grammars.

[31]  José Meseguer,et al.  Equational abstractions , 2008, Theor. Comput. Sci..

[32]  U. Brandes,et al.  GraphML Progress Report ? Structural Layer Proposal , 2001 .