A design-by-contract approach to recover the architectural style from run-time misbehaviour

https://doi.org/10.1016/j.scico.2014.10.005Get rights and content
Under an Elsevier user license
open archive

Highlights

  • We propose to control the reconfigurations of applications leading to an erroneous state by exploiting its architectural model.

  • Our work relies on ADR which is a rule-based formal framework for evolving software architectures.

  • We add pre- and post-conditions to ADR rules so to constraint their applicability and resulting graphs.

  • We give an algorithm to compute the weakest pre-condition out of a rule and its post-condition.

  • A methodology uses our algorithm to reconfigure systems' architecture and regain its style when compromised at run-time.

Abstract

We propose to control the reconfigurations of applications leading to an erroneous state by exploiting its architectural model. Our work relies on Architectural Design Rewriting (ADR, for short) which is a rule-based formal framework for modelling (the evolution of) software architectures. We equip the reconfiguration rules of an ADR architecture with pre- and post-conditions expressed in a simple logic; a pre-condition constraints the applicability of a rule while a post-condition specifies the properties expected of the resulting graphs. We give an algorithm to compute the weakest pre-condition out of a rule and its post-condition. On top of this algorithm, we design a simple methodology that allows us to select which rules can be applied at the architectural level to reconfigure a system so to regain its architectural style when it becomes compromised by unexpected run-time reconfigurations.

Keywords

Design-by-contract
Software architectures
Architectural style

Cited by (0)