Fuzzy Description Logics for Component Selection in Software Design

In Software Engineering and Formal Methods: SEFM 2015 Collocated Workshops, Revised Selected Papers.

Abstract: In the Future Internet era, the way software will be produced and used will more and more depend on the new challenges deriving from the virtually infinite number of software services that can be composed to build new applications. The integration and composition of existing software, components and services is now gaining a crucial role in the software modeling and production and encompasses several aspects ranging from theoretical issues like modeling and analysis, to practical and implementation ones like run-time management and integration. In the wide set of issues concerning software composition, in this position paper we propose a formalization via a Fuzzy Description Logic for modeling architectural aspects of a software system. The formalism models architectural patterns and non-functional requirements about quality attributes where both the relationships among patterns and the set non-functional requirements are modelled together with their mutual interactions. The declarative approach proposed here would make possible to formally represent and maintain the above mentioned knowledge by keeping the flexibility and fuzziness of modeling thanks to the use of fuzzy concepts as high, low, fair, etc. We also identify the need for a reasoning task able to exploit the fuzzy nature of the adopted logic to retrieve a ranked list of set of patterns covering given user requirements represented in terms of NFRs and families of patterns.