Measuring Models

Model-Driven Engineering (MDE) is an approach to software development that uses models as primary artifacts, from which code, documentation and tests are derived. One way of assessing quality assurance in a given domain is to define domain metrics. We show that some of these metrics are supported by models. As text documents, models can be considered from a syntactic point of view i.e., thought of as graphs. We can readily apply graph-based metrics to them, such as the number of nodes, the number of edges or the fan-in/fanout distributions. However, these metrics cannot leverage the semantic structuring enforced by each specific metamodel to give domain specific information. Contrary to graph-based metrics, more specific metrics do exist for given domains (such as LOC for programs), but they lack genericity. Our contribution is to propose one metric, called σ, that is generic over metamodels and allows the easy specification of an open-ended wide range of model metrics.

[1]  Alan M. Davis,et al.  Identifying and measuring quality in a software requirements specification , 1993, [1993] Proceedings First International Software Metrics Symposium.

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

[3]  Sandro Morasca,et al.  Property-Based Software Engineering Measurement , 1996, IEEE Trans. Software Eng..

[4]  Vojislav B. Misic,et al.  From formal metamodels to metrics: an object-oriented approach , 1997, Proceedings. Technology of Object-Oriented Languages. TOOLS 24 (Cat. No.97TB100240).

[5]  Jean-Paul Van Belle,et al.  Towards a syntactic signature for domain models: proposed descriptive metrics for visualizing the entity fan-out frequency distribution , 2002 .

[6]  Aline Lúcia Baroni Quantitative assessment of UML dynamic models , 2005, ESEC/FSE-13.

[7]  Haruhiko Kaiya,et al.  Model Metrics and Metrics of Model Transformation , 2006 .

[8]  F. George Wilkie,et al.  An extensible metrics extraction environment for object-oriented programming languages , 2002, Proceedings. Second IEEE International Workshop on Source Code Analysis and Manipulation.

[9]  Albert L. Baker,et al.  A mathematical perspective for software measures research , 1990, Softw. Eng. J..

[10]  Houari Sahraoui,et al.  Generic Metric Extraction Framework , 2006 .

[11]  Jordi Cabot,et al.  A metric for measuring the complexity of OCL expressions , 2006 .

[12]  Barbara A. Kitchenham,et al.  An evaluation of some design metrics , 1990, Softw. Eng. J..

[13]  Mario Piattini,et al.  Measuring OCL expressions : a “ tracing ”-based approach , 2003 .

[14]  Dar-Biau Liu,et al.  Metrics for requirements engineering , 1995, J. Syst. Softw..

[15]  Ralf Reissing,et al.  Towards a Model for Object-Oriented Design Measurement , 1996 .

[16]  Stéphane Ducasse,et al.  Characterizing the evolution of class hierarchies , 2005, Ninth European Conference on Software Maintenance and Reengineering.

[17]  Dimitris Christodoulakis,et al.  OBJECT-ORIENTED METRICS - A SURVEY , 2000 .

[18]  Norman E. Fenton,et al.  Software Metrics: A Rigorous Approach , 1991 .

[19]  Brian Henderson-Sellers,et al.  Object-Oriented Metrics , 1995, TOOLS.

[20]  Stephen H. Kan,et al.  Metrics and Models in Software Quality Engineering , 1994, SOEN.

[21]  Mario Piattini,et al.  Defining and Validating Metrics for UML Statechart Diagrams , 2002 .

[22]  William Wilson,et al.  Automated quality analysis of Natural Language requirement specifications , 1996 .

[23]  Sajjad Mahmood,et al.  Measuring the complexity of a UML component specification , 2005, Fifth International Conference on Quality Software (QSIC'05).

[24]  Fernando Brito e Abreu,et al.  Using OCL to Formalize Object-Oriented Design Metrics Definitions , 2002 .

[25]  Tom Mens,et al.  A Graph-Based Metamodel for Object-Oriented Software Metrics , 2002, Electron. Notes Theor. Comput. Sci..

[26]  C. Denger,et al.  Requirements metrics: an initial literature survey on measurement approaches for requirements specifications , 2003 .

[27]  Renaud Pawlak,et al.  Spoon: Program Analysis and Transformation in Java , 2006 .

[28]  Juan de Lara,et al.  Visual Specification of Metrics for Domain Specific Visual Languages , 2008, Electron. Notes Theor. Comput. Sci..

[29]  Jean-Marc Jézéquel,et al.  Weaving executability into object-oriented meta-languages , 2005, MoDELS'05.

[30]  Frank Budinsky,et al.  Eclipse Modeling Framework , 2003 .

[31]  Mario Piattini,et al.  Early Measures for UML Class Diagrams , 2000, Obj. Logiciel Base données Réseaux.

[32]  Lu Zhang,et al.  Towards the UML evaluation using taxonomic patterns on meta-classes , 2005, Fifth International Conference on Quality Software (QSIC'05).

[33]  Carl G. Davis,et al.  A Hierarchical Model for Object-Oriented Design Quality Assessment , 2002, IEEE Trans. Software Eng..

[34]  Brian Berenbach,et al.  Metrics for model driven requirements development , 2006, ICSE '06.

[35]  James F. Power,et al.  Experiences of using the Dagstuhl Middle Metamodel for defining software metrics , 2006, PPPJ '06.

[36]  Jan Bosch,et al.  Characterizing stability in evolving frameworks , 1999, Proceedings Technology of Object-Oriented Languages and Systems. TOOLS 29 (Cat. No.PR00275).

[37]  Bruce Edmonds,et al.  Syntactic Measures of Complexity , 1999 .

[38]  Norman F. Schneidewind,et al.  Methodology For Validating Software Metrics , 1992, IEEE Trans. Software Eng..

[39]  H. D. Rombach,et al.  The Goal Question Metric Approach , 1994 .

[40]  Jagdish Bansiya Evaluating framework architecture structural stability , 2000, CSUR.

[41]  Lu Zhang,et al.  Applying OO Metrics to Assess UML Meta-models , 2004, UML.

[42]  Thomas Kühne,et al.  Matters of (Meta-) Modeling , 2006, Software & Systems Modeling.