Where is the Proof? - A Review of Experiences from Applying MDE in Industry

Similar documents
Deploying Agile Practices in Organizations: A Case Study

The open source development model has unique characteristics that make it in some

IT4305: Rapid Software Development Part 2: Structured Question Paper

IBM Software Group. Mastering Requirements Management with Use Cases Module 6: Define the System

Measurement & Analysis in the Real World

Implementing a tool to Support KAOS-Beta Process Model Using EPF

The Role of Architecture in a Scaled Agile Organization - A Case Study in the Insurance Industry

The Impact of Test Case Prioritization on Test Coverage versus Defects Found

PROCESS USE CASES: USE CASES IDENTIFICATION

A cognitive perspective on pair programming

Practice Examination IREB

Execution Plan for Software Engineering Education in Taiwan

Towards a Collaboration Framework for Selection of ICT Tools

Higher education is becoming a major driver of economic competitiveness

The Seven Habits of Effective Iterative Development

Visit us at:

GALICIAN TEACHERS PERCEPTIONS ON THE USABILITY AND USEFULNESS OF THE ODS PORTAL

Tun your everyday simulation activity into research

P. Belsis, C. Sgouropoulou, K. Sfikas, G. Pantziou, C. Skourlas, J. Varnas

Moderator: Gary Weckman Ohio University USA

Software Security: Integrating Secure Software Engineering in Graduate Computer Science Curriculum

Institutionen för datavetenskap. Hardware test equipment utilization measurement

UCEAS: User-centred Evaluations of Adaptive Systems

A GENERIC SPLIT PROCESS MODEL FOR ASSET MANAGEMENT DECISION-MAKING

Evaluating the TESTAR tool in an Industrial Case Study

THEORY OF PLANNED BEHAVIOR MODEL IN ELECTRONIC LEARNING: A PILOT STUDY

Ph.D. in Behavior Analysis Ph.d. i atferdsanalyse

A Pipelined Approach for Iterative Software Process Model

Introducing New IT Project Management Practices - a Case Study

European Cooperation in the field of Scientific and Technical Research - COST - Brussels, 24 May 2013 COST 024/13

TEACHING IN THE TECH-LAB USING THE SOFTWARE FACTORY METHOD *

Evaluation of Test Process Improvement approaches An industrial case study

PUBLIC CASE REPORT Use of the GeoGebra software at upper secondary school

Education the telstra BLuEPRint

EECS 571 PRINCIPLES OF REAL-TIME COMPUTING Fall 10. Instructor: Kang G. Shin, 4605 CSE, ;

Experience and Innovation Factory: Adaptation of an Experience Factory Model for a Research and Development Laboratory

Programme Specification

Introduction to Modeling and Simulation. Conceptual Modeling. OSMAN BALCI Professor

Generating Test Cases From Use Cases

Two Futures of Software Testing

Collective Code Bookmarks for Program Comprehension

Including the Microsoft Solution Framework as an agile method into the V-Modell XT

Computer Science PhD Program Evaluation Proposal Based on Domain and Non-Domain Characteristics

Abstract. Janaka Jayalath Director / Information Systems, Tertiary and Vocational Education Commission, Sri Lanka.

What Different Kinds of Stratification Can Reveal about the Generalizability of Data-Mined Skill Assessment Models

Process improvement, The Agile Way! By Ben Linders Published in Methods and Tools, winter

An NFR Pattern Approach to Dealing with Non-Functional Requirements

November 17, 2017 ARIZONA STATE UNIVERSITY. ADDENDUM 3 RFP Digital Integrated Enrollment Support for Students

Assessment of Student Academic Achievement

The Talent Development High School Model Context, Components, and Initial Impacts on Ninth-Grade Students Engagement and Performance

Software Maintenance

Executive Summary. Palencia Elementary

e-portfolios in Australian education and training 2008 National Symposium Report

From understanding perspectives to informing public policy the potential and challenges for Q findings to inform survey design

Customised Software Tools for Quality Measurement Application of Open Source Software in Education

Executive Summary. Laurel County School District. Dr. Doug Bennett, Superintendent 718 N Main St London, KY

Empirical Software Evolvability Code Smells and Human Evaluations

The Characteristics of Programs of Information

PERFORMING ARTS. Unit 2 Proposal for a commissioning brief Suite. Cambridge TECHNICALS LEVEL 3. L/507/6467 Guided learning hours: 60

Requirements-Gathering Collaborative Networks in Distributed Software Projects

Motivation to e-learn within organizational settings: What is it and how could it be measured?

Strategy for teaching communication skills in dentistry

Mathematical learning difficulties Long introduction Part II: Assessment and Interventions

On the Combined Behavior of Autonomous Resource Management Agents

MAINTAINING CURRICULUM CONSISTENCY OF TECHNICAL AND VOCATIONAL EDUCATIONAL PROGRAMS THROUGH TEACHER DESIGN TEAMS

Report from the visiting committee

FACULTY OF PSYCHOLOGY

ADDIE: A systematic methodology for instructional design that includes five phases: Analysis, Design, Development, Implementation, and Evaluation.

Mike Cohn - background

Evaluating the Effectiveness of Mindmapping in Generating Domain Ontologies using OntoREM: The MASCOT Case Study

Revision and Assessment Plan for the Neumann University Core Experience

DSTO WTOIBUT10N STATEMENT A

Envision Success FY2014-FY2017 Strategic Goal 1: Enhancing pathways that guide students to achieve their academic, career, and personal goals

What is PDE? Research Report. Paul Nichols

Summary Report. ECVET Agent Exploration Study. Prepared by Meath Partnership February 2015

Student Support Services Evaluation Readiness Report. By Mandalyn R. Swanson, Ph.D., Program Evaluation Specialist. and Evaluation

USER ADAPTATION IN E-LEARNING ENVIRONMENTS

WP 2: Project Quality Assurance. Quality Manual

Strategic Planning for Retaining Women in Undergraduate Computing

THE DoD HIGH LEVEL ARCHITECTURE: AN UPDATE 1

Inquiry Learning Methodologies and the Disposition to Energy Systems Problem Solving

Reduce the Failure Rate of the Screwing Process with Six Sigma Approach

Smart Grids Simulation with MECSYCO

Information Event Master Thesis

UNIVERSIDAD DEL ESTE Vicerrectoría Académica Vicerrectoría Asociada de Assessment Escuela de Ciencias y Tecnología

Running Head: STUDENT CENTRIC INTEGRATED TECHNOLOGY

IMSH 2018 Simulation: Making the Impossible Possible

Integration of ICT in Teaching and Learning

TU-E2090 Research Assignment in Operations Management and Services

Europeana Creative. Bringing Cultural Heritage Institutions and Creative Industries Europeana Day, April 11, 2014 Zagreb

Teaching Agile Addressing the Conflict Between Project Delivery and Application of Agile Methods

Activities, Exercises, Assignments Copyright 2009 Cem Kaner 1

How to read a Paper ISMLL. Dr. Josif Grabocka, Carlotta Schatten

Design and Creation of Games GAME

Chamilo 2.0: A Second Generation Open Source E-learning and Collaboration Platform

Executive summary (in English)

Why are students interested in studying ICT? Results from admission and ICT students introductory questionnaire.

A Computer Vision Integration Model for a Multi-modal Cognitive System

Programme Specification (Postgraduate) Date amended: 25 Feb 2016

Different Requirements Gathering Techniques and Issues. Javaria Mushtaq

Transcription:

Where is the Proof? - A Review of Experiences from Applying MDE in Industry, Vegard Dehlen SINTEF ICT, Oslo, Norway 1

Motivation Model-Driven Engineering (MDE) has been promoted as a solution to handle increased complexity of software development. MDE promises: Better abstraction techniques and separation of concerns -> improved communication, improved quality, portability of solutions Generation of artefacts from models -> increased productivity, improved quality, traceability etc. But: Are these promises supported by evidence? 2

Context This research is supported by two projects: 1. MODELPLEX (EU IP, 2006-2010): The goal of MODELPLEX is to develop solutions for applying MDE in complex software system development. We plan to evaluate the MODELPLEX solutions empirically and therefore searched for empirical studies on applying MDE. 2. Quality in MDE- QiM (SINTEF, 2006-2008): The goal of QiM is to search for and develop approaches for improving the quality of software when applying MDE. We searched for studies on quality aspects in MDE. 3

Finding Evidence on MDE Impact Research method: Systematic review as a step in evidence-based software engineering (Dybå, Kitchenham, Jørgensen): 1. Collect evidence as answer to research questions. 2. Identify publication channels. 3. Search them for available evidence. 4. Critically appraise the evidence for its validity, impact and applicability. 5. Integrate the evidence with practical experience and values to answer the questions, or to make decisions about the practice. 4

Research Questions Theory Observation in industry Inputs: assets, current practices Intervention: MDE construct validity Treatment: new practices, metrics cause-effect external validity conclusion validity internal validity Effects: benefits & savings construct validity Outcomes: metrics & findings Confounding factors: e.g., context, complexity or size Complementary factors: e.g., training or tools RQ1. Where and why has MDE been applied? RQ2. What is the state of maturity of MDE? RQ3. What evidence do we have on the impact of MDE on productivity and software quality? 5

Publication Channels We searched in: Journals and conferences: SoSyM, ESE journal, UML and MoDELS conferences, ECMDA conferences, DSM workshops at OOPSLA; all since 2000 IEEE Xplore and ACM Digital Library; References in other papers. 33 papers were identified; 8 were excluded (no evidence). Where published? 13 papers are published in the proceedings of conferences (especially the ECMDA-FA conference); 9 papers in workshops and satellite activities of conferences; 2 are online reports; Only one is published in a journal. 6

An Overview of Papers Only seven papers report experiences from completed projects; Others are from pilot studies or ongoing projects at the time of reporting, One is from a terminated project (at ABB). Most papers do not provide any information on the size of the projects. Type of studies: 20 of papers are experience reports from single projects; 3 papers have used interviews and questionnaires in addition to observations; 3 papers describe comparative studies; 1 paper describes three quasi-experiments (the MODELWARE report). Motorola is an exception with detailed description and quantitative data. 7

RQ1- Where has MDE been Applied? A broad range of companies in various domains report their experience from investigating or applying MDE. To name some, the papers cover: Telecommunications domain - 7 papers; Business applications and financial organizations - 5 papers; Defense / aerodynamics / avionic systems - 2 papers; Web applications - 2 papers. Types of systems: Safety-critical and trustworthy systems - 3 papers; Embedded systems - 2 papers; Software product lines - 3 papers; Legacy systems - 2 successful cases and one unsuccessful: ABB Robotics refrained from adopting MDE due to the base of legacy code. 8

RQ1- Why MDE has been Applied? Main motivations have been: Increasing productivity and shortening development time - 6 papers; Improving the quality of the generated code or models, earlier detection of bugs, and managing requirement volatility - 6 papers; Automation: generating code and other artifacts -13 papers; Improved communication and information sharing between stakeholders and within the development team - 5 papers, and ease of learning - 2 papers. Some other motivations have been portability of solutions, traceability, and early assessment - each in only 2 papers. 9

RQ2- State of the MDE; Automatic Generation Some papers report generating all or most of the code from the models (2 examples), while others report that only part of the code could be generated. Depends on the type of code: low-level code is not captured in the design and is unlikely to be generated. Most papers report the status of code generators as satisfactory in producing code with no introduced defects. Automatic generation of code required developing Domain Specific Languages (DSLs) or UML profiles and own code generators in 6 cases. Also reports on generating XML schemas but not on generating test cases or documentation. 10

RQ2- State of the MDE; Processes Baker et al. report that many teams in Motorola encountered major obstacles in adopting MDE due to the lack of a well-defined process, lack of necessary skills and inflexibility in changing the existing culture. Approaches: Use pre-existing processes such as RUP and Agile with MDE; Define own MDE process: Thales example by extending the IEEE 1471 standard; Staron from ABB and Ericsson with focus on early defining of transformations. None of the studies report using any of the already existing although few model-based methodologies, e.g. KobrA or COMET. Process has not been much in focus. 11

RQ2- State of the MDE; Tools A small survey performed among industry participants showed that, when considering whether or not to adopt MDE, the availability of tools was perceived as the most influential factor. The MODELWARE participants were concerned about the instability of tools and their integration. According to Motorola, third-part MDE tools do not scale well to large system development. Others mean that third-party tools are not suitable for their products or question availability over time. Develop own tools or use OSS tools? MDE is at early adopters stage? 12

RQ3- Productivity Gains or Losses Quantitative data from small comparative studies or quasiexperiments on productivity : 3 partners in MODELWARE reported productivity gains around 20%. 2 others reported no difference (WGO) or even loss. A small comparative study by Middleware Company reported 35% productivity gains. Others report gains but do not have a clear baseline: Motorola estimates 2X-8X improvement. Improvements are due to automation, model-based simulation and testing, DSLs and reuse between releases. Few studies, lack of baseline, and lack of detailed data; for example on the cost of tool development. 13

RQ3- MDE Impact on Software Quality Even less data than on productivity! Motorola reported that: Fewer inspections are needed; Defects are avoided due to generation- 3X fewer defects; Defects are detected earlier 3X improvement; Fixing defects are faster but detecting cause may be more complex. France Telecom wrote that simulation helps in validating specifications. 14

Validity Threats Low number of studies -> generalization is impossible! Success cases are more likely published than failures. Some companies may refrain from publishing their results. Few results from large-scale projects. Lack of baseline data in most companies -> estimated results are not reliable. We have not included results reported in tool providers or OMG websites. A more extensive search may add other results. 15

Conclusions RQ1 Where and Why? A wide range of domains and types of systems; Automation and reducing labour-intensive tasks, improving communication, integrating best solutions in code generators -> increasing productivity and improving software quality by avoiding defects. RQ2 State of the MDE Code generation is common; Scalability, reliability and integration of tools are main concerns. RQ3 MDE impact on productivity and software quality: Reports of success but we need more data and from larger studies. Most difficult to answer. 16

Lessons Learned & Gaps for Future Research Define a baseline in the company from previous projects. Perform more empirical studies and of different types. Investigate Return-On-Investment (ROI) including costs and benefits. MODELPLEX have defined an evaluation plan based on previous experience and we will report the results as far as possible. 17

Thank You! Questions? 18