Datenbestand vom 15. November 2024
Tel: 0175 / 9263392 Mo - Fr, 9 - 12 Uhr
Impressum Fax: 089 / 66060799
aktualisiert am 15. November 2024
978-3-8439-4633-9, Reihe Informatik
Sandra Schröder Ontology-Based Architecture Enforcement: Defining and Enforcing Software Architecture as a Concept Language using Ontologies and a Controlled Natural Language
287 Seiten, Dissertation Universität Hamburg (2020), Softcover, A5
Software architecture can be understood as a prescriptive abstraction of a software system. This means, it prescribes architecture rules that need to be respected during the entire software-development life-cycle so that quality goals are fulfilled by the software system. Software architects and developers use a project-specific language to describe architecture rules. This language consists of a vocabulary encompassing architecture concepts and relations that describe architectural abstractions. Architecture rules should be checked on a regular basis in order to minimize the risk of the implementation to deviate from the software architecture. For this, tool-supported methods can be applied to reduce the effort of manually searching for violations against architecture rules. These tools provide formal languages to make architecture rules machine-processable so that they can be detected automatically. However, these formal languages are often not flexible enough to represent the project-specific language. As a result, not all relevant architecture rules can be checked and it cannot be ensured that the quality goals defined for the software system are fulfilled. In order to tackle this challenge, this thesis presents an approach that allows for preserving the original project language:
ArchCNL, an Architecture Controlled Natural Language, for a formal, flexible, and understandable way to capture architecture rules based on description logic and ontologies. Additionally, an approach called ArchCNLCheck has been developed in order to detect violations against the rules defined in ArchCNL. An evaluation with three industrial projects shows that the approach is able to formalize a great variety of rules found in the projects due to its flexibility to represent architectural abstractions. Furthermore, an evaluation with two open-source systems shows that the approach can reliably detect violations of architecture rules in the implementation.