Model-driven architecture view consistency checking
Author
Ekşi, Gülsüm Ece
Advisor
Tekinerdoğan, Bedir
Date
2015-12Publisher
Bilkent University
Language
English
Type
ThesisItem Usage Stats
84
views
views
49
downloads
downloads
Abstract
Software architecture is one of the key artefacts in the software development process
since it provides the gross-level structure of the system and supports the
stakeholder concerns. To benefi t from the architecture it is important that the
code is consistent with the architecture and the corresponding design decisions.
Unfortunately, changing requirements and/or the adaptations to the code can
lead to undesired inconsistencies among the architecture and the code. This
so-called architectural drift problem is the discrepancy between the architecture
description and the resulting implementation. Several approaches have been proposed
to detect the inconsistencies between the software architecture and the
code to ensure that the original design goals are maintained. In practice, software
architecture is documented using a coherent set of architecture views, each
of view addresses particular stakeholder concerns. Similar to the consistency with
the code it is important that an architecture view is consistent within itself and
with other related architecture views. Unfortunately, the existing architecture
conformance analysis approaches have primarily focused on checking the inconsistencies
between the architecture and code, and did not explicitly consider the
consistency among views. In this thesis, we provide a systematic architecture
conformance analysis approach that explicitly focuses on conformance analysis
among architecture views. The approach is used for detecting the inconsistencies
within and across architectural views. To this end, we define the meta-models of
architecture viewpoints, present the conformance analysis approach, and provide
the tool ArchViewChecker. We illustrate our approach for detecting inconsistencies
using the Views and Beyond approach. We adopt a fault injection approach
to evaluate the effectiveness of the approach. The results show that the approach
is effective in detecting inconsistencies within views and across views.
Keywords
Software architectureSoftware architecture views
Software architecture conformance analysis
Model-driven engineering
Tool support