MEASURING COMPLEXITY OF DOMAIN MODELS REPRESENTED BY FEATURE DIAGRAMS

Feature models represented by Feature Diagrams (FDs) prevail in the software product line approach. The product line approach and FDs are used to manage variability and complexity of software families and to ensure higher quality and productivity of product development through higher-level feature modeling and reuse. In this paper we, first, analyze the properties of feature models. Then, combining some properties of FDs with ideas of Miller’s, Metcalfe’s and Keating’s works, we propose three FD complexity measures. The first measure gives boundaries to estimate cognitive complexity of a generic component to be derived from the feature model. The second measure describes structural complexity of the model expressed through the number of adequate sub-trees of the given model. The third measure estimates total cognitive and structural complexity of the model. To validate the introduced measures, we present a case study with three feature models of a varying complexity.

[1]  Samira Si-Said Cherfi,et al.  Perceived vs. Measured Quality of Conceptual Schemas: An Experimental Comparison , 2007, ER.

[2]  Mario Piattini,et al.  Defining Metrics for UML Statechart Diagrams in a Methodological Way , 2003, ER.

[3]  Patrick Donohoe,et al.  Feature-Oriented Project Line Engineering , 2002, IEEE Softw..

[4]  Jan Mendling,et al.  A Discourse on Complexity of Process Models , 2006, Business Process Management Workshops.

[5]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .

[6]  Gunter Saake,et al.  Measuring Non-Functional Properties in Software Product Line for Product Derivation , 2008, 2008 15th Asia-Pacific Software Engineering Conference.

[7]  Vytautas Štuikys,et al.  TAXONOMY OF THE FUNDAMENTAL CONCEPTS OF METAPROGRAMMING , 2008 .

[8]  Jan Mendling,et al.  Quality metrics for business process models , 2007 .

[9]  Mario Piattini,et al.  Measuring the Quality of Entity Relationship Diagrams , 2000, ER.

[10]  Marjan Hericko,et al.  The Impact of Details in the Class Diagram on Software Size Estimation , 2005, Informatica.

[11]  Tong Yi,et al.  A comparison of metrics for UML class diagrams , 2004, SOEN.

[12]  Tim Sheard,et al.  Accomplishments and Research Challenges in Meta-programming , 2001, SAIG.

[13]  Johannes Sametinger,et al.  Software Engineering with Reusable Components , 1997, Springer Berlin Heidelberg.

[14]  Maurice H. Halstead,et al.  Elements of software science , 1977 .

[15]  Vytautas Štuikys,et al.  DESIGN OF ONTOLOGY-BASED GENERATIVE COMPONENTS USING ENRICHED FEATURE DIAGRAMS AND METAPROGRAMMING , 2015 .

[16]  B. Briscoe,et al.  Metcalfe's law is wrong - communications networks increase in value as they add members-but by how much? , 2006, IEEE Spectrum.

[17]  G. A. Miller THE PSYCHOLOGICAL REVIEW THE MAGICAL NUMBER SEVEN, PLUS OR MINUS TWO: SOME LIMITS ON OUR CAPACITY FOR PROCESSING INFORMATION 1 , 1956 .

[18]  Michael Keating,et al.  Measuring design quality by measuring design complexity , 2000, Proceedings IEEE 2000 First International Symposium on Quality Electronic Design (Cat. No. PR00525).

[19]  Walter Kintsch,et al.  Comprehension: A Paradigm for Cognition , 1998 .

[20]  Michele Marchesi OOA metrics for the Unified Modeling Language , 1998, Proceedings of the Second Euromicro Conference on Software Maintenance and Reengineering.

[21]  Christof Ebert,et al.  Cyclomatic Complexity , 2016, IEEE Software.

[22]  Robertas Damasevicius,et al.  Development of Generative Learning Objects Using Feature Diagrams and Generative Techniques , 2008, Informatics Educ..

[23]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[24]  Sandro Morasca,et al.  Measuring attributes of concurrent software specifications in Petri nets , 1999, Proceedings Sixth International Software Metrics Symposium (Cat. No.PR00403).

[25]  Yingxu Wang,et al.  A new measure of software complexity based on cognitive weights , 2003 .

[26]  Volker Gruhn,et al.  Complexity Metrics for business Process Models , 2006, BIS.

[27]  Pierre-Yves Schobbens,et al.  Feature Diagrams: A Survey and a Formal Semantics , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[28]  Sallie M. Henry,et al.  Software Structure Metrics Based on Information Flow , 1981, IEEE Transactions on Software Engineering.

[29]  Daniel Hoffman,et al.  Commonality and Variability in Software Engineering , 1998, IEEE Softw..

[30]  Antti Latva-Koivisto,et al.  Finding a Complexity Measure for Business Process Models , 2001 .

[31]  Jan Mendling,et al.  On a Quest for Good Process Models: The Cross-Connectivity Metric , 2008, CAiSE.

[32]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[33]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[34]  Mario Piattini,et al.  A Survey of Metrics for UML Class Diagrams , 2005, J. Object Technol..

[35]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[36]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[37]  Krzysztof Czarnecki,et al.  Feature models are views on ontologies , 2006, 10th International Software Product Line Conference (SPLC'06).

[38]  Stuart H. Zweben,et al.  Measuring the quality of structured designs , 1981, J. Syst. Softw..

[39]  Jan Mendling,et al.  Understanding the Occurrence of Errors in Process Models Based on Metrics , 2007, OTM Conferences.

[40]  Jorge S. Cardoso,et al.  Process control-flow complexity metric: An empirical validation , 2006, 2006 IEEE International Conference on Services Computing (SCC'06).

[41]  Cornelia Boldyreff,et al.  Developing Software Metrics Applicable to UML Models , 2002 .

[42]  Gangmin Li Economic sense of Metcalfe's Law , 2008 .