Execution of UML models · 2019-12-05 · UML1(.x) In industrial practice, UML models have been...

42
Execution of UML models Present and Future of Research and Practice Federico Ciccozzi, Ivano Malavolta, Bran Selic Mälardalen University, Vrije University, Malina Software Corp. Ericsson Modeling Days 2016

Transcript of Execution of UML models · 2019-12-05 · UML1(.x) In industrial practice, UML models have been...

Page 1: Execution of UML models · 2019-12-05 · UML1(.x) In industrial practice, UML models have been used primarily for problem understanding(i.e., analysis) and documentation Nevertheless,

Execution of UML models Present and Future of Research and Practice

Federico Ciccozzi, Ivano Malavolta, Bran Selic Mälardalen University, Vrije University, Malina Software Corp. Ericsson Modeling Days 2016

Page 2: Execution of UML models · 2019-12-05 · UML1(.x) In industrial practice, UML models have been used primarily for problem understanding(i.e., analysis) and documentation Nevertheless,

UML1(.x)

●  In industrial practice, UML models have been used primarily for problem understanding(i.e., analysis) and documentation

●  Nevertheless, several tools supporting executable variants of UML

●  These tools historically relied on custom semantics (profiles) in combination with traditional third-generation programming languages (e.g., C++ or Java) for specifying detailed action code

2

Page 3: Execution of UML models · 2019-12-05 · UML1(.x) In industrial practice, UML models have been used primarily for problem understanding(i.e., analysis) and documentation Nevertheless,

Thereby..

●  Tools not fully compliant with the UML standard

●  (Industrial) end users forced into a potentially dangerous “vendor lock-in” predicament

3

Page 4: Execution of UML models · 2019-12-05 · UML1(.x) In industrial practice, UML models have been used primarily for problem understanding(i.e., analysis) and documentation Nevertheless,

The (r)evolution of UML2

●  Semantically more precise than UML1 when it comes to execution aspects

●  Provided with fUML, a formal specification of the executable semantics for a subset of UML2

●  Provided with ALF, a textual action language based on fUML for compact and complete specification of complex behaviors including their algorithmic parts

4

Page 5: Execution of UML models · 2019-12-05 · UML1(.x) In industrial practice, UML models have been used primarily for problem understanding(i.e., analysis) and documentation Nevertheless,

So that..

UML models based on UML2, fUML and ALF are fully executable provided that corresponding methods and

tools are available

5

Page 6: Execution of UML models · 2019-12-05 · UML1(.x) In industrial practice, UML models have been used primarily for problem understanding(i.e., analysis) and documentation Nevertheless,

About this study: Why?

Identify, classify and evaluate the states of the art and practice of solutions for executing models based

on the UML family of languages

6

Page 7: Execution of UML models · 2019-12-05 · UML1(.x) In industrial practice, UML models have been used primarily for problem understanding(i.e., analysis) and documentation Nevertheless,

About this study: What?

7

●  a classification framework for classifying, comparing, and evaluating solutions for UML models execution

●  an up-to-date systematic review of the states of the art and practice in UML models execution

●  an exploration of emerging research challenges and implications for future research and practice of UML models execution

Page 8: Execution of UML models · 2019-12-05 · UML1(.x) In industrial practice, UML models have been used primarily for problem understanding(i.e., analysis) and documentation Nevertheless,

About this study: How?

8

●  Systematic review (SR)

●  The first systematic investigation of the states of the art and practice of the execution of UML models

●  Over 4,500 study candidates were scrutinized

●  70 studies were selected for answering the research questions that we identified

●  Study report currently under revision at the IEEE Transactions on Software Engineering (TSE)

Page 9: Execution of UML models · 2019-12-05 · UML1(.x) In industrial practice, UML models have been used primarily for problem understanding(i.e., analysis) and documentation Nevertheless,

About this study: Who?

9

●  Principal researcher: Federico Ciccozzi, involved in all the activities, i.e. planning the study, conducting it, and reporting

●  Research methodologist: Ivano Malavolta, involved in (i) the planning phase of the study, and (ii) supporting the principal researcher

●  Advisor: Bran Selic, provided guidance on key decisions and solving conflicts. He also supported the other researchers during data and findings synthesis activities

Page 10: Execution of UML models · 2019-12-05 · UML1(.x) In industrial practice, UML models have been used primarily for problem understanding(i.e., analysis) and documentation Nevertheless,

Our Systematic Review Process

10

Page 11: Execution of UML models · 2019-12-05 · UML1(.x) In industrial practice, UML models have been used primarily for problem understanding(i.e., analysis) and documentation Nevertheless,

Search and Selection

11

Page 12: Execution of UML models · 2019-12-05 · UML1(.x) In industrial practice, UML models have been used primarily for problem understanding(i.e., analysis) and documentation Nevertheless,

Data extraction and synthesis

12

Page 13: Execution of UML models · 2019-12-05 · UML1(.x) In industrial practice, UML models have been used primarily for problem understanding(i.e., analysis) and documentation Nevertheless,

Results: Publication trends

●  RQ1 – What are the publication trends of research studies pertaining to solutions for execution of UML models?

Page 14: Execution of UML models · 2019-12-05 · UML1(.x) In industrial practice, UML models have been used primarily for problem understanding(i.e., analysis) and documentation Nevertheless,

Results: Publication trends

14

●  From 2008 there has been a growing scientific interest on UML models execution; this positive trend has been steady in the past 5 years (except 2010)

?

Page 15: Execution of UML models · 2019-12-05 · UML1(.x) In industrial practice, UML models have been used primarily for problem understanding(i.e., analysis) and documentation Nevertheless,

Results: Publication trends

15

●  Conferences and journals are the most targeted publication venues, testifying that UML models execution is becoming a significant research theme

Page 16: Execution of UML models · 2019-12-05 · UML1(.x) In industrial practice, UML models have been used primarily for problem understanding(i.e., analysis) and documentation Nevertheless,

Results: Publication trends

16

●  Research on UML models execution is spread across a large number of heterogeneous venues

●  Researchers focus more on benefits and effects of models execution, rather than on the specific execution techniques

Page 17: Execution of UML models · 2019-12-05 · UML1(.x) In industrial practice, UML models have been used primarily for problem understanding(i.e., analysis) and documentation Nevertheless,

Results: Technical characteristics

●  RQ2 – What are the technical characteristics of existing solutions for execution of UML models?

Page 18: Execution of UML models · 2019-12-05 · UML1(.x) In industrial practice, UML models have been used primarily for problem understanding(i.e., analysis) and documentation Nevertheless,

Results: Technical characteristics

●  Solutions providing translational execution (i.e., code generation) outnumber interpretive and compilative solutions

Compilation

Interpretation

Translation

a) Execution strategy

0 10 20 30 40 50 60 70

3

11

56

No

Yes

b) Support for simulation

0 10 20 30 40 50 60 70

31

39

Production

Quality

Correctness

c) Intended benefits

0 10 20 30 40 50 60 70

39

21

39

No

Yes

d) Associated process

0 10 20 30 40 50 60 70

66

4

No

Yes

e) Extensibility

0 10 20 30 40 50 60 70

54

16

Low

Medium

High

f) Readiness level

0 10 20 30 40 50 60 70

46

12

12

Code size

Not supported

Adaptability

Performance

Safety

Security

g) Supported non−functional properties

0 10 20 30 40 50 60 70

1

46

1

21

1

2

Page 19: Execution of UML models · 2019-12-05 · UML1(.x) In industrial practice, UML models have been used primarily for problem understanding(i.e., analysis) and documentation Nevertheless,

Results: Technical characteristics

●  Interpretive solutions are mainly addressing higher-level execution (e.g., for simulation)

●  Compilative solutions leverage very limited subsets of UML

Page 20: Execution of UML models · 2019-12-05 · UML1(.x) In industrial practice, UML models have been used primarily for problem understanding(i.e., analysis) and documentation Nevertheless,

Results: Technical characteristics

●  There is no solution for execution of partial UML models

Page 21: Execution of UML models · 2019-12-05 · UML1(.x) In industrial practice, UML models have been used primarily for problem understanding(i.e., analysis) and documentation Nevertheless,

Results: Technical characteristics

●  A very small amount of solutions explicitly provides mechanisms which enable extension and customization

Compilation

Interpretation

Translation

a) Execution strategy

0 10 20 30 40 50 60 70

3

11

56

No

Yes

b) Support for simulation

0 10 20 30 40 50 60 70

31

39

Production

Quality

Correctness

c) Intended benefits

0 10 20 30 40 50 60 70

39

21

39

No

Yes

d) Associated process

0 10 20 30 40 50 60 70

66

4

No

Yes

e) Extensibility

0 10 20 30 40 50 60 70

54

16

Low

Medium

High

f) Readiness level

0 10 20 30 40 50 60 70

46

12

12

Code size

Not supported

Adaptability

Performance

Safety

Security

g) Supported non−functional properties

0 10 20 30 40 50 60 70

1

46

1

21

1

2

Page 22: Execution of UML models · 2019-12-05 · UML1(.x) In industrial practice, UML models have been used primarily for problem understanding(i.e., analysis) and documentation Nevertheless,

Results: Technical characteristics

●  Very few solutions provide support for model-level debugging

Page 23: Execution of UML models · 2019-12-05 · UML1(.x) In industrial practice, UML models have been used primarily for problem understanding(i.e., analysis) and documentation Nevertheless,

Results: Technical characteristics

●  Very few solutions explicit traceability for consistent navigation from models to code (and viceversa)

Page 24: Execution of UML models · 2019-12-05 · UML1(.x) In industrial practice, UML models have been used primarily for problem understanding(i.e., analysis) and documentation Nevertheless,

Results: Technical characteristics

●  Many solutions based on ad-hoc profiles

Ad−hocTiming

Use casePackage

InteractionObject

CommunicationDeployment

SequenceComponent

Comp. structureActivity

State machineClass

a) Required UML diagrams

0 10 20 30 40 50 60 70

11222345

1313

153030

41

Other languages

ADA

UAL

C#

C

ALF

Java

C++

Uml actions

b) Used action languages

0 10 20 30 40 50 60 70

19

2

3

3

6

7

11

14

18

ModelicaML

UML−PA

UML−SPT

SystemC UML profile

UML−RT

SysML

MARTE

Ad−hoc UML profile

c) Explicitly required UML profiles

0 10 20 30 40 50 60 70

1

1

1

2

2

7

15

23

No informationTool independent

Other toolsCHESS

Sparx Enterprise ArchitectIBM Rational Rose

Artisan Real−Time StudioIBM Rational Software Architect

Eclipse UML2Eclipse Papyrus

d) Modeling tool

0 10 20 30 40 50 60 70

714

1722234

1013

No

Yes

e) Based on the fUML standard

0 10 20 30 40 50 60 70

60

10

HW

PIM

f) MDA levels covered

0 10 20 30 40 50 60 70

12

68

Page 25: Execution of UML models · 2019-12-05 · UML1(.x) In industrial practice, UML models have been used primarily for problem understanding(i.e., analysis) and documentation Nevertheless,

Results: Technical characteristics

●  Many solutions leverage non-standard action languages

Ad−hocTiming

Use casePackage

InteractionObject

CommunicationDeployment

SequenceComponent

Comp. structureActivity

State machineClass

a) Required UML diagrams

0 10 20 30 40 50 60 70

11222345

1313

153030

41

Other languages

ADA

UAL

C#

C

ALF

Java

C++

Uml actions

b) Used action languages

0 10 20 30 40 50 60 70

19

2

3

3

6

7

11

14

18

ModelicaML

UML−PA

UML−SPT

SystemC UML profile

UML−RT

SysML

MARTE

Ad−hoc UML profile

c) Explicitly required UML profiles

0 10 20 30 40 50 60 70

1

1

1

2

2

7

15

23

No informationTool independent

Other toolsCHESS

Sparx Enterprise ArchitectIBM Rational Rose

Artisan Real−Time StudioIBM Rational Software Architect

Eclipse UML2Eclipse Papyrus

d) Modeling tool

0 10 20 30 40 50 60 70

714

1722234

1013

No

Yes

e) Based on the fUML standard

0 10 20 30 40 50 60 70

60

10

HW

PIM

f) MDA levels covered

0 10 20 30 40 50 60 70

12

68

Page 26: Execution of UML models · 2019-12-05 · UML1(.x) In industrial practice, UML models have been used primarily for problem understanding(i.e., analysis) and documentation Nevertheless,

Results: Technical characteristics

●  Very few solutions based on fUML (growing)

Ad−hocTiming

Use casePackage

InteractionObject

CommunicationDeployment

SequenceComponent

Comp. structureActivity

State machineClass

a) Required UML diagrams

0 10 20 30 40 50 60 70

11222345

1313

153030

41

Other languages

ADA

UAL

C#

C

ALF

Java

C++

Uml actions

b) Used action languages

0 10 20 30 40 50 60 70

19

2

3

3

6

7

11

14

18

ModelicaML

UML−PA

UML−SPT

SystemC UML profile

UML−RT

SysML

MARTE

Ad−hoc UML profile

c) Explicitly required UML profiles

0 10 20 30 40 50 60 70

1

1

1

2

2

7

15

23

No informationTool independent

Other toolsCHESS

Sparx Enterprise ArchitectIBM Rational Rose

Artisan Real−Time StudioIBM Rational Software Architect

Eclipse UML2Eclipse Papyrus

d) Modeling tool

0 10 20 30 40 50 60 70

714

1722234

1013

No

Yes

e) Based on the fUML standard

0 10 20 30 40 50 60 70

60

10

HW

PIM

f) MDA levels covered

0 10 20 30 40 50 60 70

12

68

Page 27: Execution of UML models · 2019-12-05 · UML1(.x) In industrial practice, UML models have been used primarily for problem understanding(i.e., analysis) and documentation Nevertheless,

Results: Technical characteristics

●  Papyrus seems to be the most used modelling tool

Ad−hocTiming

Use casePackage

InteractionObject

CommunicationDeployment

SequenceComponent

Comp. structureActivity

State machineClass

a) Required UML diagrams

0 10 20 30 40 50 60 70

11222345

1313

153030

41

Other languages

ADA

UAL

C#

C

ALF

Java

C++

Uml actions

b) Used action languages

0 10 20 30 40 50 60 70

19

2

3

3

6

7

11

14

18

ModelicaML

UML−PA

UML−SPT

SystemC UML profile

UML−RT

SysML

MARTE

Ad−hoc UML profile

c) Explicitly required UML profiles

0 10 20 30 40 50 60 70

1

1

1

2

2

7

15

23

No informationTool independent

Other toolsCHESS

Sparx Enterprise ArchitectIBM Rational Rose

Artisan Real−Time StudioIBM Rational Software Architect

Eclipse UML2Eclipse Papyrus

d) Modeling tool

0 10 20 30 40 50 60 70

714

1722234

1013

No

Yes

e) Based on the fUML standard

0 10 20 30 40 50 60 70

60

10

HW

PIM

f) MDA levels covered

0 10 20 30 40 50 60 70

12

68

Page 28: Execution of UML models · 2019-12-05 · UML1(.x) In industrial practice, UML models have been used primarily for problem understanding(i.e., analysis) and documentation Nevertheless,

Results: Provided evidence and limitations ●  The majority of the analyzed studies provide validation

rather than evaluation

Evaluation

Validation

a) Applied Research Method

0 10 20 30 40 50 60 70

11

41

11

Industrial evaluation

Set of experiments

Empirical experiment in the lab

Set of examples from industry

Industrial empirical experiment

Example from industry

Set of examples

Example

b) Type of evidence

0 10 20 30 40 50 60 70

1

1

1

2

3

6

11

28

Mathematical functionWeb

Modeling languageMobile app

Consumer electronicsMobile robotic system

ManufacturingInformation system

Business processesMonitoring and sensing

Media converterController

CommunicationSynthetic

c) Type of system for evidence

0 10 20 30 40 50 60 70

1123344444

666

8

ScalabiltiyExecution strategies combination

Portability enhancementPlatform independence enhancement

Reusability enhancementPlatform−specific limitations

Support for runtime models updateGenerated code optimization

Execution correctness assessmentExecution platform improvement

Traceability enhancementSupport for model checking

Additional evaluationAdditional analysis of models

Better coverage of UMLTool enhancement

Expressiveness enhancement

d) Identified limitations and needs for improvement

0 10 20 30 40 50 60 70

111222233344

8911

1316

Page 29: Execution of UML models · 2019-12-05 · UML1(.x) In industrial practice, UML models have been used primarily for problem understanding(i.e., analysis) and documentation Nevertheless,

Evaluation

Validation

a) Applied Research Method

0 10 20 30 40 50 60 70

11

41

11

Industrial evaluation

Set of experiments

Empirical experiment in the lab

Set of examples from industry

Industrial empirical experiment

Example from industry

Set of examples

Example

b) Type of evidence

0 10 20 30 40 50 60 70

1

1

1

2

3

6

11

28

Mathematical functionWeb

Modeling languageMobile app

Consumer electronicsMobile robotic system

ManufacturingInformation system

Business processesMonitoring and sensing

Media converterController

CommunicationSynthetic

c) Type of system for evidence

0 10 20 30 40 50 60 70

1123344444

666

8

ScalabiltiyExecution strategies combination

Portability enhancementPlatform independence enhancement

Reusability enhancementPlatform−specific limitations

Support for runtime models updateGenerated code optimization

Execution correctness assessmentExecution platform improvement

Traceability enhancementSupport for model checking

Additional evaluationAdditional analysis of models

Better coverage of UMLTool enhancement

Expressiveness enhancement

d) Identified limitations and needs for improvement

0 10 20 30 40 50 60 70

111222233344

8911

1316

Results: Provided evidence and limitations ●  A small number of studies provides evidence by

experimentation in industrial settings; among them, only a few rely on empirical evaluation

Page 30: Execution of UML models · 2019-12-05 · UML1(.x) In industrial practice, UML models have been used primarily for problem understanding(i.e., analysis) and documentation Nevertheless,

Evaluation

Validation

a) Applied Research Method

0 10 20 30 40 50 60 70

11

41

11

Industrial evaluation

Set of experiments

Empirical experiment in the lab

Set of examples from industry

Industrial empirical experiment

Example from industry

Set of examples

Example

b) Type of evidence

0 10 20 30 40 50 60 70

1

1

1

2

3

6

11

28

Mathematical functionWeb

Modeling languageMobile app

Consumer electronicsMobile robotic system

ManufacturingInformation system

Business processesMonitoring and sensing

Media converterController

CommunicationSynthetic

c) Type of system for evidence

0 10 20 30 40 50 60 70

1123344444

666

8

ScalabiltiyExecution strategies combination

Portability enhancementPlatform independence enhancement

Reusability enhancementPlatform−specific limitations

Support for runtime models updateGenerated code optimization

Execution correctness assessmentExecution platform improvement

Traceability enhancementSupport for model checking

Additional evaluationAdditional analysis of models

Better coverage of UMLTool enhancement

Expressiveness enhancement

d) Identified limitations and needs for improvement

0 10 20 30 40 50 60 70

111222233344

8911

1316

Results: Provided evidence and limitations ●  The most common limitations are ●  supported expressiveness in terms of covered UML

concepts ●  inadequate tool support

Page 31: Execution of UML models · 2019-12-05 · UML1(.x) In industrial practice, UML models have been used primarily for problem understanding(i.e., analysis) and documentation Nevertheless,

Our Perspectives for UML execution

●  The results of our study tell us that the following should be given priority both by researchers and tool developers

●  ability to execute abstract (high-level) and incomplete models

enhanced observability of executing models enhanced control of model execution directly compiled model executables support for UML-compliant action languages support for executing models based on UML profiles integration of UML simulators into heterogeneous (multi-paradigm) simulation systems use of model-reference approaches at runtime

Page 32: Execution of UML models · 2019-12-05 · UML1(.x) In industrial practice, UML models have been used primarily for problem understanding(i.e., analysis) and documentation Nevertheless,

Our Perspectives for UML execution

●  The results of our study tell us that the following should be given priority both by researchers and tool developers

●  ability to execute abstract (high-level) and incomplete models

●  enhanced observability of executing models

enhanced control of model execution directly compiled model executables support for UML-compliant action languages support for executing models based on UML profiles integration of UML simulators into heterogeneous (multi-paradigm) simulation systems use of model-reference approaches at runtime

Page 33: Execution of UML models · 2019-12-05 · UML1(.x) In industrial practice, UML models have been used primarily for problem understanding(i.e., analysis) and documentation Nevertheless,

Our Perspectives for UML execution

●  The results of our study tell us that the following should be given priority both by researchers and tool developers

●  ability to execute abstract (high-level) and incomplete models

●  enhanced observability of executing models

●  enhanced control of model execution

directly compiled model executables support for UML-compliant action languages support for executing models based on UML profiles integration of UML simulators into heterogeneous (multi-paradigm) simulation systems use of model-reference approaches at runtime

Page 34: Execution of UML models · 2019-12-05 · UML1(.x) In industrial practice, UML models have been used primarily for problem understanding(i.e., analysis) and documentation Nevertheless,

Our Perspectives for UML execution

●  The results of our study tell us that the following should be given priority both by researchers and tool developers

●  ability to execute abstract (high-level) and incomplete models

●  enhanced observability of executing models

●  enhanced control of model execution

●  directly compiled model executables support for UML-compliant action languages support for executing models based on UML profiles integration of UML simulators into heterogeneous (multi-paradigm) simulation systems use of model-reference approaches at runtime

Page 35: Execution of UML models · 2019-12-05 · UML1(.x) In industrial practice, UML models have been used primarily for problem understanding(i.e., analysis) and documentation Nevertheless,

Our Perspectives for UML execution

●  The results of our study tell us that the following should be given priority both by researchers and tool developers

●  ability to execute abstract (high-level) and incomplete models

●  enhanced observability of executing models

●  enhanced control of model execution

●  directly compiled model executables

●  support for UML-compliant action languages support for executing models based on UML profiles integration of UML simulators into heterogeneous (multi-paradigm) simulation systems use of model-reference approaches at runtime

Page 36: Execution of UML models · 2019-12-05 · UML1(.x) In industrial practice, UML models have been used primarily for problem understanding(i.e., analysis) and documentation Nevertheless,

Our Perspectives for UML execution

●  The results of our study tell us that the following should be given priority both by researchers and tool developers

●  ability to execute abstract (high-level) and incomplete models

●  enhanced observability of executing models

●  enhanced control of model execution

●  directly compiled model executables

●  support for UML-compliant action languages

●  support for executing models based on UML profiles

integration of UML simulators into heterogeneous (multi-paradigm) simulation systems use of model-reference approaches at runtime

Page 37: Execution of UML models · 2019-12-05 · UML1(.x) In industrial practice, UML models have been used primarily for problem understanding(i.e., analysis) and documentation Nevertheless,

Our Perspectives for UML execution

●  The results of our study tell us that the following should be given priority both by researchers and tool developers

●  ability to execute abstract (high-level) and incomplete models

●  enhanced observability of executing models

●  enhanced control of model execution

●  directly compiled model executables

●  support for UML-compliant action languages

●  support for executing models based on UML profiles

●  integration of UML simulators into heterogeneous (multi-paradigm) simulation systems

use of model-reference approaches at runtime

Page 38: Execution of UML models · 2019-12-05 · UML1(.x) In industrial practice, UML models have been used primarily for problem understanding(i.e., analysis) and documentation Nevertheless,

Our Perspectives for UML execution

●  The results of our study tell us that the following should be given priority both by researchers and tool developers

●  ability to execute abstract (high-level) and incomplete models

●  enhanced observability of executing models

●  enhanced control of model execution

●  directly compiled model executables

●  support for UML-compliant action languages

●  support for executing models based on UML profiles

●  integration of UML simulators into heterogeneous (multi-paradigm) simulation systems

●  use of model-reference approaches at runtime

Page 39: Execution of UML models · 2019-12-05 · UML1(.x) In industrial practice, UML models have been used primarily for problem understanding(i.e., analysis) and documentation Nevertheless,

Thanks for your attention!

39

Contact: [email protected]

Page 40: Execution of UML models · 2019-12-05 · UML1(.x) In industrial practice, UML models have been used primarily for problem understanding(i.e., analysis) and documentation Nevertheless,

Primary studies I

40

Page 41: Execution of UML models · 2019-12-05 · UML1(.x) In industrial practice, UML models have been used primarily for problem understanding(i.e., analysis) and documentation Nevertheless,

Primary studies II

41

Page 42: Execution of UML models · 2019-12-05 · UML1(.x) In industrial practice, UML models have been used primarily for problem understanding(i.e., analysis) and documentation Nevertheless,

Primary tools

42