doctoralThesis
A formally founded framework for dynamic software architectures
Fecha
2016-06-10Registro en:
CAVALCANTE, Everton Ranielly de Sousa. A formally founded framework for dynamic software architectures. 2016. 168f. Tese (Doutorado em Ciência da Computação) - Centro de Ciências Exatas e da Terra, Universidade Federal do Rio Grande do Norte, Natal, 2016.
Autor
Cavalcante, Everton Ranielly de Sousa
Resumen
Software architectures play a significant role in the development of software-intensive
systems in order to allow satisfying both functional and non-functional requirements. In
particular, dynamic software architectures have emerged to address characteristics of the
contemporary systems that operate on dynamic environments and consequently subjected
to changes at runtime. Architecture description languages (ADLs) are used to represent
software architectures, producing models that can be used at design time and/or runtime.
However, most existing ADLs have limitations in several facets: (i) they are focused on
structural, topological aspects of the architecture; (ii) they do not provide an adequate
support for representing behavioral aspects of the architecture; (iii) they do not allow
describing advanced aspects regarding the dynamics of the architecture; (iv) they are
limited with respect to the automated verification of architectural properties and
constraints; and (v) they are disconnected from the implementation level, thus entailing
inconsistencies between architecture and implementation. In order to tackle these
problems, this thesis proposes formally founded framework for dynamic software
architectures. Such a framework comprises: (i) π-ADL, a formal language for describing
software architectures under both structural and behavioral viewpoints; (ii) the
specification of programmed dynamic reconfiguration operations; (iii) the automated
generation of source code from architecture descriptions; and (iv) an approach based on
statistical model checking (SMC) to formally express and verify properties in dynamic
software architectures. The main contributions brought by the proposed framework are
fourfold. First, the π-ADL language was endowed with architectural-level primitives for
describing programmed dynamic reconfigurations. Second, architecture descriptions in π-
ADL are translated towards implementation source code in the Go programming
language, thereby contributing to minimize architectural drifts. Third, a novel logic, called
DynBLTL, is used to formally express properties in dynamic software architectures.
Fourth, a toolchain relying on SMC was built to automate the verification of architectural
properties while striving to reduce effort, computational resources, and time for
performing such a task. In this work, two wireless sensor network-based systems are used
to validate the framework elements.