Seminar Model Driven Software Engineering What is it? Topics Requirements Schedule Contact.

Slides:



Advertisements
Similar presentations
Language Specification using Metamodelling Joachim Fischer Humboldt University Berlin LAB Workshop Geneva
Advertisements

Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
MDI 2010, Oslo, Norway Behavioural Interoperability to Support Model-Driven Systems Integration Alek Radjenovic, Richard Paige The University of York,
Visual Scripting of XML
CSI5112 Software Engineering Team: Andrei Anisenia Margi Fumtiwala.
Train Control Language Teaching Computers Interlocking By: J. Endresen, E. Carlson, T. Moen1, K. J. Alme, Haugen, G. K. Olsen & A. Svendsen Synthesizing.
Introduction to UML Visual modeling Models and its importance
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
A Formal Foundation Supporting MDD --- ZOOM Approach Hongming Liu Lizhang Qin 11/08/2003.
CS 290C: Formal Models for Web Software Lecture 6: Model Driven Development for Web Software with WebML Instructor: Tevfik Bultan.
The RDF meta model: a closer look Basic ideas of the RDF Resource instance descriptions in the RDF format Application-specific RDF schemas Limitations.
Whole Platform Tesi di Dottorato di: RICCARDO SOLMI Università degli Studi di Bologna Facoltà di scienze matematiche, fisiche e naturali Corso di Dottorato.
Building Knowledge-Driven DSS and Mining Data
Comparing M2T & M2M Complementary Approaches © 2008 INRIA, University of York & SINTEF Comparing M2T & M2M Complementary Approaches Hugo Bruneliere,
1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Spectra Software Defined Radio Products Applying Model Driven Design, Generative Programming, and Agile Software Techniques to the SDR Domain OOPSLA '05.
Advanced Applications Of Model-to-Model Transformation © 2008 INRIA Advanced Applications Of Model-to-Model Transformation Hugo Bruneliere & Frédéric.
A novel approach to modeling Zvezdan Protić, Tom Verhoeff, Mark van den Brand.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
An Approach and Tool for Synchronous Refactoring of UML Diagrams and Models Using Model-to-Model Transformations Hafsteinn Þór Einarsson Helmut Neukirchen.
ROOT: A Data Mining Tool from CERN Arun Tripathi and Ravi Kumar 2008 CAS Ratemaking Seminar on Ratemaking 17 March 2008 Cambridge, Massachusetts.
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
1 Introduction to Modeling Languages Striving for Engineering Precision in Information Systems Jim Carpenter Bureau of Labor Statistics, and President,
Data Mining Joyeeta Dutta-Moscato July 10, Wherever we have large amounts of data, we have the need for building systems capable of learning information.
A Generative and Model Driven Framework for Automated Software Product Generation Wei Zhao Advisor: Dr. Barrett Bryant Computer and Information Sciences.
1. 2 Purpose of This Presentation ◆ To explain how spacecraft can be virtualized by using a standard modeling method; ◆ To introduce the basic concept.
1 A Web Specific Language for Content Management Systems Viðar Svansson, Roberto E. Lopez-Herrejon Computing Laboratory University of Oxford.
MDE Model Driven Engineering Xavier Blanc Université Pierre et Marie Curie
Introduction to MDA (Model Driven Architecture) CYT.
Alignment of ATL and QVT © 2006 ATLAS Nantes Alignment of ATL and QVT Ivan Kurtev ATLAS group, INRIA & University of Nantes, France
What is MOF? The Meta Object Facility (MOF) specification provides a set of CORBA interfaces that can be used to define and manipulate a set of interoperable.
Models for Language Engineering Bruno F. Barroca.
Copyright © 2009 AtlanMod. All Rights Reserved Frédéric Jouault & Hugo Bruneliere AtlanMod team (INRIA & Mines de Nantes) Possible Benefits of Bridging.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Validated Model Transformation Tihamér Levendovszky Budapest University of Technology and Economics Department of Automation and Applied Informatics Applied.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
A language to describe software texture in abstract design models and implementation.
1 5 Nov 2002 Risto Pohjonen, Juha-Pekka Tolvanen MetaCase Consulting AUTOMATED PRODUCTION OF FAMILY MEMBERS: LESSONS LEARNED.
Dr. Darius Silingas | No Magic, Inc. Domain-Specific Profiles for Your UML Tool Building DSL Environments with MagicDraw UML.
Automated Transformation of Statements Within Evolving Domain Specific Languages Peter Bell CEO/CTO, SystemsForge 7th OOPSLA Workshop on Domain-Specific.
Chapter 5: Business Intelligence: Data Warehousing, Data Acquisition, Data Mining, Business Analytics, and Visualization DECISION SUPPORT SYSTEMS AND BUSINESS.
Sheet 1 DocEng’03, Grenoble, November 2003 Model Driven Architecture based XML Processing Ivan Kurtev, Klaas van den Berg University of Twente, the Netherlands.
Semantics for DSL Group Members: Ritu Arora, Diyang Chu, Zekai Demirezen, Jeff Gray, Jacob Gulotta, Luis Pedro, Arturo Sanchez, Greg Sullivan,Ximing Yu.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
Ch- 8. Class Diagrams Class diagrams are the most common diagram found in modeling object- oriented systems. Class diagrams are important not only for.
Cooperative Computing & Communication Laboratory A Survey on Transformation Tools for Model-Based User Interface Development Robbie Schäfer – Paderborn.
ModTransf A Simple Model to Model Transformation Engine Cédric Dumoulin.
Data Mining and Decision Support
Introduction to Modeling Extracted from textbook: Object Oriented Modeling and Design with UML M. Blaha, J. Rumbaugh.
Class Diagrams. Terms and Concepts A class diagram is a diagram that shows a set of classes, interfaces, and collaborations and their relationships.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML: UML 2 Metamodel Note to Instructor: The material in this.
Nigel Baker UWE & CERN/EP-CMA Design Patterns for Integrating Product and Process Models The C.R.I.S.T.A.L. Project ( C ooperative R epositories & I nformation.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Pattern Recognition. What is Pattern Recognition? Pattern recognition is a sub-topic of machine learning. PR is the science that concerns the description.
Model Driven Architecture MDA SE-548 Lale Doğan
1 Budapest University of Technology and Economics Department of Measurement and Information Systems Budapest University of Technology and Economics Fault.
WELCOME TO OUR PRESENTATION UNIFIED MODELING LANGUAGE (UML)
Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering In Practice. Morgan & Claypool Teaching material for the book Model-Driven.
MDD-Kurs / MDA Cortex Brainware Consulting & Training GmbH Copyright © 2007 Cortex Brainware GmbH Bild 1Ver.: 1.0 How does intelligent functionality implemented.
Aspect-oriented Code Generation Approaches Abid Mehmood & Dayang N. A. Jawawi Department of Software Engineering Faculty of Computer Science and Information.
SysML v2 Formalism: Requirements & Benefits
School of Computer Science & Engineering
Implementing Language Extensions with Model Transformations
Metadata Framework as the basis for Metadata-driven Architecture
OOPSLA Workshop on Domain-Specific Modeling Tools Workgroup
Towards an Open Meta Modeling Environment
Execute your Processes
Implementing Language Extensions with Model Transformations
Software Architecture & Design
Presentation transcript:

Seminar Model Driven Software Engineering What is it? Topics Requirements Schedule Contact

„Model-based Software Development“, A famous painting by René Magritte

„Model-based Software Development“, Systems versus Modells The image (model) captures important properties and lets us reason about  appeareance  functions  usability  etc But with an image (model) we cannot smoke. isModelOf A system A model conformsTo

„Model-based Software Development“, Modells Represent Views of a System Termite population in France The System Models France 1453 French cheese map Railroads in France

„Model-based Software Development“, Metamodels explain Models How do we know what a map tells us? The „Legend“ explains the used symbols  „Bicycle Lane“ …… The „Legend“ is the „metamodel“ of the map  Metamodels model the language of models  Elements & their legal use  syntax  Meaning of elements  semantics

„Model-based Software Development“, Meta-Models The „Image of an image of an image“ is a meta-metamodel  One could go on like this forever… The „image of an image of a pipe“ is a modell of a model – a metamodell  It captures aspects of images  Frame, contents, label, … The „image of a pipe“ is a model of the system  It captures aspects of pipes  Shape, colour,... The pipe is real – a system. modelOf

„Model-based Software Development“, The UML Metamodell ClassAttribute * 1 A UML-Model Spy Name : String The (Meta-)Modell-Pyramid M2M2 M1M1 Meta-Object-Facility Class Association source destination M3M3 conforms to A System („the real world“) MOF (Meta-Object-Facility) (model of UML metamodels) UML Metamodel (Model of UML models) UML Model (Model of a system) M0M0 My Name is... conforms to M0M0 M1M1 M2M2 M3M3

„Model-based Software Development“, Domain Specific Language (DSL) Domain  An are of knowldege with tightly interrelated concepts  Examples: Genetics, flight control, data base management, … DSL – Domain Specific Language  Approach: The Concepts of a domain are defined by a metamodel  Advantages compared to general purpose language  Higher abstraction level  Easier understanding by domain experts  Automated mapping to lower abstraction levels  Examples  Representation of database schema by ER diagramm (grafical DSL)  Representation of database schema by DDL script (textual DSL) MOF – Meta Object Facility  Model based language for defining meta models  Master form (unique metametamodell MMM)

„Model-based Software Development“, Concrete Syntax versus Abstract Syntax package demo; class C { int m(int i) { m(i); } var method C parent param type name type parent int i parent var access name i int m name m parent call block method class name demo name package 1 4 parent param(4, 3, ‘i'‚ int) method(3, 2, 'm', int,[4]) class(2, 1, 'C') package(1, 0, 'demo') block(5, 3, [6]) call(6, 5, null, 3 ) ident(7, 6, 4 )

„Model-based Software Development“, package(1, 0, 'demo'). ● Describes the structure of the input or output of a system ◆ Textual ◆ Graphical ● Specified by a grammar ◆ Textual → EBNF ◆ Graphical → Graph grammar ● Describes the structure of the internal representation (= the model) ◆ Objects ◆ Clauses ◆ Relations ● Specified by a meta-model ◆ See previous slides Concrete Syntax versus Abstract Syntax package demo;

„Model-based Software Development“, Families of Model Transformation Concrete Syntax (textual / grafical) Abstract Syntax (internal) Text-to-model Model-to-text Model-to-model

„Model-based Software Development“ Summer semester 2016 –– Core MDSE Topics

„Model-based Software Development“, Eclipse Modeling Framework ECORE as the basis of tool interoperability Transformation rules use the meta-models Tools use ECORE to understand the meta-models Meta-model of Source Model Source Model Meta-model of Target Model Target Model conforms to Transformation Rules ECORE conforms to

„Model-based Software Development“, Xtext: Define your own DSL! ● 1. Define the grammar of your language

„Model-based Software Development“, Xtext: Define your own DSL! ● 2. Automatically generate ◆ a parser ◆ an internal model ◆ a complete IDE for the new language

„Model-based Software Development“, Xtext: Customize your DSL! ● Configure the code generation workflow ◆ Workflow language (MWE2) ◆ Dependency injection (Google Guice) ◆ Continuous Integration (Maven) ● Customize ◆ Semantic checking ◆ Error reporting ◆ Outline ◆ Formatting ◆ Autocompletion

„Model-based Software Development“, Xtend: Model to Model Transformation ● Full programing language ● Java made easy ◆ Less boilerplate code ◆ Type inference ◆ … ● You can work on the model otherwise, but Xtrend makes it much easier

„Model-based Software Development“, Xtend: Model to text transformation ● Template language embedded into Xtend Literal output (fully formatted, no need for System.out.println(„…“) Start template End template Embedded code Reference to an attribute of the currently processed model element

„Model-based Software Development“, Viatra: Graph-based Model to Model Transformation ● Graph-based transformations

„Model-based Software Development“, ATL: Hybrid model-to-model transformation ● Declarative … …and operational

„Model-based Software Development“ Summer semester 2016 –– Application Topics

„Model-based Software Development“, Propositionalization ● What is Machine Learning? ◆ Learning models from observations ◆ E.g detect spam s, predict whether printing machine will fail ●O ften transformations to simple feature vectors ◆ Feature vector example: (sunny, 23.2 degrees Celsius, windy) ◆ Real world: often complex relationships e.g. social graphs of persons, complex interactions in machines Task : ● Look at transformation techniques from MDSE perspective and present comparative analysis with (dis-)advantages

„Model-based Software Development“, Propositionalization ● References: Ristoski, Petar, and Heiko Paulheim. "A comparison of propositionalization strategies for creating features from linked open data." Linked Data for Knowledge Discovery (2014): 6. Kramer, S., Lavrac, N., Flach, P.: Propositionalisation approaches to Relational Data Mining. In Dzeroski, S., Larac, N., eds.: Relational Data Mining. Springer, Berlin (2001) 262–291 Maier, Marc, et al. "Flattening network data for causal discovery: What could go wrong?." Workshop on Information in Networks

„Model-based Software Development“, Machine Learning ● Modelling: Each type of classifier is a model, which follows certain properties and learns a particular task. e.g. –Decision Trees –Neural Networks –Rule based Learners ● Task 1: Look at learning algorithms from MDSE perspective and present an analysis of models ● Task 2: Look at a machine learning tool e.g. WEKA, and present a comparative analysis of learning models from MDSE perspective

„Model-based Software Development“, Kernel based Learning ● Modelling layer : ● There are some classifiers called kernel based classifiers. ● They require data to be transformed in a particular manner. i.e. ð low dimensions ð linearly separable. ● Task: Explore different kernel techniques from MDSE perspective and present analysis of kernel based modelling methods

„Model-based Software Development“, Kernel based Learning References : lBishop, Christopher M. "Model-based machine learning." Philosophical Transactions of the Royal Society of London A: Mathematical, Physical and Engineering Sciences (2013): lhttp://research.microsoft.com/en-us/um/people/cmbishop/downloads/Bishop- MBML-2012.pdfhttp://research.microsoft.com/en-us/um/people/cmbishop/downloads/Bishop- MBML-2012.pdf models.html models.html

„Model-based Software Development“, Model based Optimization ● Given a complex optimization problem, the task is to find the values of parameters that optimize the problem. e.g. ð Data packet routing, ð Shortest path  Function optimization ● There are different methods to model a solution to such problem. ● Mathematical Modelling –Gradient Descent ● Algorithmic Modelling –Genetic Algorithm ● Task : Explore any one type of such optimization algorithms with MDSE perspective and highlight the underlying modelling techniques

„Model-based Software Development“, Model based Optimization References :  df df  %20Survey%20of%20model- based%20methods%20for%20global%20optimization.pdf %20Survey%20of%20model- based%20methods%20for%20global%20optimization.pdf