Modelling and Verifying Smell-Free Architectures with the ARCHERY Language

Thumbnail Image
Date
2015
Authors
Alejandro Sánchez
Luís Soares Barbosa
Alexandre Castro Madeira
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
Architectural (bad) smells are design decisions found in software architectures that degrade the ability of systems to evolve. This paper presents an approach to verify that a software architecture is smell-free using the Archery architectural description language. The language provides a core for modelling software architectures and an extension for specifying constraints. The approach consists in precisely specifying architectural smells as constraints, and then verifying that software architectures do not satisfy any of them. The constraint language is based on a propositional modal logic with recursion that includes: a converse operator for relations among architectural concepts, graded modalities for describing the cardinality in such relations, and nominals referencing architectural elements. Four architectural smells illustrate the approach.
Description
Keywords
Citation