ThesisPresentation

39
A Model-Driven Approach for the esign, Implementation, and Executio of Software Development Methods Mario Cervera Úbeda Supervisors: Dr. Vicente Pelechano Ferragud Dra. Manuela Albert Albiol

Transcript of ThesisPresentation

Page 1: ThesisPresentation

A Model-Driven Approach for theDesign, Implementation, and Execution

of Software Development Methods

Mario Cervera Úbeda

Supervisors:Dr. Vicente Pelechano Ferragud

Dra. Manuela Albert Albiol

Page 2: ThesisPresentation

Agenda

1. Motivation2. Problem3. State of the Art4. Solution5. Tool Support6. Evaluation7. Conclusions

Page 3: ThesisPresentation

MotivationProblemState of the ArtSolution

MotivationTool SupportEvaluationConclusions

The tool is not adapted to the method

Method use decreased

The gvMétrica method

Page 4: ThesisPresentation

MotivationProblemState of the ArtSolution

MotivationTool SupportEvaluationConclusions

Tools adapted to gvMétrica

Hard to adapt MOSKitt to changes in gvMétrica

Inadequate support for method execution

Page 5: ThesisPresentation

MotivationProblemState of the ArtSolution

MotivationTool SupportEvaluationConclusions

How to define methods so that the construction of the supporting tools can be facilitated?

How to provide appropriate assistance for software engineers?

Page 6: ThesisPresentation

MotivationProblemState of the ArtSolution

MotivationTool SupportEvaluationConclusions

Method EngineeringThe engineering discipline to design, construct, and

adapt methods, techniques, and tools for the development of information systems

(Sjaak Brinkkemper, 1996)

Page 7: ThesisPresentation

MotivationProblemState of the ArtSolution

ProblemTool SupportEvaluationConclusions

Practitioners are reluctant to adopt existing Method Engineering techniques

Problem 1.High complexity

“The remedy is worse than the disease"

Francis Bacon (1561-1626)

Problem 2.Software support

(Henderson-Sellers & Ralyté, 2010) (Niknafs & Ramsin, 2008)

Page 8: ThesisPresentation

MotivationProblemState of the ArtSolution

ProblemTool SupportEvaluationConclusions

“The whole is greater than the sum of its parts”

Aristóteles (384 a.C. – 322 a.C.)

Problem 3.Lifecycle coverage

Problem 4.Process support

Method Engineering approaches do not offer a global solution

Lifecycle of methods Design Implementation Execution

Method parts Product Process

Page 9: ThesisPresentation

MotivationProblemState of the ArtSolution

ContributionTool SupportEvaluationConclusions

Model-Driven Engineering

A methodological approach for Method Engineering

Problem 1. Complexity

Problem 3. Lifecycle

Problem 4. Process

Problem 2. Software

• Design, implementation, and execution

• Product and process

• Software architecture

• CAME1 environment

MOSKitt4ME: A software infrastructure

1 Computer-Aided Method Engineering

Our contribution …

4ME

Page 10: ThesisPresentation

MotivationProblemState of the ArtSolution

State of the ArtTool SupportEvaluationConclusions

Problem 1. High complexity

AutomatedModel-driven

Ralyté (paradigm)Work Product Pool

Deneckère et al.

MMCPCA

MetaEdit+Rolland et al.

Method EditorOPF

Ralyté (assembly)Prakash

Brinkkemper et al.

Approaches

PartiallyPartiallyPartiallyPartiallyPartiallyPartiallyPartiallyPartiallyPartially

Partially

Partially

Partially

Partially

Partially

Page 11: ThesisPresentation

MotivationProblemState of the ArtSolution

State of the ArtTool SupportEvaluationConclusions

metaCASECAME

Ralyté (paradigm)Work Product Pool

Deneckère et al.

MMCPCA

MetaEdit+Rolland et al.

Method EditorOPF

Ralyté (assembly)Prakash

Brinkkemper et al.

Approaches

Problem 2. Software Support

Page 12: ThesisPresentation

MotivationProblemState of the ArtSolution

State of the ArtTool SupportEvaluationConclusions

Implementation ExecutionDesign

Ralyté (paradigm)Work Product Pool

Deneckère et al.

MMCPCA

MetaEdit+Rolland et al.

Method EditorOPF

Ralyté (assembly)Prakash

Brinkkemper et al. Supported

SupportedSupported

SupportedSupported

SupportedSupported

SupportedSupported SupportedSupported

SupportedSupported

Approaches

Problem 3. Lifecycle coverage

Page 13: ThesisPresentation

MotivationProblemState of the ArtSolution

State of the ArtTool SupportEvaluationConclusions

Process

Ralyté (paradigm)Work Product Pool

Deneckère et al.MMC

MetaEdit+Rolland et al.

Method EditorOPF

Ralyté (assembly)Prakash

Brinkkemper et al. Partially

Partially

Approaches

PartiallyPartially

Partially

Partially

Partially

Problem 4. Process support

Limited expressiveness

Lack of executability

Page 14: ThesisPresentation

MotivationProblemState of the ArtSolution

OverviewTool SupportEvaluationConclusions

Overview of our Approach

Page 15: ThesisPresentation

MotivationProblemState of the ArtSolution

OverviewTool SupportEvaluationConclusions

Method Design

references

Method Model

1

MethodEngineer

builds

stores

retrieves

Overview of our Approach

Asset Repository

Conceptual Technical

How to define the method so that it

supports product and process?

Page 16: ThesisPresentation

MotivationProblemState of the ArtSolution

Tool SupportEvaluationConclusions

Product• Product, Domain, Tool

Process• Task, Activity, Role, Sequence,

Process Pattern …

Method Design

How to define the method so that it supports product and process?

Using a DSL that combines SPEM 2.0 and BPMN 2.0

SPEM 2.0

Different types of tasks

Enhanced workflows

BPMN 2.0

Page 17: ThesisPresentation

MotivationProblemState of the ArtSolution

Method DesignTool SupportEvaluationConclusions

• From scratchHow to create the method model using the DSL?

Database Scripts Generation

Database Model Specification

Database Scripts Revision

Designer System Developer

Database Model DDL Script

Page 18: ThesisPresentation

MotivationProblemState of the ArtSolution

Method DesignTool SupportEvaluationConclusions

Conceptual fragments

Database Scripts Revision

Database Scripts Generation

Database Model Specification

Designer System

Database Model

How to create the method model using the DSL?

• Reusing conceptual fragments• From scratch

Integration of the reusable

asset

Page 19: ThesisPresentation

MotivationProblemState of the ArtSolution

OverviewTool SupportEvaluationConclusions

Overview of our Approach

Method ImplementationMethod Design

Asset Repository

references

Method Model

1 2

MethodEngineer

builds

stores

retrieves

ModelTransf.

Conceptual Technical

CASE Environment

Product Support

Process Support

Process Engine

How to enable the execution of the method in the process

engine?

How to enable the generation of

the tools that provide product

support?

Page 20: ThesisPresentation

MotivationProblemState of the ArtSolution

Tool SupportEvaluationConclusions Method Implementation

How to enable the generation of the tools that provide product support?

Enhancing the method using technical fragments

DB2DDL Transformation

MOSKitt component

Page 21: ThesisPresentation

MotivationProblemState of the ArtSolution

Method ImplementationTool SupportEvaluationConclusions

Database Scripts Generation

Database Model Specification

Designer System Developer

Database Model DDL Script

Database Scripts Revision

Technical fragments

DB2DDLTransformation

Example

DDL GeneratorDatabase Editor

Reference to the reusable software asset

Page 22: ThesisPresentation

MotivationProblemState of the ArtSolution

Tool SupportEvaluationConclusions Method Implementation

How to enable the execution of the method in the process engine?

We do not provide a process engine for our DSL

Model transformation

Methods represented in an executable language

Method Model

Page 23: ThesisPresentation

MotivationProblemState of the ArtSolution

Method ImplementationTool SupportEvaluationConclusions

Method Product Support

Method Process Support

Model Transformation

Product part

Process Engine

CASE EnvironmentProcess part

BPMN 2.0 deployed

integratedConfiguration

Model

MethodModel

The generation process

Page 24: ThesisPresentation

MotivationProblemState of the ArtSolution

OverviewTool SupportEvaluationConclusions

Overview of our Approach

Method ImplementationMethod Design Method Execution

Asset Repository

Software Engineer

references

Method Model

1 2 3

MethodEngineer

builds

stores

retrieves

ModelTransf.

Method Instance

follows

Conceptual Technical

interacts

CASE Environment

Product Support

Process Support

Process Engine

How does the CASE environment assist

the software engineer?

Page 25: ThesisPresentation

MotivationProblemState of the ArtSolution

Method ExecutionTool SupportEvaluationConclusions

How does the CASE environment assist the software engineer?

CASE Environment

Method Product Support

Technical Fragment

Method Process Support

CallGet

SoftwareEngineer

Read

Modelsat runtime

Execute InvokeBPMN 2.0Process Engine

Engine API

Process View Product Explorer View Help View

Project Manager

Project Explorer View

Technical Fragment

Technical Fragment

BPMN 2.0Model

MethodModel

Page 26: ThesisPresentation

MotivationProblemState of the ArtSolution

Tool SupportTool SupportEvaluationConclusions

What do we need to support?

Method Editor

Conceptual modeling of methods

Repository Client

Creation, storage, retrieval, and integration of fragments

Metatools

Creation of technical fragments

CASE Generator

Generation of CASE environments

Process Engine

Process execution

Project Manager

Assistance for software engineers

Editor…Transf.

Product creation

Page 27: ThesisPresentation

MotivationProblemState of the ArtSolution

Software ArchitectureTool SupportEvaluationConclusions

Architecture of MOSKitt4ME 4ME

Page 28: ThesisPresentation

MotivationProblemState of the ArtSolution

Software ArchitectureTool SupportEvaluationConclusions

Implementation

Eclipse UISWT/JFace

EclipsePDE

Page 29: ThesisPresentation

MotivationProblemState of the ArtSolution

EvaluationTool SupportEvaluationConclusions

High complexity of Method Engineering Negative effect on perceived usefulness

Is MOSKitt4ME useful and easy to use?

We performed an evaluation study following the guidelines proposed by Wohlin et al. (2012)

Page 30: ThesisPresentation

MotivationProblemState of the ArtSolution

PlanningTool SupportEvaluationConclusions

Measures of Usefulness and Ease of Use

Page 31: ThesisPresentation

MotivationProblemState of the ArtSolution

ExecutionTool SupportEvaluationConclusions

Video recordsScreencasts

8 subjects Individual think aloud sessions

Operation

Page 32: ThesisPresentation

MotivationProblemState of the ArtSolution

Data AnalysisTool SupportEvaluationConclusions

Think Aloud Method

We transcribed video records and screencasts

We annotated the transcriptions using a coding scheme think aloud protocols

We analyzed the protocols to obtain the objective measures

Page 33: ThesisPresentation

MotivationProblemState of the ArtSolution

Data AnalysisTool SupportEvaluationConclusions

An excerpt of a think aloud protocol …

8 protocols with 895 segments on average

Example

Page 34: ThesisPresentation

MotivationProblemState of the ArtSolution

ResultsTool SupportEvaluationConclusions

The subjective perception of the users indicates their willingness to accept and use MOSKitt4ME

Perceived ease of use

Perceived usefulness

Page 35: ThesisPresentation

MotivationProblemState of the ArtSolution

ResultsTool SupportEvaluationConclusions

MOSKitt4ME increases efficiency and effectiveness during method execution

The method design is the only phase where users experienced difficulty• MOSKitt4ME must be enhanced with assistance for method construction

Page 36: ThesisPresentation

A tool-supported methodological approach that is aimed at method/software engineers that need to carry out the design, implementation, and execution of methods

MotivationProblemState of the ArtSolution

ConclusionsTool SupportEvaluationConclusions

Contributions

1. Model-Driven Engineering Reduction in complexity

2. Equal support to three Method Engineering phases

3. Process support in a Method Engineering context

4. Software support for model-driven Method Engineering

Page 37: ThesisPresentation

MotivationProblemState of the ArtSolution

PublicationsTool SupportEvaluationConclusions

6 publications

• 2 journals• 3 international conferences• 1 national conference

CORE AJCR

(Impact factor: 1.456)

CORE A(Acceptance rate: 17%)

Page 38: ThesisPresentation

MotivationProblemState of the ArtSolution

Future WorkTool SupportEvaluationConclusions

Method families

Method as a Service (MaaS)

Megamodeling in Method Engineering

Method analysis and monitoring

Page 39: ThesisPresentation

A Model-Driven Approach for theDesign, Implementation, and Execution

of Software Development Methods

Mario Cervera Úbeda

Supervisors:Dr. Vicente Pelechano Ferragud

Dra. Manuela Albert Albiol