Datenbestand vom 23. März 2024

Warenkorb Datenschutzhinweis Dissertationsdruck Dissertationsverlag Institutsreihen     Preisrechner

aktualisiert am 23. März 2024

ISBN 9783843946339

84,00 € inkl. MwSt, zzgl. Versand


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

Zusammenfassung / Abstract

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.