Proseminar „Model-Driven Software Engineering“ (with Eclipse) · Model-Driven Software...

20
© Software Engineering Research Group, Heinz Nixdorf Institute, University of Paderborn Jun.-Prof. Dr.-Ing. Steffen Becker Model-Driven Software Engineering Software Engineering Group 1 Proseminar „Model-Driven Software Engineering“ (with Eclipse) Proseminar MDSD SS12 - Jun.-Prof. S. Becker

Transcript of Proseminar „Model-Driven Software Engineering“ (with Eclipse) · Model-Driven Software...

Page 1: Proseminar „Model-Driven Software Engineering“ (with Eclipse) · Model-Driven Software Engineering ... Model driven software ... Support in Java . Software Practice and Experience,

© S

oftw

are

Eng

inee

ring

Res

earc

h G

roup

, Hei

nz N

ixdo

rf In

stitu

te, U

nive

rsity

of P

ader

born

Jun.-Prof. Dr.-Ing. Steffen Becker Model-Driven Software Engineering Software Engineering Group

1

Proseminar „Model-Driven Software Engineering“ (with Eclipse)

Proseminar MDSD SS12 - Jun.-Prof. S. Becker

Page 2: Proseminar „Model-Driven Software Engineering“ (with Eclipse) · Model-Driven Software Engineering ... Model driven software ... Support in Java . Software Practice and Experience,

© S

oftw

are

Eng

inee

ring

Res

earc

h G

roup

, Hei

nz N

ixdo

rf In

stitu

te, U

nive

rsity

of P

ader

born

Outline

2 Proseminar MDSD SS12 - Jun.-Prof. S. Becker

Basic Requirements

Preliminary Dates

Seminar Guidelines

Presentation of the Topics

Page 3: Proseminar „Model-Driven Software Engineering“ (with Eclipse) · Model-Driven Software Engineering ... Model driven software ... Support in Java . Software Practice and Experience,

© S

oftw

are

Eng

inee

ring

Res

earc

h G

roup

, Hei

nz N

ixdo

rf In

stitu

te, U

nive

rsity

of P

ader

born

Basic Requirements

§  Completion of a seminar thesis in English (approx. 20 pages written in LaTeX)

§  Design and run a presentation

§  Presentation is 20 min, to be held in a block seminar (presumably between 16.07.-20.07.)

§  Internal peer-review among the students, but also review by your supervisor

3 Proseminar MDSD SS12 - Jun.-Prof. S. Becker

Page 4: Proseminar „Model-Driven Software Engineering“ (with Eclipse) · Model-Driven Software Engineering ... Model driven software ... Support in Java . Software Practice and Experience,

© S

oftw

are

Eng

inee

ring

Res

earc

h G

roup

, Hei

nz N

ixdo

rf In

stitu

te, U

nive

rsity

of P

ader

born

Preliminary Dates

§  We, 11.04., 14:00: Topic presentation §  We, 18.04., 15:00: Final topic assignment, introduction to scientific

working

The following dates have their deadline 23:59 MEZ: §  Fr, 04.05.: Outline and literature references (student) §  Mo, 21.05.: Seminar thesis for review (student) §  Fr, 25.05.: Assignment of peer reviews (supervisors) §  Fr, 01.06.: Completed peer-review (student) §  Fr, 29.06.: Presentation for supervisor feedback (student) §  Fr, 06.07.: Supervisor feedback: presentation (supervisors) §  Fr, 03.08.: Camera-ready version of thesis (student) §  Fr, 17.08.: Supervisor feedback: thesis (supervisors) §  Fr, 31.08.: Final hand-in of thesis (student) Presentations (block seminar): 16.07.-23.07.

4 Proseminar MDSD SS12 - Jun.-Prof. S. Becker

Page 5: Proseminar „Model-Driven Software Engineering“ (with Eclipse) · Model-Driven Software Engineering ... Model driven software ... Support in Java . Software Practice and Experience,

© S

oftw

are

Eng

inee

ring

Res

earc

h G

roup

, Hei

nz N

ixdo

rf In

stitu

te, U

nive

rsity

of P

ader

born

Seminar Guidelines

§  Wednesday, 18.04., 15:00 in room ZM1.02-48: Final topic assignment and seminar rules – Participation is mandatory

§  Rules to create thesis and presentations §  Next week §  Use templates introduced next week for LaTeX and

Powerpoint

5 Proseminar MDSD SS12 - Jun.-Prof. S. Becker

Page 6: Proseminar „Model-Driven Software Engineering“ (with Eclipse) · Model-Driven Software Engineering ... Model driven software ... Support in Java . Software Practice and Experience,

© S

oftw

are

Eng

inee

ring

Res

earc

h G

roup

, Hei

nz N

ixdo

rf In

stitu

te, U

nive

rsity

of P

ader

born

Topic Selection

§  We will use a Doodle poll with three options: yes, maybe, no

§  We try to minimize conflicts §  Final conflict resolution is First-Come, First-Served §  Poll will be opened tomorrow morning

6 Proseminar MDSD SS12 - Jun.-Prof. S. Becker

Page 7: Proseminar „Model-Driven Software Engineering“ (with Eclipse) · Model-Driven Software Engineering ... Model driven software ... Support in Java . Software Practice and Experience,

© S

oftw

are

Eng

inee

ring

Res

earc

h G

roup

, Hei

nz N

ixdo

rf In

stitu

te, U

nive

rsity

of P

ader

born

7

Motivation for the Seminar

Proseminar MDSD SS12 - Jun.-Prof. S. Becker

Page 8: Proseminar „Model-Driven Software Engineering“ (with Eclipse) · Model-Driven Software Engineering ... Model driven software ... Support in Java . Software Practice and Experience,

© S

oftw

are

Eng

inee

ring

Res

earc

h G

roup

, Hei

nz N

ixdo

rf In

stitu

te, U

nive

rsity

of P

ader

born

Model-Driven Software Development

PIM PSM Code……..……..

Mark Model

<<annotate>>

Platform Independent Model Platform Specific Model Code……..……..

Fixed Transformation

Parameterised Transformation [MDA2006]

Platform Independent Model Platform Specific Model Code……..……..

12.04.12 WS10/11, MDSD-PCM, Steffen Becker 8

Page 9: Proseminar „Model-Driven Software Engineering“ (with Eclipse) · Model-Driven Software Engineering ... Model driven software ... Support in Java . Software Practice and Experience,

© S

oftw

are

Eng

inee

ring

Res

earc

h G

roup

, Hei

nz N

ixdo

rf In

stitu

te, U

nive

rsity

of P

ader

born

Model-Driven Engineering: Covered Aspects

§  Source Models? §  Which languages? §  Syntax? Semantics? §  …

§  Transformations §  Which types? §  Languages? §  …

§  Target Models §  Code for Specific Platforms §  Quality Analysis Models §  Test Definitions §  …

9 Proseminar MDSD SS12 - Jun.-Prof. S. Becker

Page 10: Proseminar „Model-Driven Software Engineering“ (with Eclipse) · Model-Driven Software Engineering ... Model driven software ... Support in Java . Software Practice and Experience,

© S

oftw

are

Eng

inee

ring

Res

earc

h G

roup

, Hei

nz N

ixdo

rf In

stitu

te, U

nive

rsity

of P

ader

born

10

Topics

Proseminar MDSD SS12 - Jun.-Prof. S. Becker

Page 11: Proseminar „Model-Driven Software Engineering“ (with Eclipse) · Model-Driven Software Engineering ... Model driven software ... Support in Java . Software Practice and Experience,

© S

oftw

are

Eng

inee

ring

Res

earc

h G

roup

, Hei

nz N

ixdo

rf In

stitu

te, U

nive

rsity

of P

ader

born

1. Performance Prediction with Palladio

§  „The software needs to answer 90% of all requests within 3 seconds.“

§  How to design performant software? §  How to decide economic sizing of

hardware?

§  Predict performance with the Palladio Bench!

§  Literature: Becker, S., Koziolek, H., and Reussner, R. 2009. The Palladio component model for model-driven performance prediction. Journal of Systems and Software 82, 1, 3–22.

§  Supervisor: Matthias Becker

11 April 12, 2012

Page 12: Proseminar „Model-Driven Software Engineering“ (with Eclipse) · Model-Driven Software Engineering ... Model driven software ... Support in Java . Software Practice and Experience,

© S

oftw

are

Eng

inee

ring

Res

earc

h G

roup

, Hei

nz N

ixdo

rf In

stitu

te, U

nive

rsity

of P

ader

born

2. The Graphical Modeling Framework

§  Software Engineers… §  … use models to specify software §  … use UML tools.

§  How about domain-specific models? §  How to define own modeling languages? §  How to provide tool support?

§  Generate graphical editors with GMF! §  Literature: R. Gronback: Eclipse Modeling Project: A Domain-

Specific Language (DSL) Toolkit. Addison-Wesley, 2009.

§  Supervisor: Matthias Becker

12 April 12, 2012

Page 13: Proseminar „Model-Driven Software Engineering“ (with Eclipse) · Model-Driven Software Engineering ... Model driven software ... Support in Java . Software Practice and Experience,

© S

oftw

are

Eng

inee

ring

Res

earc

h G

roup

, Hei

nz N

ixdo

rf In

stitu

te, U

nive

rsity

of P

ader

born

§  Safety analyses for real-time systems §  E.g. analyze propagation of failures §  Model-based analysis on petri nets enhanced

with time §  Mapped to timed automata

§  Task: §  Mapping TPN -> TA §  Usage of UPPAAL for checking TA §  Evaluate example with Roméo

§  Literature: Franck Cassez and Olivier (H.) Roux. Structural translation from Time Petri Nets to Timed Automata - Model-Checking Time Petri Nets via Timed Automata. The journal of Systems and Software, 79(10):1456-1468, 2006. Elsevier

§  Supervisor: Claudia Priesterjahn

3. Reachability Analysis on Time Petri Nets

13 Proseminar MDSD SS12 - Jun.-Prof. S. Becker

Roméo

Page 14: Proseminar „Model-Driven Software Engineering“ (with Eclipse) · Model-Driven Software Engineering ... Model driven software ... Support in Java . Software Practice and Experience,

© S

oftw

are

Eng

inee

ring

Res

earc

h G

roup

, Hei

nz N

ixdo

rf In

stitu

te, U

nive

rsity

of P

ader

born

4. Probabilistic Model Checking

§  Probabilistic safety analysis §  Check probability of failures §  Markov chains with continuous time

§  Task §  Probabilistic model checking on

continuous time Markov chains §  Evaluate example with PRISM

§  Literature: J.-P. Katoen, M. Kwiatkowska, G. Norman and D. Parker. Faster and Symbolic CTMC Model Checking. In L. de Alfaro and S. Gilmore (editors) Proc. PAPM/PROBMIV'01, volume 2165 of Lecture Notes in Computer Science, pages 23-38, Springer. September 2001.

§  Supervisor: Claudia Priesterjahn

14 Proseminar MDSD SS12 - Jun.-Prof. S. Becker

PRISM

Page 15: Proseminar „Model-Driven Software Engineering“ (with Eclipse) · Model-Driven Software Engineering ... Model driven software ... Support in Java . Software Practice and Experience,

© S

oftw

are

Eng

inee

ring

Res

earc

h G

roup

, Hei

nz N

ixdo

rf In

stitu

te, U

nive

rsity

of P

ader

born

5. Triple Graph Grammars

§  Literature: §  J. Greenyer, E. Kindler. Comparing relational model

transformation technologies: implementing Query/View/Transformation with Triple Graph Grammars. In: Software and Systems Modeling (SoSyM), 2010

§  Supervisor: Jan Rieke 15 Proseminar MDSD SS12 - Jun.-Prof. S. Becker

§  Model driven software development §  Models are primary

development artefacts §  Important to keep models

consistent §  Model-to-model transformations

§  bidirectional §  Incremental

§  TGG Interpreter

Page 16: Proseminar „Model-Driven Software Engineering“ (with Eclipse) · Model-Driven Software Engineering ... Model driven software ... Support in Java . Software Practice and Experience,

© S

oftw

are

Eng

inee

ring

Res

earc

h G

roup

, Hei

nz N

ixdo

rf In

stitu

te, U

nive

rsity

of P

ader

born

6. Xpand 1.2.1

§  Literature: §  http://www.eclipse.org/modeling/m2t

§  Supervisor: Markus von Detten

16 Proseminar MDSD SS12 - Jun.-Prof. S. Becker

§  Model To Text (M2T)

§  Generate Text from EMF Models §  Pluggable type system §  Template mechanism §  Model validation

§  Part of the Eclipse Model to Text Project

Xpand

Page 17: Proseminar „Model-Driven Software Engineering“ (with Eclipse) · Model-Driven Software Engineering ... Model driven software ... Support in Java . Software Practice and Experience,

© S

oftw

are

Eng

inee

ring

Res

earc

h G

roup

, Hei

nz N

ixdo

rf In

stitu

te, U

nive

rsity

of P

ader

born

7. Xtext 2.3

§  Literature: §  http://www.eclipse.org/Xtext/

§  Supervisor: Markus von Detten

17 Proseminar MDSD SS12 - Jun.-Prof. S. Becker

§  Framework for development of programming languages and domain specific languages

§  Automatically generates §  Parsers §  Editors §  Eclipse Integration

Syntax Coloring

Code Completion

Quick Fixes

Page 18: Proseminar „Model-Driven Software Engineering“ (with Eclipse) · Model-Driven Software Engineering ... Model driven software ... Support in Java . Software Practice and Experience,

© S

oftw

are

Eng

inee

ring

Res

earc

h G

roup

, Hei

nz N

ixdo

rf In

stitu

te, U

nive

rsity

of P

ader

born

8. Code generation of IEC compliant languages

§  Closing the gap between high-level modeling languages and executable PLC code: Using code generation techniques to enable model driven development of programmable logic controllers

§  Literature to start with:

§  Vogel-Heuser, B.; Witsch, D.; Katzke, U.; , "Automatic code generation from a UML model to IEC 61131-3 and system configuration tools," Control and Automation, 2005. ICCA '05. International Conference on

§  Thieme, J.; Hanisch, H.-M.; , "Model-based generation of modular PLC code using IEC61131 function blocks," Industrial Electronics, 2002. ISIE 2002. Proceedings of the 2002 IEEE International Symposium on

§  Goal of the seminar: investigate different code generation approaches to create IEC 61131 compliant programming languages from MechatronicUML

§  Supervisor: Jens Frieben 18 Seminar "Software Quality and Safety" - Dr. Matthias Meyer

IEC  61131  

Page 19: Proseminar „Model-Driven Software Engineering“ (with Eclipse) · Model-Driven Software Engineering ... Model driven software ... Support in Java . Software Practice and Experience,

© S

oftw

are

Eng

inee

ring

Res

earc

h G

roup

, Hei

nz N

ixdo

rf In

stitu

te, U

nive

rsity

of P

ader

born

9. The FRACTAL Component Model

§  Components are used to structure complex programs

§  Use of components requires a suitable component model

§  Fractal… §  ... is a formally defined component model §  … supports advanced features like runtime adaptation §  … provides good tool support

§  Literature: E. Bruneton, T. Coupaye, M. Leclercq, V. Quéma,

and J.-B. Stefani. The Fractal Component Model and Its Support in Java . Software Practice and Experience, special issue on Experiences with Auto-adaptive and Reconfigurable Systems. 36(11-12), 2006

§  Supervisor: Christian Heinzemann 19 Proseminar MDSD SS12 - Jun.-Prof. S. Becker

Page 20: Proseminar „Model-Driven Software Engineering“ (with Eclipse) · Model-Driven Software Engineering ... Model driven software ... Support in Java . Software Practice and Experience,

© S

oftw

are

Eng

inee

ring

Res

earc

h G

roup

, Hei

nz N

ixdo

rf In

stitu

te, U

nive

rsity

of P

ader

born

10. Maveryx - Open Source Test Automation Framework

20 Proseminar MDSD SS12 - Jun.-Prof. S. Becker

§  Maveryx is a free and open source test automation tool for functional and regression testing of Java(TM) applications.

§  Automated testing capabilities §  functional testing §  regression testing §  GUI testing §  data-driven testing

§  Literature: §  http://www.maveryx.com

§  Supervisor: Uwe Pohlmann

§  Maveryx plug-in extends the capabilities of Eclipse §  quickly set up new Maveryx

test projects §  create tests based on the

Maveryx Framework API §  compile, run, and debug

Maveryx tests from the Eclipse SDK.