measurement and metrics in model driven software development
TRANSCRIPT
Measurement and Metrics in Model Driven Software Development
A short survey research
Ahmet Selman Bozkır
Introduction “A Model-driven Measurement
Approach” “Measuring Model Transformation in
Model Driven Development” Conclusion
Today
Model driven software development is a kind of new concept after object oriented approach in software development field.
Model Driven Engineering (MDE) is an approach to software development that advocates the creation of domain-specific languages (DSLs)
Intro
DSL is specified with a metamodel, from the point of view of MDE and a program written in a DSL is called a model.
To address safety-critical concerns and quality assurance, models need to be measured
Intro
Intro
A Model-driven Measurement Approach
Martin Monperrus, Jean-Marc Jezequel, Joel Champeau and Bridgette Hoeltze
ACM/IEEE 11th International Conference on Model Driven Engineering Languages
2008
A Model-driven Measurement Approach
Is it possible?
To generate measurement software from an abstract and declarative specification of metrics?
A Model-driven Measurement Approach
They named their contribution as model-driven measurement approach
It specifies metrics as instance of metric specification meta-model and then these metric specifications are used to generate a complete measurement software
A Model-driven Measurement Approach
Core Contributions:
-it measures models of a model-driven development process-it uses models as unique and consistent metric specifications (metric specification metamodel)-it serves application & domain independent measurement
A Model-driven Measurement Approach
A Model-driven Measurement Approach
Figure: Model-driven measurement: actions and artifacts
The, MSM is used to generate the measurement software itself. (fully automated)
A Model-driven Measurement Approach
DerivedMetricSpecification: arithmetic and function based metrics.CollectionBasedDerivedMetricSpecification: high order metrics. Statistical operators.Predicate: is a function from the set of model elements to the truth values.SigmaMetric: is the count of model elements that satisfy a predicate. Predicate can be as complex as needed.TauMetric: is the count of model links (i.e: link between two model elements)
A metric specification starts with;
- declaration of its type- a mandatory identifier- optional description
A Model-driven Measurement Approach
A Model-driven Measurement Approach
A Model-driven Measurement Approach
A Case Study:
Maritime Surveilliance System
-16 domain metrics implemented- took 1 week (1 day for metrics, 4 days to solve bugs in the measurement software generator prototype)-for comparision – agent based similator took several months
-it reduces the development cost of by an order by magnitude (involves creation of domain metamodel from scratch)
A Model-driven Measurement Approach
Motoshi Saeki and Haruhiko Kaiya (Tokyo Institute of Tech.)
Proceedings of the CAiSE 2007
2007
Measuring Model Transformation in Model-driven Development
Measuring Model Transformation in Model-driven Development
How to identify what transformation can show the improvement of the model quality?
How to define metrics for model transformation?
Measuring Model Transformation in Model-driven Development
• In MDD, model transformation is one the most important steps. • If a metrics value can express the quality of a model, a positive increasing the metrics vales during the transformation process can present the model quality.
•For this, the formal definition of a transformation must cover the definition of metrics of model quality in order to calculate.
Measuring Model Transformation in Model-driven Development
Contribution:
Use a meta modeling method to describe model-specific metrics.
Develop a graph rewriting system to formalize model transformation.
Measuring Model Transformation in Model-driven Development
Technique:
•Adopt a class diagram of UML to specify meta models
•Use Object Contraint Language (OCL) for constraints on models.
Measuring Model Transformation in Model-driven Development
Technique:
• Embed metrics and their calculation methods into a meta model
Measuring Model Transformation in Model-driven Development
Measuring Model Transformation in Model-driven Development
Measuring Model Transformation in Model-driven Development
•Authors propose the technique to specify the metrics of model transformations based on graph rewriting systems
•Authors state the importance of collecting useful definitions of metrics. Furthermore, evaluation of these metrics is also a good future direction.