SE

main page
- about us

staff

teaching
- theses

research

publications
- books

jobs

news/events


SE-Lab

RWTH Aachen

Fachgruppe Informatik

Structural Software Architecture Synthesis from Formal Views Specifications

S. Maoz, J.O. Ringert, and B. Rumpe

We introduce the problem of structural architecture synthesis: constructing the structure of a component and connector architecture from a declarative specification made of structural architectural views, representing mandatory, alternative, and negative structural properties. Each view reflects some concerns of interest and the partial knowledge available to different stakeholders involved in the system's design. As such, the views cross-cut the traditional boundaries of the implementation-oriented hierarchical decomposition of systems and sub-systems. The challenge is to automatically generate a correct-by-construction, complete architecture structure that satisfies the specification, if one exists.

We formalize the structural architecture synthesis problem in ArcV, an architectural structural views specification language. We show that the problem is NP-hard and solve it, in a bounded scope, using a reduction to SAT, via Alloy. We further extend the basic problem with support for library components, specification patterns, and architectural styles. The result of synthesis can be used for further exploration, simulation, and refinement of the architecture or, as the complete, final architecture itself, for direct code generation.

A prototype tool and an evaluation over three case studies show promising results and suggest interesting future research directions towards a comprehensive design environment for architecture synthesis.

Publications

S. Maoz, J.O. Ringert, and B. Rumpe. Structural Software Architecture Synthesis from Formal Views Specifications. submitted. [pdf]

Supporting materials

  • ArcVSynthesis plug-in prototype implementation (download as Eclipse feature, compatible with version 3.6.2 or later, for Windows only), installation instructions in the readme below.
  • ArcVSynthesis plug-in readme, includes screen captures and installation instructions for the plug-in.
  • Evaluation project, includes architecture views and specifications, for use after the plug-in is installed.
  • Case studies details document, includes all architecture views, specifications, and synthesized architectures referenced in the paper.
  • ArcV website