π-ARL: an architecture refinement language for formally modelling the stepwise refinement of software architectures

  • Authors:
  • Flavio Oquendo

  • Affiliations:
  • University of Savoie at Annecy, Annecy Cedex, France

  • Venue:
  • ACM SIGSOFT Software Engineering Notes
  • Year:
  • 2004

Quantified Score

Hi-index 0.02

Visualization

Abstract

A key aspect of the formal development of any software system is the specification and stepwise refinement of its architecture. In a stepwise refinement, a sequence of steps starting from an abstract specification of the architecture leads to a concrete, implementation-centered, architectural model. Each refinement step typically leads to a more detailed architecture description that increases the determinism while implying properties of the abstract specification. Enabling stepwise architecture refinement is a new challenge for the formal development of complex software systems. This article describes π-ARL, a novel Architecture Refinement Language (ARL) that has been designed in the ArchWare European Project to address formal refinement of software architectures. It is a formal, well-founded theoretically language based on a rewriting logic. Its underlying approach for architecture refinement is underspecification, i.e. at a high-level of abstraction, when specifying an architectural element, certain aspects can be left open. The decrease of this underspecification establishes behaviour but also port, structure, and data refinement relations. The underlying foundation for architected behaviours is the higher order typed π-calculus. π-ARL focuses on formally modelling the stepwise refinement of software architectures through a set of architecture refinement primitives.