Architectural Design Rewriting (ADR) is a proposal for the design of reconfigurable software systems, conceived in the spirit of conciliating software architectures and process calculi by means of graphical methods. ADR offers a formal setting where design development, run-time execution and reconfiguration are defined on the same foot.
The key features of ADR are:
- hierarchical and graphical design;
- rule-based approach;
- algebraic presentation;
- inductively-defined reconfigurations.
Architectures are modelled by typed designs: a kind of interfaced graphs whose inner items represent the architectural units and their interconnections and whose interface expresses the overall type and its connection capabilites. Architectures are designed hierarchically by a set of composition operators called design productions which enable:
- top-down refinement, like replacing an abstract component with a possibly partial realisation;
- bottom-up typing, like deducting the type of an actual architecture;
- well-formed composition, like composing some well-typed actual architectures together so to guarantee that the result is still well-typed.
Domains of valid architectures, i.e. those compliant to styles, patterns or constraints, are defined in a declarative way by means of design productions. Such productions have both a functional reading as valid architectural compositions and a grammar reading as providing an inductive definition of valid architectures. In the functional reading, the set of productions defines an algebra of design terms, each encoding the structure of the architecture and providing a proof of style conformance. The interpretation of a design term is a design, i.e. the actual architecture. Reconfiguration and behaviour are given as term rewrite rules acting over design terms rather than over designs. This has many advantages:
- terms compactly and conveniently encode the hierarchical structure of the architecture;
- ordinary term rewriting techniques allow to specify complex reconfigurations and computations that can exploit the hierarchical structure encoded in terms;
- preserving properties such as style-conformance during reconfiguration can be ensured by construction.
ADR has been validated over heterogeneous models such as network topologies, architectural styles and modelling languages.
Publications
Constraint Design Rewriting
Roberto Bruni, Alberto Lluch Lafuente, Ugo Montanari
Science of Computer Programming
draft
On Recovering from Run-time Misbehaviour in ADR
Kyriakos Poyias, Emilio Tuosto
Interaction and Concurrency Experience (ICE’13)
A Design-by-Contract Approach to Recover the Architectural Style from Run-time Misbehaviour
Kyriakos Poyias, Emilio Tuosto
Science of Computer Programming
Enforcing architectural styles in presence of unexpected distributed reconfigurations
Kyriakos Poyias, Emilio Tuosto
Interaction and Concurrency Experience (ICE’12)
draft
Evaluating the performance of model transformations styles in Maude
Roberto Bruni, Alberto Lluch Lafuente
International Symposium on Formal Aspects of Component Software (FACS’11)
Structured Model-Driven Transformations
Roberto Bruni, Alberto Lluch Lafuente, Ugo Montanari
Festschrift in honour of Manfred Broy’s 60th birthday, special issue of the International Journal of Software and Informatics (IJSI), Volume 2, Number 1-2.
abstract
An algebra of hierarchical graphs and its application to structural encoding
Roberto Bruni, Fabio Gadducci, Alberto Lluch Lafuente
Scientific Annals in Computer Science
abstract bib
Exploiting the hierarchical structure of rule-based specifications for decision planning
Artur Boronat, Roberto Bruni, Alberto Lluch Lafuente, Ugo Montanari, Generoso Paolillo
International Conference on Formal Techniques for Distributed Systems (FMOODS/FORTE’10)
abstract bib
An Algebra of Hierarchical Graphs
Roberto Bruni, Fabio Gadducci, Alberto Lluch Lafuente
5th Symposium on Trustworthy Global Computing (TGC’10)
abstract bib
Hierarchical models for service-oriented systems
Roberto Bruni, Fabio Gadducci, Andrea Corradini, Alberto Lluch Lafuente, Ugo Montanari
Rigorous Software Engineering for Service-Oriented Systems – Results of the SENSORIA project on Software Engineering for Service-Oriented Computing
bib
A formal support to business and architectural design for service-oriented systems
Roberto Bruni, Howard Foster, Alberto Lluch Lafuente, Ugo Montanari, Emilio Tuosto
Rigorous Software Engineering for Service-Oriented Systems – Results of the SENSORIA project on Software Engineering for Service-Oriented Computing
bib
Ten virtues of structured graphs
Roberto Bruni, Alberto Lluch Lafuente, ECEASST
abstract bib
Formalisation of service-oriented a UML profile.
A service-oriented UML profile with formal support
Martin Wirsing, Ugo Montanari, Roberto Bruni, Matthias Hölzl, Nora Koch, Alberto Lluch Lafuente, Philip Mayer, and Andreas Schroeder
7th International joint Conference on Service Oriented Computing ICSOC/ServiceWave 2009
abstract bib
Representation of SOC Calculi
A Graph Syntax for Processes and Services
Roberto Bruni, Alberto Lluch Lafuente, Ugo Montanari, Emilio Tuosto
9th International Workshop on Web Services and Formal Methods
abstract bib
Presentation in ADL terms
Architectural Design Rewriting as an Architecture Description Language
Roberto Bruni, Alberto Lluch Lafuente, Ugo Montanari, Emilio Tuosto
Position paper at the research meeting, Microsoft Research Cambridge.
abstract bib
Comparison with an Alloy based architectural design methodology
Graph-Based Design and Analysis of Dynamic Software Architectures
Roberto Bruni, Antonio Bucchiarone, Stefania Gnesi, Dan Hirsch, Alberto Lluch Lafuente
Concurrency, Graphs and Models. Essays Dedicated to Ugo Montanari on the Occasion of His 65th Birthday, Springer LNCS 6065.
abstract bib
Prototypical implementation, extension to hierarchical graphs, system specifications and verification
Hierarchical Design Rewriting with Maude
Roberto Bruni, Alberto Lluch Lafuente, Ugo Montanari.
7th International Workshop on Rewriting Logic and its Applications (WRLA’08), To appear in Electronic Notes in Theoretical Computer Science, Elsevier.
abstract (draft) bib
Formalisation of design and reconfiguration aspects of a service modelling language
Service Oriented Architectural Design
Roberto Bruni, Alberto Lluch Lafuente, Ugo Montanari, Emilio Tuosto, 3rd International Symposium on Trustworthy Global Computing (TGC’07), Lecture Notes in Computer Science, Springer Verlag.
abstract bib
Original presentation
Style-Based Architectural Reconfigurations
Roberto Bruni, Alberto Lluch Lafuente, Ugo Montanari, Emilio Tuosto,Bulletin of the EATCS, Number 94, February 2008.
abstract bib
Drafts
Further non published documents are:
-
A formalisation of run-time behavioural aspects of a service oriented modelling language.
From Architectural to Behavioural Specifications
Laura Bocchi, Jose Luiz Fiadeiro, Alessandro Lapadula, Alberto Lluch Lafuente, Rosario Pugliesem Francesco Tiezzi, Sensoria Deliverable Th01.b, 2007
abstract pdf bib -
ADR extension with QoS constraints.
Style-Based Reconfigurations of Software Architectures with QoS Constraints
Roberto Bruni, Alberto Lluch Lafuente, Ugo Montanari, Emilio Tuosto
Draft
abstract bib -
Primitive Algebra
An Algebra of Hierarchical Graphs
Roberto Bruni, Fabio Gadducci, Alberto Lluch Lafuente
Submitted
abstract bib
Talks
Apart from the papers above, ADR has been presented in other events:
-
1st presentation
Architectural Design Rewriting
Sensoria General Meeting, Leicester, June 2007 () -
ADR for SOA
Service Oriented Architectural Design
Web Engineering Day, Athens, September 3 2007 () -
ADR for Software Architects
Architectural Design Rewriting
CWI-DIPisa Workshop on Coordination, Coalgebras and Constraint, Pisa, Jannuary 2008 () -
ADR Status
ADR at work (part I)
Sensoria Workshop, Munich, March 2008 () -
ADR encoding Software Modes
ADR at work (part II)
Sensoria Workshop, Munich, March 2008 () -
ADR for UML and SRML
Advances in ADR
Sensoria General Meeting, Pisa, June 2008 () -
Primitive algebra for ADR to model process calculi graphically
An algebra of hierarchical graphs
Sensoria Workshop, Munich, February 2009 (), IMT Job Market Seminar, June 2009 () -
Why structured graphs can be better than flat ones
Ten virtues of structured graphs
International Workshop on Graph Transformation and Visual Modeling Techniques, Munich, March 2009 () -
Analysis of models based on Hierarchical Graphs
Specification and Analysis with Hierarchical Graphs
Dagstuhl Seminar on Graph Search Engineering, Schloss Dagstuhl, December 2009 ( bib) -
Enforcing architectural styles
Enforcing architectural styles in presence of unexpected distributed reconfigurations
ICE 2012 (slides) -
Repairing from misbehaviours
On Recovering from Run-time Misbehaviour in ADR
ICE 2013 (slides)
Implementation
A simple snapshot of the implementation is available here as a simple visualiser of term-like specifications including:
- terms of an algebra of hierarchical graphs;
- finite pi-calculus agents;
- finite process of CaSPiS, a service-oriented calculus.