Metrics for Analyzing the Quality of Model Transformations



Similar documents
DSL Design. Model Transformations. Model Transformations. Language g Implementation Strategies

Structure of Presentation. The Role of Programming in Informatics Curricula. Concepts of Informatics 2. Concepts of Informatics 1

ON THE CONGRUENCE OF MODULARITY AND CODE COUPLING

Principles of integrated software development environments. Learning Objectives. Context: Software Process (e.g. USDP or RUP)

Sub Code: CP7007 Sub Name: SOFTWARE REQUIREMENTS ENGINEERING Branch / Year: ME CSE / I Year Staff in charge: Dr.M.Senthil Kumar

Organization of DSLE part. Overview of DSLE. Model driven software engineering. Engineering. Tooling. Topics:

GUJARAT TECHNOLOGICAL UNIVERSITY Computer Engineering (07) BE 1st To 8th Semester Exam Scheme & Subject Code

Component visualization methods for large legacy software in C/C++

Effective Team Development Using Microsoft Visual Studio Team System

Introduction to Generative Software Development

Towards Flexible Business Process Modeling and Implementation: Combining Domain Specific Modeling Languages and Pattern-based Transformations


Overview. Stakes. Context. Model-Based Development of Safety-Critical Systems

Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools

VALLIAMMAI ENGINEERING COLLEGE S.R.M. Nagar, Kattankulathur DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

Challenges and Opportunities of Big Software-based Innovation

Generating Aspect Code from UML Models

2667A - Introduction to Programming

LDIF - Linked Data Integration Framework

WHITE PAPER DATA GOVERNANCE ENTERPRISE MODEL MANAGEMENT

How To Develop Software

Model-Driven Development: A Metamodeling Foundation

SDMX technical standards Data validation and other major enhancements

Open Source egovernment Reference Architecture Osera.modeldriven.org. Copyright 2006 Data Access Technologies, Inc. Slide 1

Engineering Process Software Qualities Software Architectural Design

Problems and Measures Regarding Waste 1 Management and 3R Era of public health improvement Situation subsequent to the Meiji Restoration

Software Engineering. So(ware Evolu1on

ONTOLOGY FOR MOBILE PHONE OPERATING SYSTEMS

Chapter 9 Software Evolution

A Variability Viewpoint for Enterprise Software Systems

Software Product Lines

1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java. The Nature of Software...

Introducing Formal Methods. Software Engineering and Formal Methods

Information systems modelling UML and service description languages

Software Test Plan (STP) Template

What is a life cycle model?

DOCUMENTOS DE TRABAJO Serie Gestión

Fundamentals of Measurements

A Web Specific Language for Content Management Systems

Software Development Best Practices

Filling the Gap between Business Process Modeling and Behavior Driven Development

WHITE PAPER. Peter Drucker. intentsoft.com 2014, Intentional Software Corporation

An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications

New Generation of Software Development

Dangers and Benefits of Using a DSL

SQMB '11 Automated Model Quality Rating of Embedded Systems

Eindhoven University of Technology

ACCELRYS DISCOVERANT

Unification of AOP and FOP in Model Driven Development

SOLVING EQUATIONS WITH EXCEL

Analysis and Transformation of Source Code by Parsing and Rewriting

A Framework for Software Architecture Visualization and Evaluation

Nintex Workflow 2013 & InfoPath Form Design workshop

Advertising Opportunities State of Digital

A Software Development Platform for SOA

Model Driven Benchmark Generation for Web Services

White Paper Take Control of Datacenter Infrastructure

School of Advanced Studies Doctor Of Management In Organizational Leadership/information Systems And Technology. DM/IST 004 Requirements

Development of Tool Extensions with MOFLON

Challenges and Opportunities for formal specifications in Service Oriented Architectures

Towards Collaborative Requirements Engineering Tool for ERP product customization

MDA Transformations Applied to Web Application Development 1

Use software to define silicon p. 15

Bachelor Degree in Informatics Engineering Master courses

Practical application of SAS Clinical Data Integration Server for conversion to SDTM data

Towards a Decision Making Framework for Model Transformation Languages. Soroosh Nalchigar soroosh@cs.toronto.edu

Model-Driven Development - From Frontend to Code

The Clean programming language. Group 25, Jingui Li, Daren Tuzi

A Model for Effective Asset Re-use in Software Projects

Modernized and Maintainable Code. Frank Weil, Ph.D. UniqueSoft, LLC

International Journal of Scientific & Engineering Research, Volume 4, Issue 11, November ISSN

XFlash A Web Application Design Framework with Model-Driven Methodology

Developing SOA solutions using IBM SOA Foundation

METADATA-DRIVEN QLIKVIEW APPLICATIONS AND POWERFUL DATA INTEGRATION WITH QLIKVIEW EXPRESSOR

Software Validation and Verification Plan

APPROXIMATING THE PROCESS CYCLE EFFICIENCY OF NON-PHYSICAL PRODUCTION SYSTEMS

Analizo: an Extensible Multi-Language Source Code Analysis and Visualization Toolkit

Software Engineering Reference Framework

JOURNAL OF OBJECT TECHNOLOGY

Toward Families of QVT DSL and Tool

Software Process in Geant4 an overview

Latest Trends in Testing. Ajay K Chhokra

JFlooder - Application performance testing with QoS assurance

Clarifying a vision on certification of MDA tools

SYSTEMS ANALYSIS DESIGN

Software Requirements Metrics

Appendix... B. The Object Constraint

Transcription:

Metrics for Analyzing the Quality of Model Transformations Marcel van Amstel 1 Christian Lange 2 Mark van den Brand 1 1 Eindhoven University of Technology, The Netherlands 2 Federal Office for Information Technology, Germany The 7th BElgian-NEtherlands software evolution workshop, December 11 th 2008 Marcel van Amstel, Christian Lange, Mark van den Brand 1/22

Presentation Outline 1 Background 2 Goal 3 Approach 4 Tool 5 Empirical Study 6 Conclusions 7 Future Work Marcel van Amstel, Christian Lange, Mark van den Brand 2/22

Background Model Driven Engineering Domain specific languages for modeling. Model transformations for synthesis. Marcel van Amstel, Christian Lange, Mark van den Brand 3/22

Background Model Transformation Formalisms ATL QVT openarchitectureware ASF+SDF TOM Stratego/XT... Marcel van Amstel, Christian Lange, Mark van den Brand 4/22

Background ASF+SDF Specification of (domain specific) languages in SDF. Specification of conditional rewrite rules in ASF. Transformations are syntax-safe. Marcel van Amstel, Christian Lange, Mark van den Brand 5/22

Background ASF+SDF Example Syntax definition (language) context-free syntax <Name, List[[Attribute]], List[[Operation]]> -> Class String -> Name String -> Attribute String -> Operation Marcel van Amstel, Christian Lange, Mark van den Brand 6/22

Background ASF+SDF Example Syntax definition (transformation signatures) context-free syntax addgettersandsetterstoclass(class) -> Class creategettersandsetters(list[[attribute]]) -> List[[Operation]] creategetter(attribute) createsetter(attribute) -> Operation -> Operation variables "$Class"[0-9\ ]* -> Class "$Name"[0-9\ ]* -> Name "$Attribute"[0-9\ ]* -> Attribute "$AttributeList"[0-9\ ]* -> List[[Attribute]] "$OperationList"[0-9\ ]* -> List[[Operation]] Marcel van Amstel, Christian Lange, Mark van den Brand 7/22

Background ASF+SDF Example Transformation definition (implementation) equations [addgettersandsetterstoclass-1] <$Name, $AttributeList, $OperationList> := $Class, $OperationList1 := creategettersandsetters($attributelist), $OperationList := concat($operationlist1, $OperationList), $Class := <$Name, $AttributeList, $OperationList > ====> addgettersandsetterstoclass($class) = $Class Marcel van Amstel, Christian Lange, Mark van den Brand 8/22

Background ASF+SDF Example Term definition Marcel van Amstel, Christian Lange, Mark van den Brand 9/22

Background ASF+SDF Example Transformation result Marcel van Amstel, Christian Lange, Mark van den Brand 10/22

Goal Problem Statement Model driven engineering is becoming increasingly important. Model transformations are similar to traditional software artifacts. Marcel van Amstel, Christian Lange, Mark van den Brand 11/22

Goal Research Goal Make the quality of model transformations measurable. Marcel van Amstel, Christian Lange, Mark van den Brand 12/22

Goal Research Goal Make the quality of model transformations measurable. Model transformation M t M Marcel van Amstel, Christian Lange, Mark van den Brand 12/22

Approach Quality Attributes Quality: Understandability Modifiability Reusability Modularity Completeness Consistency Conciseness Marcel van Amstel, Christian Lange, Mark van den Brand 13/22

Approach Metrics Three categories: Function metrics Module metrics (In)consistency metrics Marcel van Amstel, Christian Lange, Mark van den Brand 14/22

Metrics Collection Tool Tool architecture ) 5. 5,. 5 F A? E B E? = J E. =? J - N J H =? J H. =? J I A J H E? I, = J = > = I A + =? K = J H ) 5. 5,. ) 2 1. H J A @ * =? A @ A J H E? I 4 A F H J I Marcel van Amstel, Christian Lange, Mark van den Brand 15/22

Metrics Collection Tool Metrics report Metric Value Number of functions 47 Number of signatures 80 Number of equations 344 Number of modules 35 Number of signatures without equations 11 Metric Min. Max. Avg. Median StdDev. Number of functions per module 0 19 1,46 0 3,67 Number of signatures per module 0 33 2,29 0 6,15 Number of equations per module 2 92 28,67 18 27,97 Number of signatures per function 1 6 1,43 1 1,02 Number of equations per function 1 51 6,85 3 11,23 Number of equations and conditions per function 1 288 17,51 5 45,17 Fan-in (function) 0 56 4,85 2 9,03 Fan-out (function) 0 138 7,68 1 23,12 Fan-in (module) 0 57 11,83 7 15,56 Fan-out (module) 0 90 22,33 7,5 29,42 Number of conditions per equation 0 8 1,53 1 1,84 Number of assignment conditions per equation 0 8 1,37 1 1,79 Number of distinct return values per function 1 3 1,07 1 0,32 Number of import declarations 0 12 3,77 3 2,92 Number of times a module is imported 0 6 2,09 2 1,36 Number of variables per type 1 11 2,65 2 2,42 Number of different variables per type 1 4 1,25 1 0,63 Number of types per variable 1 2 1,19 1 0,39 Number of unused variables per module 0 12 1,51 0 3,25 Marcel van Amstel, Christian Lange, Mark van den Brand 16/22

Study Design Introduction Goal: Automated quality analysis Method: Questionnaire Semi-structured interview 6 cases 4 respondents Marcel van Amstel, Christian Lange, Mark van den Brand 17/22

Study Design Overview of the cases Transformation # Modules # Functions Purpose ACP2UML 15 173 Transform process algebra models into UML state machines SL2XMI 8 70 Transform UML activities enriched with surface language constructs into plain activities SLCheck 9 58 Surface language wellformedness checker ASF2C 41 396 ASF to C compiler UML2DOT 8 28 Transform UML activities into the input language of the visualization engine DOT REPLEO 35 47 Syntax-safe template engine Marcel van Amstel, Christian Lange, Mark van den Brand 18/22

Quality Analysis Expert evaluation ACP2SM SL2XMI SLCheck ASF2C UML2DOT REPLEO Understandability 2,83 3,17 3,04 1,69 3,38 2,38 Modifiability 3,25 3,17 2,92 1,44 3,25 2,54 Reusability 2,89 3,11 2,89 2,25 3,56 3,11 Modularity 3,89 2,00 2,22 4,00 2,00 3,50 Completeness 3,89 4,11 3,83 4,00 4,06 3,33 Consistency 3,61 3,89 4,00 3,50 4,11 3,06 Conciseness 3,11 3,33 3,22 2,67 3,56 3,11 Marcel van Amstel, Christian Lange, Mark van den Brand 19/22

Relating Metrics to Quality Attributes Marcel van Amstel, Christian Lange, Mark van den Brand 20/22

Conclusions Quality analysis of model transformations is important. 7 quality attributes and 31 metrics. Relation between metrics and quality attributes based on empirical data. Marcel van Amstel, Christian Lange, Mark van den Brand 21/22

Future Work Extend the set of metrics and quality attributes. Perform a larger empirical study. Create a quality model. Apply techniques to other transformation formalisms. Propose a methodology for creating high-quality model transformations. Marcel van Amstel, Christian Lange, Mark van den Brand 22/22