ThesisPresentation

Post on 14-Apr-2017

140 views 0 download

Transcript of 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

Agenda

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

MotivationProblemState of the ArtSolution

MotivationTool SupportEvaluationConclusions

The tool is not adapted to the method

Method use decreased

The gvMétrica method

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

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?

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)

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)

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

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

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

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

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

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

MotivationProblemState of the ArtSolution

OverviewTool SupportEvaluationConclusions

Overview of our Approach

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?

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

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

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

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?

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

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

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

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

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?

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

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

MotivationProblemState of the ArtSolution

Software ArchitectureTool SupportEvaluationConclusions

Architecture of MOSKitt4ME 4ME

MotivationProblemState of the ArtSolution

Software ArchitectureTool SupportEvaluationConclusions

Implementation

Eclipse UISWT/JFace

EclipsePDE

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)

MotivationProblemState of the ArtSolution

PlanningTool SupportEvaluationConclusions

Measures of Usefulness and Ease of Use

MotivationProblemState of the ArtSolution

ExecutionTool SupportEvaluationConclusions

Video recordsScreencasts

8 subjects Individual think aloud sessions

Operation

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

MotivationProblemState of the ArtSolution

Data AnalysisTool SupportEvaluationConclusions

An excerpt of a think aloud protocol …

8 protocols with 895 segments on average

Example

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

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

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

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%)

MotivationProblemState of the ArtSolution

Future WorkTool SupportEvaluationConclusions

Method families

Method as a Service (MaaS)

Megamodeling in Method Engineering

Method analysis and monitoring

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