Fuzzy Description Logics for Component Selection in Software Design

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.

[1]  Umberto Straccia,et al.  A fuzzy description logic for the semantic web , 2006, Fuzzy Logic and the Semantic Web.

[2]  Robert LIN,et al.  NOTE ON FUZZY SETS , 2014 .

[3]  Francesca Lonetti,et al.  A Requirements-Led Approach for Specifying QoS-Aware Service Choreographies: An Experience Report , 2014, REFSQ.

[4]  Julio Cesar Sampaio do Prado Leite,et al.  On Non-Functional Requirements in Software Engineering , 2009, Conceptual Modeling: Foundations and Applications.

[5]  Umberto Straccia,et al.  Reasoning within Fuzzy Description Logics , 2011, J. Artif. Intell. Res..

[6]  Didar Zowghi,et al.  Managing conflicts among non-functional requirements , 2009 .

[7]  Raffaela Mirandola,et al.  QoS-based feedback for service compositions , 2015, 2015 11th International ACM SIGSOFT Conference on Quality of Software Architectures (QoSA).

[8]  Zhixiong Liu,et al.  Towards Modeling Non-Functional Requirements in Software Architecture , 2005 .

[9]  Radu Calinescu,et al.  Efficient re-resolution of SMT specifications for evolving software architectures , 2014, QoSA '14.

[10]  Alexander Egyed,et al.  Identifying requirements conflicts and cooperation: how quality attributes and automated traceability can help , 2004, IEEE Software.

[11]  Marco Aurélio Gerosa,et al.  Service-oriented middleware for the Future Internet: state of the art and research directions , 2011, Journal of Internet Services and Applications.

[12]  Luciano Baresi,et al.  Model-Driven Management of Services , 2010, 2010 Eighth IEEE European Conference on Web Services.

[13]  John Mylopoulos,et al.  Representing and Using Nonfunctional Requirements: A Process-Oriented Approach , 1992, IEEE Trans. Software Eng..

[14]  Jan Bosch,et al.  Software Architecture as a Set of Architectural Design Decisions , 2005, 5th Working IEEE/IFIP Conference on Software Architecture (WICSA'05).

[15]  B. F. Castro Buschmann, Frank; Meunier, Regine; Rohnert, Hans; Sommerlad, Peter; Stal, Michael. Pattern-oriented software architecture: a system of patterns, John Wiley & Sons Ltd, 1996 , 1997 .

[16]  B. J. Ferro Castro,et al.  Pattern-Oriented Software Architecture: A System of Patterns , 2009 .

[17]  Peter Sommerlad,et al.  Pattern-Oriented Software Architecture , 1996 .

[18]  John Mylopoulos,et al.  Non-Functional Requirements Revisited , 2013, iStar.

[19]  Shamim Ripon,et al.  Modeling Nonfunctional Requirements – A Case Study , 2012 .

[20]  Neil B. Harrison,et al.  How do architecture patterns and tactics interact? A model and annotation , 2010, J. Syst. Softw..

[21]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[22]  Frank Buschmann,et al.  Pattern-Oriented Software Architecture, a Pattern Language for Distributed Computing , 2007 .

[23]  David Chek Ling Ngo,et al.  Formal Specification of Design Patterns - A Balanced Approach , 2003, J. Object Technol..

[24]  Peter Sommerlad,et al.  Pattern-Oriented Software Architecture: A System of Patterns: John Wiley & Sons , 1987 .

[25]  Diego Calvanese,et al.  The Description Logic Handbook: Theory, Implementation, and Applications , 2003, Description Logic Handbook.

[26]  Walter F. Tichy A catalogue of general-purpose software design patterns , 1997, Proceedings of TOOLS USA 97. International Conference on Technology of Object Oriented Systems and Languages.

[27]  Xavier Franch,et al.  Systematic formulation of non-functional characteristics of software , 1998, Proceedings of IEEE International Symposium on Requirements Engineering: RE '98.

[28]  Martin Glinz,et al.  On Non-Functional Requirements , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

[29]  Xavier Franch,et al.  Dealing with Non-Functional Requirements in Model-Driven Development , 2010, 2010 18th IEEE International Requirements Engineering Conference.

[30]  Paris Avgeriou,et al.  Past and future of software architectural decisions - A systematic mapping study , 2014, Inf. Softw. Technol..

[31]  Tommi Mikkonen,et al.  Formalizing design patterns , 1998, Proceedings of the 20th International Conference on Software Engineering.

[32]  Umberto Straccia,et al.  Foundations of Fuzzy Logic and Semantic Web Languages , 2013, CILC.