Proseminar „Model-Driven Software Engineering“ (with Eclipse) · Model-Driven Software...
Transcript of Proseminar „Model-Driven Software Engineering“ (with Eclipse) · Model-Driven Software...
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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.