A Fuzzy Ontology-based Approach for Tool-supported Decision Making in Architectural Design

In Knowledge and Information Systems, An International Journal, 58:83--112, Springer Verlag, 2018.


Abstract:

In software development, Non-Functional Requirements (NFRs) play a crucial role in decision making procedures for architectural solutions. A strong relation exists between NFRs and design patterns, a powerful method to support the architectural design of software systems, but due to their complexity and abstraction, NFRs are rarely taken into account in software design. In fact, the knowledge on NFRs is usually owned by designers and not formalized in a structured way. We propose to structure the knowledge associated to NFRs via a Fuzzy Ontology, which we show is able to model their mutual relations and interactions. The declarative approach makes possible to represent and maintain the above mentioned knowledge by keeping the flexibility and fuzziness of modeling thanks to the use of fuzzy concepts such as high, low, fair, etc. We present a decision support system based on (i) a Fuzzy OWL 2 ontology that encodes 109 design patterns, 28 pattern families and 37 NFRs and their mutual relations, (ii) a novel reasoning service to retrieve a ranked list of pattern sets able to satisfy the Non-Functional Requirements within a system specification.