Software Metrics Metamodel

Last updated

The OMG Structured Metrics Metamodel (SMM) [1] specification defines a standard Metrics Metamodel. It is a publicly available specification from the Object Management Group (OMG). SMM specifies a metamodel for defining, representing and exchanging both measures and measurement information related to any structured information model, such as the OMG Meta Object Facility (MOF™) standard, defining an XMI interchange format between metric extraction tools. It is used to maintain metrics by a number of other OMG specifications such as the Knowledge Discovery Metamodel and the Value Delivery Metamodel.

Contents

Key concepts

The SMM standard includes elements representing the concepts to express a wide range of diversified measures:

Measures

SMM specifies the representation of measures without detailing the representation of the entities measured.

SMM defines representations for:

Measurement

The process of extracting metrics, requires a SMM tool to apply the measures to an observation scope that hold one or more models. This tool will produce a graph containing measurements, that maps to the measure graph. On this graph every node corresponds to the result of a measure on a measurand. Therefore, measures are mapped to 0 or more measurements where 0 indicates that no measurands corresponding to the scope of the measure were found.

Observations

The SMM allows for multiple measurement graphs to be stored. Whenever a measurement graph is produced, it is associated to an observation that is dated and tagged with information describing the tool used to extract the metrics. Observations exist to be passed to metric reporting tools that can provide additional features like visualization and statistical control.

Related Research Articles

<span class="mw-page-title-main">Measurement</span> Process of assigning numbers to objects or events

Measurement is the quantification of attributes of an object or event, which can be used to compare with other objects or events. In other words, measurement is a process of determining how large or small a physical quantity is as compared to a basic reference quantity of the same kind. The scope and application of measurement are dependent on the context and discipline. In natural sciences and engineering, measurements do not apply to nominal properties of objects or events, which is consistent with the guidelines of the International vocabulary of metrology published by the International Bureau of Weights and Measures. However, in other fields such as statistics as well as the social and behavioural sciences, measurements can have multiple levels, which would include nominal, ordinal, interval and ratio scales.

<span class="mw-page-title-main">Unified Modeling Language</span> Software system design modeling tool

The Unified Modeling Language (UML) is a general-purpose, developmental modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system.

Accuracy and precision are two measures of observational error. Accuracy is how close a given set of measurements are to their true value, while precision is how close the measurements are to each other.

The XML Metadata Interchange (XMI) is an Object Management Group (OMG) standard for exchanging metadata information via Extensible Markup Language (XML).

<span class="mw-page-title-main">Meta-Object Facility</span> Standard of Object Management Group

The Meta-Object Facility (MOF) is an Object Management Group (OMG) standard for model-driven engineering. Its purpose is to provide a type system for entities in the CORBA architecture and a set of interfaces through which those types can be created and manipulated. The official reference page may be found at OMG's website.

Model Driven Architecture (MDA) is a software design approach for the development of software systems. It provides a set of guidelines for the structuring of specifications, which are expressed as models. Model Driven Architecture is a kind of domain engineering, and supports model-driven engineering of software systems. It was launched by the Object Management Group (OMG) in 2001.

In the context of software engineering, software quality refers to two related but distinct notions:

<span class="mw-page-title-main">Metamodeling</span> Concept of software engineering

A metamodel or surrogate model is a model of a model, and metamodeling is the process of generating such metamodels. Thus metamodeling or meta-modeling is the analysis, construction and development of the frames, rules, constraints, models and theories applicable and useful for modeling a predefined class of problems. As its name implies, this concept applies the notions of meta- and modeling in software engineering and systems engineering. Metamodels are of many types and have diverse applications.

In metrology, measurement uncertainty is the expression of the statistical dispersion of the values attributed to a measured quantity. All measurements are subject to uncertainty and a measurement result is complete only when it is accompanied by a statement of the associated uncertainty, such as the standard deviation. By international agreement, this uncertainty has a probabilistic basis and reflects incomplete knowledge of the quantity value. It is a non-negative parameter.

The function point is a "unit of measurement" to express the amount of business functionality an information system provides to a user. Function points are used to compute a functional size measurement (FSM) of software. The cost of a single unit is calculated from past projects.

<span class="mw-page-title-main">ATLAS Transformation Language</span> Model transformation language

ATL is a model transformation language and toolkit developed and maintained by OBEO and AtlanMod. It was initiated by the AtlanMod team. In the field of Model-Driven Engineering (MDE), ATL provides ways to produce a set of target models from a set of source models.

<span class="mw-page-title-main">Systems Modeling Language</span> General-purpose modeling language

The Systems Modeling Language (SysML) is a general-purpose modeling language for systems engineering applications. It supports the specification, analysis, design, verification and validation of a broad range of systems and systems-of-systems.

<span class="mw-page-title-main">Eclipse Modeling Framework</span> Project of Eclipse Foundation

Eclipse Modeling Framework (EMF) is an Eclipse-based modeling framework and code generation facility for building tools and other applications based on a structured data model.

The Business Process Definition Metamodel (BPDM) is a standard definition of concepts used to express business process models, adopted by the OMG. Metamodels define concepts, relationships, and semantics for exchange of user models between different modeling tools. The exchange format is defined by XSD and XMI, a specification for transformation of OMG metamodels to XML. Pursuant to the OMG's policies, the metamodel is the result of an open process involving submissions by member organizations, following a Request for Proposal (RFP) issued in 2003. BPDM was adopted in initial form in July 2007, and finalized in July 2008.

Supply-chain operations reference (SCOR) model is a process reference model developed and endorsed by the Supply-Chain Council as the cross-industry, standard diagnostic tool for supply chain management. The SCOR model describes the business activities associated with satisfying a customer's demand, which include plan, source, make, deliver, return and enable. Use of the model includes analyzing the current state of a company's processes and goals, quantifying operational performance, and comparing company performance to benchmark data. SCOR has developed a set of metrics for supply chain performance, and Supply Chain Council members have formed industry groups to collect best practices information that companies can use to elevate their supply chain models.

Knowledge Discovery Metamodel (KDM) is a publicly available specification from the Object Management Group (OMG). KDM is a common intermediate representation for existing software systems and their operating environments, that defines common metadata required for deep semantic integration of Application Lifecycle Management tools. KDM was designed as the OMG's foundation for software modernization, IT portfolio management and software assurance. KDM uses OMG's Meta-Object Facility to define an XMI interchange format between tools that work with existing software as well as an abstract interface (API) for the next-generation assurance and modernization tools. KDM standardizes existing approaches to knowledge discovery in software engineering artifacts, also known as software mining.

Software mining is an application of knowledge discovery in the area of software modernization which involves understanding existing software artifacts. This process is related to a concept of reverse engineering. Usually the knowledge obtained from existing software is presented in the form of models to which specific queries can be made when necessary. An entity relationship is a frequent format of representing knowledge obtained from existing software. Object Management Group (OMG) developed specification Knowledge Discovery Metamodel (KDM) which defines an ontology for software assets and their relationships for the purpose of performing knowledge discovery of existing code.

Architecture-driven modernization in computing and computer science, is the name of the initiative of the Object Management Group related to building and promoting standards that can be applied to modernize legacy systems. The objective of this initiative is to provide standard representations of views of existing systems, in order to enable common modernization activities, such as code analysis and comprehension, and software transformation.

The Semantics of Business Vocabulary and Business Rules (SBVR) is an adopted standard of the Object Management Group (OMG) intended to be the basis for formal and detailed natural language declarative description of a complex entity, such as a business. SBVR is intended to formalize complex compliance rules, such as operational rules for an enterprise, security policy, standard compliance, or regulatory compliance rules. Such formal vocabularies and rules can be interpreted and used by computer systems. SBVR is an integral part of the OMG's model-driven architecture (MDA).

<span class="mw-page-title-main">TRAK</span> Enterprise architecture framework

TRAK is a general enterprise architecture framework aimed at systems engineers. It is based on MODAF 1.2.

References

  1. "About the Structured Metrics Metamodel Specification Version 1.2".