79
Model Driven Product Line Engineering: Core Asset and Process Implications Maider Azanza supervised by Prof. Dr. Oscar Díaz Onekin Research Group Department of Computer Languages and Systems University of the Basque Country San Sebastian – February 28 th , 2011

Model Driven Product Line Engineering: Core Asset and Process Implications

  • Upload
    mauve

  • View
    28

  • Download
    1

Embed Size (px)

DESCRIPTION

Model Driven Product Line Engineering: Core Asset and Process Implications. Maider Azanza supervised by Prof. Dr. Oscar Díaz Onekin Research Group Department of Computer Languages and Systems University of the Basque Country San Sebastian – February 28 th , 2011. Context. - PowerPoint PPT Presentation

Citation preview

Page 1: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Model Driven Product Line Engineering:

Core Asset and Process Implications

Maider Azanzasupervised by Prof. Dr. Oscar Díaz

Onekin Research Group

Department of Computer Languages and Systems University of the Basque Country

San Sebastian – February 28th, 2011

Page 2: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza

Context

2

The software industry remains reliant on the craftsmanship of skilled individuals engaged in labor intensive manual tasks.

Greenfield and Short, 2003

Page 3: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza

Context

3

Model Driven and Software Product Lines in Google Books Ngram Viewer (1990 – 2008)

Model Driven Engineering and Software Product Line Engineering.

Page 4: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza

General Problem

4

MODEL DRIVEN ENGINEERING

SOFTWARE PRODUCT LINE ENGINEERING

MODEL DRIVEN PRODUCT LINE ENGINEERING

Process Implications

Core Asset Implications

Page 5: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza

This Thesis

Core Asset Implications• Feature Oriented Software Development• Reuse• Early Consistency Checking

Process Implications• Assembly Processes• Reuse• Abstraction Level Raise

5

Page 6: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza 6

Outline

BackgroundCore Asset ImplicationsProcess ImplicationsConclusions and Future Work

Page 7: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Background

Page 8: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza 8

1. Models are the primary artifact2. Models are abstractions of reality3. Models conform to metamodels4. Models are transformed

Model Driven Engineering (MDE)

REALITY

abstractedIn

Metamodel

transformation

Page 9: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza 9

Software Product Line Engineering

Precursors: McIlroy 60s, Parnas 70s Definition

• “A software product line is a set of software-intensive systems, sharing a common, managed set of features that satisfy the specific needs of a particular market segment or mission and that are developed from a common set of core assets in a prescribed way” [Clements 2001]

A Software Product Line…• (1) Set of products “SPL is a set of software-intensive systems..”• (2) Features “..sharing a common, managed set of features..”• (3) Domain “..that satisfy the specific needs of a particular market

segment or mission..”• (4) Core Assets “..are developed from a common set of core

assets..”• (5) Production Plan “..in a prescribed way.”

Page 10: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza 10

Feature Oriented Software Development

Feature Oriented Software Development (FOSD)• paradigm for creating software product lines• programs are synthesized by composing features

features • are not only increments in program functionality • are building blocks of products (i.e., core assets)• are realized by a set of artifacts

products• are differentiated by their features• different compositions of features yield different products

f3

f3 f4f2f1

f1

f2f4

Page 11: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Core Asset Implications

Page 12: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza 12

product 3

product 2

f2 base

Model Driven Product Line Engineering• Models are created incrementally

Context

f1

f2

f3

f3

f4base

f1 base

product 1

Page 13: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza 13

The Problem

Features are transformations (model to model maps)

How are features realized?

How are features composed?

Remember: SPL products must conform to their metamodel.

Page 14: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza 14

This Thesis

Feature

Realizatio

n

•Realizes features as model deltas•mod

els that contain the additions a feature makes to a model.

Feature

Composition

•Defines a composition algorithm for model deltas

•Handles domain-specific composition needs

Composition

Reuse

•Generates composition implementation

•Defines metamodel annotations to handle domain-specific composition algorithms

Page 15: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza 15

Outline

BackgroundCore Asset Implications

• Case Study• Feature Realization• Feature Composition• Assessment

Process ImplicationsConclusions and Future Work

Page 16: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza 16

Case Study: Questionnaires

Page 17: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza

Case Study: CSS Product Line

17

Crime and Safety Survey

Female Age

Adult Minor

choose1

Belongs to Minority*

* Ethnic, religious or regarding sexual orientation

Female

Adult Minor

Belongs to Minority*

Page 18: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza 18

Outline

Background Core Asset Implications

• Case Study• Feature Realization

– What is a Feature?– How are Features Realized?– A Metamodel for Features

• Feature Composition• Assessment

Process Implications Conclusions and Future Work

Page 19: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza

What is a Feature?

Features are endogenous transformations• same source and target metamodel

19

Female

Base Questionnaire

Female base Questionnaire

Page 20: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza

What is a Feature?

Features have been preplanned• are designed to be compatible, composable

20

Domain Engineer

Female Minority

Minor Adult

Page 21: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza

How are Features Realized?

1. Using transformation languages

21

Minor Feature using RubyTL

Page 22: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza

How are Features Realized?

2. Using model deltas

22Minor Feature using a Model Delta

Page 23: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza

How are Features Realized?

23

Model Transformation

Model Delta

=

Page 24: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza 24

A Metamodel for Features

Premise: Deltas do not need to fulfil all metamodel’s constraints

Questionnaire Metamodel

Minor Feature

1

Page 25: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza 25

A Metamodel for Features

Page 26: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza 26

A Metamodel for Features

Created by removing constraints from the product metamodel• Domain Engineers decide which constraints to

remove.Delta Metamodel

Product Metamodel

text = Where did it take place?

atq2 : Question

code = 07text = At school

atq2o7 : Option

Page 27: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza 27

A Metamodel for Features

Created by removing constraints from the product metamodel• All discarded constraints should be checked

once the composed model has been created.Delta Metamodel

Product MetamodelFaulty

Products

Page 28: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza 28

Outline

Background Core Asset Implications

• Case Study• Feature Realization• Feature Composition

– Composition Definition– Composition Realization

• Assessment

Process Implications Conclusions and Future Work

Page 29: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza

Feature Composition

Features as transformations

Features as model deltas

29

product 1

f1 f3base

product 1

● ● =

How are deltas composed?

Page 30: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza 30

MAB = Compose (MA, MB, CAB)

1. MA, MB and MAB conform to the same MM.• i.e., the delta metamodel

2. MA and MB are designed to be composed.• Same object organization

• Same naming conventions (identifier based CAB)

Model Delta Composition in SPLs

Not random models Models designed to be composed

Page 31: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza

Generic vs. Domain Specific Composition

Generic Composition

• Semantics: Content addition

Domain Specific Composition

• Semantics: Domain expert specified

31

Page 32: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Generic Composition

32

Page 33: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza 33

Generic Composition: Objects

Superimposition by identifier.

text

atq2 : Question

code = 07text = At school

atq2o7 : Option

text = Where did it take place?

atq2 : Question

code = 01text = At home

atq2o1 : Option

code = 02text = In the street

atq2o2 : Option

code = 03text = In a parking lot

atq2o3 : Option

●=baseminorminor ● base

text = Where did it take place?

atq2 : Question

code = 01text = At home

atq2o1 : Option

code = 02text = In the street

atq2o2 : Option

code = 03text = In a parking lot

atq2o3 : Option

code = 07text = At school

atq2o7 : Option

Page 34: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza 34

Generic Composition: Attributes

If a1=null or a2=null or a1=a2 non null value

Otherwise error

text

atq2 : Question

code = 07text = At school

atq2o7 : Option

text = Where did it take place?

atq2 : Question

code = 01text = At home

atq2o1 : Option

code = 02text = In the street

atq2o2 : Option

code = 03text = In a parking lot

atq2o3 : Option

●=baseminorminor ● base

text = Where did it take place?

atq2 : Question

code = 01text = At home

atq2o1 : Option

code = 02text = In the street

atq2o2 : Option

code = 03text = In a parking lot

atq2o3 : Option

code = 07text = At school

atq2o7 : Option

Page 35: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza 35

Generic Composition: References

Union without duplicates.

text

atq2 : Question

code = 07text = At school

atq2o7 : Option

text = Where did it take place?

atq2 : Question

code = 01text = At home

atq2o1 : Option

code = 02text = In the street

atq2o2 : Option

code = 03text = In a parking lot

atq2o3 : Option

●=baseminorminor ● base

text = Where did it take place?

atq2 : Question

code = 01text = At home

atq2o1 : Option

code = 02text = In the street

atq2o2 : Option

code = 03text = In a parking lot

atq2o3 : Option

code = 07text = At school

atq2o7 : Option

Page 36: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Domain Specific Composition

36

Page 37: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza 37

Domain-Specific Composition: Time

sum

sum

10’ 20’

30’

SUM is liable to be reused in other domains.

Page 38: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza 38

Domain-Specific Composition: Acknowledgments

concat

concat

CONCAT also liable to be reused.

Page 39: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Composition Realization

39

Page 40: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza

Composition Realization

40

Generic: Metamodel Agnostic

Domain Specific: Reusable

Can composition implementation be generated?

Metamodel Comp. Code

Page 41: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Composition Specification

41

Page 42: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza 42

Composition Specification

Page 43: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Composition Generation

43

Page 44: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza 44

Generic Composition Generation

rule MergeQuestion merge l:Left!Question with r:Right!Question into t:Target!Question extends MergeObject { t.text:=l.text.defaultAttributeMerge

(‘text’,r.text); --Code Omitted}

Metamodel Generated Code

Page 45: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza 45

rule MergeQuestionnaire merge l:Left!Questionnaire with r:Right!Questionnaire into t:Target!Questionnaire extends MergeObject { t.title:=l.title.defaultAttributeMerge (‘title’,r.title); --Code Omitted t.acknowledgments:= l.acknowledgments+

r.acknowledgments; t.time:=l.time+r.time;}

Domain Specific Composition Generation

Metamodel Generated Code

Page 46: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza 46

Domain Specific Composition Generation

rule MergeBlock merge l:Left!Block with r:Right!Block into t:Target!Block extends MergeObject { var lsb: new Target!Block; var rsb: new Target!Block; lsb.title:=l.title; lsb.implements:=l.implements; rsb.title:=r.title; rsb.implements:=r.implements; --Code Omitted}

Metamodel Generated Code

Page 47: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza 47

Outline

BackgroundCore Asset Implications

• Case Study• Feature Realization• Feature Composition• Assessment

Process ImplicationsConclusions and Future Work

Page 48: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza 48

Assessment – Case Studies

Domain Product Line Product Size

Questionnaires CSS Product Line ≈ 101

UML Interactions Game Product Line ≈ 102

Jak AHEAD Product Line ≈ 103

Page 49: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Process Implications

Page 50: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza 50

Most Development in MDPLE is Assembly • Application developers will build about 30% of

each application. The remaining 70% will be supplied by ready-built vertical and horizontal components.

Greenfield and Short, 2003

Context

Assembly Program

C1 C2

C3C4

Result Application

Page 51: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza 51

The Assembly Process in MDPLE• becomes complex: new operations are

introduced. • needs design: distinct assembly alternatives

may need to be contrasted and assembly counterpoints can arise.

• is repetitive: assembly is typically geared towards the reuse of source code, but its realization often lacks such reuse.

The Problem

Page 52: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza

This Thesis

Defines Assembly Plan Management: • discipline that promotes program assembly

as a main activity.

Page 53: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza 53

Result Program

This Thesis

Applies MDE to Assembly Processes • assembly programs are generated from

declarative specifications.

Assembly Process Specification

Assembly Process Implementation

Page 54: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza 54

Outline

BackgroundCore Asset ImplicationsProcess Implications

• Motivating Case Study• Assembly Plan Management• Assessment

Conclusions and Future Work

Page 55: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza 55

Flight Booking Portlets

Motivating Case Study

Portlet 1

Portlet 2

Portlet 3

Software Product Lines

MPORTLET

CPORTLET

Model Driven Engineering

PinkCreek: Model Driven Product Line of Flight

Booking Portlets

Page 56: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza

An assembly program to realize one product in PinkCreek• consisted of around 500 LOC of batch processes• used 300 LOC ant makefiles and 2 KLOC Java

code• took around 4 person/day

Repetitive, time-consuming and very cumbersome. Paradox: Lacked reuse mechanisms.

56

Motivating Case Study

Page 57: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza 57

Outline

BackgroundCore Asset ImplicationsProcess Implications

• Motivating Case Study• Assembly Plan Management• Assessment

Conclusions and Future Work

Page 58: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza

Overview

58

Megamodel Assembly Machine Tool

Family Assembly Model

Assembly Equation

Assembly Program

Page 59: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza

Megamodel Engineering

59

Megamodel Engineer

Portlet Megamodel

Page 60: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza

Megamodel Engineering

60

Portlet Assembly Machine Tool

GROVE Tool Suite

Page 61: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza

Family Assembly Engineering

61

Domain Engineer

PinkCreek Family Assembly Model

Page 62: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza

Assembly Program Engineering

62

Application Engineer

Product1 Assembly Equation

assembly_equation ‘product1’ do composition ‘base’ composition ‘seat’ composition ‘checkin’ transformation ‘sc2ctrl’ transformation ‘ctrl2act’ transformation ‘act2jak’ transformation ‘ctrl2vw’ transformation ‘vw2jsp’end

Page 63: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza

17 PMDD_Model result2=featurecheckin.dot(result1);18 featurebase.t_sc2ctrl();19 featureseat.t_sc2ctrl();20 featurecheckin.t_sc2ctrl();21 result0.t_sc2ctrl();22 result1.t_sc2ctrl();23 result2.t_sc2ctrl();24 featurebase.t_ctrl2act();25 /*Content omitted*/26 result2.t_ctrl2act();27 /*Content omitted*/28 result2.t_act2jak();29 /*Content omitted*/30 result2.t_ctrl2vw();31 /*Content omitted*/32 result.t_vw2jsp(); /*This is the result*/32 }33 }

1 package org.product1; 2 import java.io.File; 3 import org.PMDD; 4 5 public class AssemblyProgram { 6 public static void main(String [] args) { 7 /*Build objects for equation features*/ 8 File fbaseSC = new File (“../base/sc.ecore.xmi”); 9 PMDD_Model featurebase=new PMDD_Model (fbaseSC);10 File fseatSC = new File (“../seat/sc.ecore.xmi”);11 PMDD_DeltaModel featureseat=new PMDD_Model (fseatSC);12 File fcheckinSC = new File (“../checkin/sc.ecore.xmi”);13 PMDD_DeltaModel featurecheckin=new PMDD_Model (fcheckinSC);14 /*Operations in equation*/15 PMDD_Model result0=featurebase;16 PMDD_Model result1=featureSeat.Dot(result0);

Assembly Program Engineering

63

GROVE Tool Suite

Product1 Assembly Program

Page 64: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza

Product Assembling

64

Application Engineer

Enact Assembly Program

C1 C2

C3C4

Result

Page 65: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza 65

Outline

BackgroundCore Asset ImplicationsProcess Implications

• Motivating Case Study• Assembly Plan Management• Assessment

Conclusions and Future Work

Page 66: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza 66

Assessment

The Assembly Process becomes complex.• Before: 500 LOC of batch processes using 300 LOC of ANT

makefiles and 2 KLOC of Java code and around 4 people/day.• After: Equation of 15 LOC (providing that the first two phases

have been performed).

The Assembly Process needs to be designed.• Before: Design was tangled in code.• After: An abstract specification permits to concentrate on

essentials.

The Assembly Process becomes repetitive.• Before: “Clone&own” was the only reuse mechanism.• After: The Assembly Machine Tool and model transformations

foster systematic reuse.

Page 67: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Conclusions and Future Work

Page 68: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza 68

Outline Background Core Asset Implications Process Implications Conclusions and Future Work

• Conclusions: Core Asset Implications– Feature Realization– Feature Composition

• Conclusions: Process Implications– Assembly Plan Management– MDE for Assembly Programs

• Future Work• Related Publications

Page 69: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza

Conclusions: Feature Realization

We defined features as model deltas.• Early Consistency Checking: certain constraints

can be checked at delta building time.• Reuse: separates what a feature adds from how

it is added composition becomes reusable.• Declarativeness: model deltas are easier to

read and write than transformations.

69

Page 70: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza

Conclusions: Feature Composition

Composition implementation is generated from the annotated metamodel.• Automatization: implementation automatically

generated from the annotated metamodel.• Understandability: annotations permit

designers to focus on the what rather than on how the composition is achieved.

• Maintenance: additional composition algorithms can be added or removed with minimal effort.

70

Page 71: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza 71

Conclusions: Assembly Plan ManagementAssembly Plan Management was defined

as a discipline inside Software Development.• Guided Process: roles, tasks and

workproducts are explicitly described.• Automatization: parts of the process are

automated using GROVE TS.• Reuse: the result of each phase is reused in

the next one.

Page 72: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza 72

Conclusions: MDE for Assembly Programs

MDE was applied to assembly programs.• Design: designers can concentrate on the

essentials. • Automatization: assembly programs are

generated from abstract specifications.• Reuse: reuse is also increased by the use of

transformations.

Page 73: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Future Work

73

Page 74: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza

Future Work: Core Asset Implications

Generalization: consider deletion in model deltas.

Safe Composition: guarantee that models composed from deltas are metamodel compliant.

Delta Decomposition: to improve SPL maintainability.

74

Page 75: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza

Future Work: Process Implications

Variability of the Assembly Process: E.g.: Different transformations that yield the product.

A Process for MDPLE: Support the complete development process.

Variability for the MDPLE Process: Tailoring the process for each organization’s needs.

75

Page 76: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Related Publications

76

Page 77: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza

Related Publications

Core Asset Implications• Maider Azanza, Don Batory, Oscar Díaz, and

Salvador Trujillo. Domain-Specific Composition of Model Deltas. [@ICMT 2010]

Process Implications• Maider Azanza, Oscar Díaz and Salvador Trujillo.

Software Factories: Describing the Assembly Process. [@ICSP 2010]

Others• Roberto Lopez-Herrejon, Alexander Egyed, Salvador Trujillo, Josune de Sosa, and

Maider Azanza. Using Incremental Consistency Management for Conformance Checking in Feature-Oriented Model-Driven Engineering. [@VAMOS 2010]

• Don Batory, Maider Azanza and João Saraiva. The Objects and Arrows of Computational Design. [@MoDELS 2008]

77

Page 78: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Maider Azanza 78

Thank you!

Page 79: Model Driven  Product Line Engineering: Core Asset and Process  Implications

Model Driven Product Line Engineering:

Core Asset and Process Implications

Maider Azanzasupervised by Prof. Dr. Oscar Díaz

Onekin Research Group

Department of Computer Languages and Systems University of the Basque Country

San Sebastian – February 28th, 2011