Proseminar. (with Eclipse) Jun.-Prof. Dr.-Ing. Steffen Becker. Model-Driven Software Engineering. Software Engineering Group

Similar documents
Seminar Model-Based Quality Engineering

Chair of Software. Engineering. Overview. School of Business Informatics and Mathematics. 1. Find out why software engineering is important

MDD with OMG Standards MOF, OCL, QVT & Graph Transformations

Introduction to OpenArchitectureWare

Compositional Model Based Software Development

Model-Driven Iterative Development of 3D Web-Applications Using SSIML, X3D and JavaScript

Proceedings of the 6th Educators Symposium: Software Modeling in Education at MODELS 2010 (EduSymp 2010)

MEMOCenterNG A full-featured modeling environment for organization modeling and model-driven software development

Modeling, Testing and Executing Reo Connectors with the. Reo, Eclipse Coordination Tools

Static analysis and testing of executable DSL specification

Orccad, a Model Driven Architecture and Environment for Real-Time Control. Soraya Arias Florine Boudin Roger Pissard-Gibollet Daniel Simon

Performance Certification of Software Components

The Implications of Optimality Results for Incremental Model Synchronization for TGGs Holger Giese, Stephan Hildebrandt

Model Driven Engineering (MDE)

Dresden OCL2 in MOFLON

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages

Reconciling TGGs with QVT

Static Program Analysis

Integration of Existing Software Artifacts into a View- and Change-Driven Development Approach

Static Program Analysis

Pre-Course Meeting Proseminar Network Hacking & Defense

ICSA 2017 Tutorial Runtime Modeling and Visualization -- Introduction to Palladio

Eclipse Support for Using Eli and Teaching Programming Languages

MANAGEMENT OF CROSS-DOMAIN MODEL CONSISTENCY FOR BEHAVIORAL MODELS OF MECHATRONIC SYSTEMS

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1,2 and 3, Spring 2017

ARTICLE IN PRESS Performance Evaluation ( )

Introduction to Model Driven Engineering using Eclipse. Frameworks

The Case for Meta-modeling Frameworks Specialisation

Model Transformations for Embedded System Design and Virtual Platforms

Dr. Klaus Fischer. Multiagent Systems Group DFKI GmbH Saarbrücken, Germany ICAART

A little History Domain Specific Languages Examples Tools Benefits A more theoretical View Programming and Modeling The LWES Project Bonus: Best

Evolution of XML Applications

The etrice Eclipse Project Proposal

An Introduction to Model Driven Engineering (MDE) Bahman Zamani, Ph.D. bahmanzamani.com

Comparing graphical DSL editors

QoS-aware model-driven SOA using SoaML

with openarchitectureware

Comparing Relational Model Transformation Technologies Implementing QVT with Triple Graph Grammars

Runtime Models as Interfaces for Adapting Software Systems

Towards a Modular Palladio Component Model

Business Process Management Seminar 2007/ Oktober 2007

Why and How We Should Use Graphiti to Implement PCM Editors

TGGs for Transforming UML to CSP: Contribution to the ACTIVE 2007 Graph Transformation Tools Contest. Technical Report tr-ri

Language engineering and Domain Specific Languages

Formal Specification of Software Systems

Towards 2D Traceability

Software Language Engineering of Architectural Viewpoints

Spoofax: An Extensible, Interactive Development Environment for Program Transformation with Stratego/XT

INF5110 Compiler Construction

Transformational Design with

Plan. Language engineering and Domain Specific Languages. Language designer defines syntax. How to define language

Design Specification of Cyber-Physical Systems: Towards a Domain-Specific Modeling Language based on Simulink, Eclipse Modeling Framework, and Giotto

Grammars. Prof. Andreas Prinz. Introduction, Compilers. Examples Meta-models vs. Grammars Summary

Reflection Library for Eiffel PROJECT PLAN

When Modeling meets Productivity. Sven Efftinge - itemis

The Fractal Open Component Model

Web Engineering. VSR://EDU/Seminar. Prof. Dr.-Ing. Martin Gaedke Sebastian Heil, M. Sc. VSR.Informatik.TU-Chemnitz.de

ATHABASCA UNIVERSITY RULE ENHANCED BUSINESS PROCESS MODELING OF SERVICE ORIENTED ARCHITECTURES LUIS ROCHA. A project submitted in partial fulfillment

DiverSE s Seminar about Software Language Engineering

Current trends and frameworks for modeldriven approaches to software development

Software Systems Architecture

Model driven Engineering & Model driven Architecture

An Eclipse-based Integrated Environment for Developing Executable Structural Operational Semantics Specifications

Compiler Construction

Goulwen Le Fur Obeo EclipseCon NA 2014

Introduction to MDE and Model Transformation

Using Hybrid Automata for Early Spacecraft Design Evaluation

Verification in Continuous Time Recent Advances

Overview of Timed Automata and UPPAAL

MOSAIC A modeling and code generation tool. Gregor Tolksdorf, M.Sc. Faculty of Process Sciences CAPE-OPEN 2013 Annual Meeting

MDA Driven xuml Plug-in for JAVA

Compiler construction

Yxilon a Modular Open-Source Statistical Programming Language

CMPE 152 Compiler Design

CMPE 152 Compiler Design

On Open Source Tools for Behavioral Modeling and Analysis with fuml and Alf

Compiler Construction Lecture 1: Introduction Summer Semester 2017 Thomas Noll Software Modeling and Verification Group RWTH Aachen University

Model-Driven Systems Engineering for Netcentric System of Systems With DEVS Unified Process

ECLIPSE MODELING PROJECT

1.1 Constraint satisfaction problems

Software Engineering 2 A practical course in software engineering. Ekkart Kindler

COMPLEX SYSTEMS. Today. Complex Systems. Kinds of Systems. Embedded Systems. Software Engineering. Lectures 20: Engineering Complex Systems

A whiteboard for Saros

Introduction to Dependable Systems: Meta-modeling and modeldriven

San José State University Department of Computer Science CS151, Object Oriented Design, Section 04, Fall, 2016 (42968)

Dottorato di Ricerca in Informatica. Università di Bologna e Padova. Whole Platform. Riccardo Solmi. March 2005

Rule Based Bi-Directional Transformation of UML2 Activities into Petri Nets

CMPE 152 Compiler Design

Fine-grained Software Version Control Based on a Program s Abstract Syntax Tree

SERG. Spoofax: An Extensible, Interactive Development Environment for Program Transformation with Stratego/XT

Philadelphia University Faculty of Information Technology Department of Computer Science --- Semester, 2007/2008. Course Syllabus

University At Buffalo COURSE OUTLINE. A. Course Title: CSE 487/587 Information Structures

New and Noteworthy. Peter Friese Bernd Kolb

Mapping UML Models to Colored Petri Nets Models based on Edged Graph Grammar

Seminar Recent Trends in Database Research

A Visual Editor for Reconfigurable Object Nets based on the ECLIPSE Graphical Editor Framework

Compiler Construction Lecture 1: Introduction Winter Semester 2018/19 Thomas Noll Software Modeling and Verification Group RWTH Aachen University

EMF Refactor: Specification and Application of Model Refactorings within the Eclipse Modeling Framework

CONTROLLER DEPENDABILITY ANALYSIS BY PROBABILISTIC MODEL CHECKING. Marta Kwiatkowska, Gethin Norman and David Parker

Master Thesis Project Plan. Reusable Mathematical Models

Transcription:

Proseminar Model-Driven Software Engineering (with Eclipse) Jun.-Prof. Dr.-Ing. Steffen Becker Model-Driven Software Engineering Software Engineering Group 1

Outline Basic Requirements Preliminary Dates Seminar Guidelines Presentation of the Topics 2

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

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

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

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

Motivation for the Seminar 7

Model-Driven Software Development Platform Independent Model Platform Specific Model Code.... Fixed Transformation PIM PSM Code Platform Independent Model Platform Specific Model Code <<annotate>> Mark Model Parameterised Transformation.... [MDA2006] WS10/11, MDSD-PCM, Steffen Becker 12.04.12 8

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

Topics 10

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 April 12, 2012 11

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 April 12, 2012 12

3. Reachability Analysis on Time Petri Nets 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 Roméo 13

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 PRISM 14

5. Triple Graph Grammars Model driven software development Models are primary development artefacts Important to keep models consistent Model-to-model transformations bidirectional Incremental TGG Interpreter 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

6. Xpand 1.2.1 Model To Text (M2T) Generate Text from EMF Models Pluggable type system Template mechanism Model validation Part of the Eclipse Model to Text Project Literature: http://www.eclipse.org/modeling/m2t Supervisor: Markus von Detten Xpand 16

7. Xtext 2.3 Framework for development of programming languages and domain specific languages Syntax Coloring Automatically generates Parsers Editors Eclipse Integration Literature: http://www.eclipse.org/xtext/ Supervisor: Markus von Detten Code Completion Quick Fixes 17

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 Seminar "Software Quality and Safety" - Dr. Matthias Meyer IEC 61131 18

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

10. Maveryx - Open Source Test Automation Framework 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. 20