Model-Driven Language Engineering
|
|
- Eleanor Patrick
- 6 years ago
- Views:
Transcription
1 Model-Driven Language Engineering Example of the ThingML language Franck Fleurey SINTEF Research Scientist INF520 - April 202
2 Language Engineering Programming languages Domain specific languages Modelling languages Who is the user? What is the purpose? INF Franck Fleurey 2
3 Abstract syntax Concrete syntax Editor(s) Static semantics Dynamic semantics Interpreter Compiler Debugger Outline INF Franck Fleurey 3
4 Model-driven language engineering Traditionally: Grammar / Compilers approaches Modelling Focus on the abstract syntax More flexible concrete syntaxes Better modularity More maintainable INF Franck Fleurey (franck.fleurey@sintef.no) 4
5 Example of the ThingML language What is ThingML Name comes from Internet of Things (IoT) Who are the target users? What is the purpose? What are the alternatives? INF Franck Fleurey 5
6 What is the Internet of Things (IoT)? INF Franck Fleurey 6
7 Example applications Health domain and ambient assisted living Energy domain and smart grids Environmental monitoring and oil and gas Safety in hazardous environments Automotive industry... INF Franck Fleurey 7
8 Programming IoT systems Distributed Asynchronous Parallel Event based Imperative programing is not well suited INF Franck Fleurey 8
9 ThingML: Architecture Model Robot control Movement control Distance Sensor Collision Sensor Left Wheel control Right Wheel control INF Franck Fleurey 9
10 ThingML: Component Reusable unit (Black box) component type (Thing) Wheel Controller Port Messages <= forward(speed:int) <= backward(speed:int) <= stop() => wheel_position(position: int) instances Left Wheel control Right Wheel control INF Franck Fleurey 0
11 ThingML: State Machines Wheel Controller Stopped?forward?stop?stop!wheel_position Forward Control Port?backward backward!wheel_position INF Franck Fleurey
12 ThingML: Action Language?forward Forward action do motor_set_speed(speed) motor_set_direction(fw) end on entry do reset_wheel_position() motor_start() end... INF Franck Fleurey 2
13 ThingML Abstract syntax What are the concepts of the language? Components Instances States Transitions What are the relations between these concepts Tools: EMF, MOF, etc. INF Franck Fleurey 3
14 Comparing Abstract Syntax Systems Technology # Technology #2 (formal grammars (MOF + OCL) attribute grammars, etc.) Technology #3 (XML Meta-Language) Technology #4 (Ontology engineering) M 3 EBNF MOF A XML DTD Or Schema Upper Level Ontologies M 2 Pascal Language Grammar The UML meta-model A XML document A XML DTD or Schema KIF Theories M A specific Pascal Program A specific execution of a Pascal program A Specific UML Model A Specific phenomenon corresponding to a UML Model A XML document + Xlink, Xpath, XSLT + RDF, OIL, DAML + etc. [XMI=MOF+XML+OCL] (From J. Bézivin) +Description Logics +Conceptual Graphs +etc. INF Franck Fleurey (franck.fleurey@sintef.no) 4
15 ThingML Abstract Syntax INF Franck Fleurey 5
16 Abstract syntax State Machines Model a /b x/y S S2 y/x S3 b /a INF Franck Fleurey (franck.fleurey@sintef.no) 6
17 Abstract syntax State Machines Model a /b x/y S S2 y/x S3 b /a Meta-Model ow ningfsm * ow nedstate cur rentstate run() FSM reset() 0.. initialstate name: EString step() State source tar get outgoingtrans ition * inc omingtrans ition 0.. Transi tion input: EString output: EString fire() INF Franck Fleurey (franck.fleurey@sintef.no) 7
18 What do we get? Model a /b x/y S S2 y/x S3 b /a Meta-Model ow ningfsm * ow nedstate cur rentstate run() FSM reset() 0.. initialstate name: EString step() State source tar get outgoingtrans ition * inc omingtrans ition 0.. Transi tion input: EString output: EString fire() INF Franck Fleurey (franck.fleurey@sintef.no) 8
19 Abstract syntax Concrete syntax Editor(s) Static semantics Dynamic semantics Interpreter Compiler Debugger Outline INF Franck Fleurey 9
20 Textual vs. Graphical Intermediate Wizards Concrete syntax Important: use standard and/or existing notations for the target users Tools: EMFText, GMF, etc. INF Franck Fleurey 20
21 ThingML Concrete syntax Made a attempt at graphical Made an attempt with UML Endded-up with a text-based syntax Built with EMFText INF Franck Fleurey (franck.fleurey@sintef.no) 2
22 Blink example state machine Blink Stopped on entry!timer_start(000) thing Blink includes LedMsgs, TimerMsgs { required port HW { sends led_toggle, timer_start receives timer_timeout }?timer_timeout!led_toggle() HW <= timer_timeout() => led_toggle() => timer_start(delay:int) } statechart BlinkImpl init Blinking { state Blinking { on entry HW!timer_start (000) } } transition -> Blinking event HW?timer_timeout action HW!led_toggle () INF Franck Fleurey (franck.fleurey@sintef.no) 22
23 Blink example and instance groups led group app: BlinkApplication led: Led Led HW timer HW io group Timer:Timer do: DigitalOutput pin: IOPin Arduino Board configuration BlinkArduino { group led : LedArduino set led.io.digital_output.pin = DigitalPin:PIN_3 // The timer instance timer : TimerArduino // The blink application instance app : Blink connector app.hw => led.led.led connector app.hw => timer.timer } INF Franck Fleurey (franck.fleurey@sintef.no) 23
24 Tooling the concrete syntax Parser to the abstract syntax Serialization (pretty-printer) Editor Good editor features Highlighting Outline Completion Navigation EMFText generates an eclipse editor INF Franck Fleurey 24
25 ThingML Editor INF Franck Fleurey 25
26 Abstract syntax Concrete syntax Editor(s) Static semantics Dynamic semantics Interpreter Compiler Debugger Outline INF Franck Fleurey 26
27 Static Semantics with OCL Complementing a meta-model with Well- Formedness Rules, aka Contracts e.g.; A procedure is called with the same number of arguments as specified in its declaration Expressed with the OCL (Object Constraint Language) The OCL is a language of typed expressions. A constraint is a valid OCL expression of type Boolean. A constraint is a restriction on one or more values of (part of) an object-oriented model or system. INF Franck Fleurey (franck.fleurey@sintef.no) 27
28 Contracts in OO languages Inspired by the notion of Abstract Data Type Specification = Signature + Preconditions Postconditions Class Invariants Behavioral contracts are inherited in subclasses INF Franck Fleurey (franck.fleurey@sintef.no) 28
29 OCL for static semantics Can be used at both M level (constraints on Models)» aka Design-by-Contract (Meyer) M2 level (constraints on Meta-Models)» aka Static semantics Tools: EMF Validation Framework Static constraints can be written in OCL or Java Well integrated with EMFText INF Franck Fleurey (franck.fleurey@sintef.no) 29
30 Static semantics example ow ningfsm * ow nedstate cur rentstate run() FSM reset() 0.. initialstate name: EString step() State source tar get outgoingtrans ition * inc omingtrans ition 0.. Transi tion input: EString output: EString fire() Context FSM inv: ownedstate->forall(s,s2 s.name=s2.name implies s=s2) INF Franck Fleurey (franck.fleurey@sintef.no) 30
31 Abstract syntax Concrete syntax Editor(s) Static semantics Dynamic semantics Interpreter Compiler Debugger Outline INF Franck Fleurey 3
32 Dynamic semantics Depends on the purpose of the language ow ningfsm * ow nedstate cur rentstate run() FSM reset() 0.. initialstate name: EString step() State source tar get outgoingtrans ition * inc omingtrans ition 0.. Transi tion input: EString output: EString fire() What is the meaning of the model? INF Franck Fleurey (franck.fleurey@sintef.no) 32
33 Operational Semantics of State Machines A model Its metamodel w ow ningfsm * ow nedstate FSM cur rentstate State 0.. run() initialstate name: EString reset() step() a /b x/y S S2 S3 y/x b /a Transi tion source outgoingtrans ition input: EString * output: EString tar get inc omingtrans ition fire() 0.. Adding Operational Semantics to OO Metamodels INF Franck Fleurey (franck.fleurey@sintef.no) 33
34 Example ow ningfsm * ow nedstate FSM cur rentstate State 0.. run() initialstate name: EString reset() step() source tar get outgoingtrans ition * inc omingtrans ition 0.. Transition input: EString output: EString fire() operation fire() : String source.owningfsm.currentstate := target result := output INF Franck Fleurey (franck.fleurey@sintef.no) 34
35 ow ningfsm * ow nedstate FSM cur rentstate State 0.. run() initialstate name: EString reset() step() source tar get outgoingtrans ition * inc omingtrans ition 0.. Transi tion input: EString output: EString fire() operation step(c : String) : String // Get the valid transitions var validtransitions : Collection<Transition> validtransitions := outgoingtransition.select { t t.input.equals(c) } // Check if there is one and only one valid transition if validtransitions.empty then raise NoTransition.new end if validtransitions.size > then raise NonDeterminism.new end // fire the transition result := validtransitions.one.fire INF Franck Fleurey (franck.fleurey@sintef.no) 35
36 ow ningfsm * ow nedstate FSM cur rentstate State 0.. run() initialstate name: EString reset() step() source Transi tion input: EString output: EString INF Franck Fleurey (franck.fleurey@sintef.no) 36 tar get operation run() : Void outgoingtrans ition * inc omingtrans ition from var str : String until str == "exit" loop stdio.writeln("current state is " + currentstate.name) str := stdio.read("enter an input string or 'exit' to exit simulation : ") stdio.writeln(str) if str!= "exit" then do stdio.writeln("output string : " + currentstate.step(str)) rescue (ex : FSMException) stdio.writeln("error : " + ex.tostring) end end end stdio.writeln("* END OF SIMULATION *") 0.. fire()
37 a /b x/y S S2 y/x S3 b /a /** * Load a sample FSM from a xmi2 file */ operation loadfsm() : FSM is do var repository : EMFRepository init EMFRepository.new var resource : EMFResource resource?= repository.createresource("../models/fsm_sample.xmi", "../metamodels/fsm.ecore") resource.load // Load the fsm (we get the main instance) result?= resource.instances.one end INF Franck Fleurey (franck.fleurey@sintef.no) 37
38 Abstract syntax Concrete syntax Editor(s) Static semantics Dynamic semantics Interpreter Compiler Debugger Outline INF Franck Fleurey 38
39 Model-to-Text vs. Model-to-Model Model-to-Text Transformations For generating: code, xml, html, doc. Should be limited to syntactic level transcoding Model-to-Model Transformations To handle more complex, semantic driven transformations INF Franck Fleurey 39
40 Model-to-Text Approaches For generating: code, xml, html, doc. Visitor-Based Approaches:» Some visitor mechanisms to traverse the internal representation of a model and write code to a text stream» Iterators, Write () Template-Based Approaches» A template consists of the target text containing slices of metacode to access information from the source and to perform text selection and iterative expansion» The structure of a template resembles closely the text to be generated» Textual templates are independent of the target language and simplify the generation of any textual artefacts INF Franck Fleurey (franck.fleurey@sintef.no) 40
41 Classification of Model-to-Model Transformation Techniques. General purpose programming languages Java/C# Generic transformation tools Graph transformations, XSLT 3. CASE tools scripting languages Objecteering, Rose 4. Dedicated model transformation tools OMG QVT style 5. Meta-modeling tools Metacase, Xactium, Kermeta INF Franck Fleurey 4
42 Compiling ThingML Another way of mapping to a known language ThingML Compilers Micro-controllers (Arduino, Atmel AVRs, TI MSP430) Linux C (POSIX) Java (and Android) Scala Written in Scala. Not much generic tools but some patterns INF Franck Fleurey (franck.fleurey@sintef.no) 42
43 Abstract syntax Concrete syntax Editor(s) Static semantics Dynamic semantics Interpreter Compiler Debugger Outline INF Franck Fleurey 43
44 ThingML Language Support multiple platforms Other micro-controllers (Other Atmel AVRs, TI MSP430) Linux C (POSIX) Java (and Android) Scala Support distribution Generation of communication protocols Transparent asynchronous messaging Bluetooth, Blootooth Smart, Xbee, RF, Open-source language and tools ( Still under development In use in several research projects INF Franck Fleurey (franck.fleurey@sintef.no) 44
45 Summary Lots of steps to create a DSL Syntax has to be good but it is not the main development effort The purpose of the language should be clear and narrow Modelling does not imply graphics and graphics do not imply modelling Modelling tools help make language engineering more accessible Lots of tools and standards can be used INF Franck Fleurey (franck.fleurey@sintef.no) 45
46 Thank you for your attention! Any questions? INF Franck Fleurey 46
Model-Driven Language Engineering. Franck Fleurey
Model-Driven Language Engineering Franck Fleurey e-mail : Franck.Fleurey@sintef.no http://www.fleurey.com Example with StateMachines Model a/b x/y S1 S2 y/x S3 b/a Meta-Model owningfsm 1 * ownedstate currentstate
More informationThingML: A Modelling Language for the Internet of Things
ThingML: A Modelling Language for the Internet of Things Franck Fleurey SINTEF franck.fleurey@sintef.no Background: SINTEF has 1400 employees in Trondheim Established in 1950 An Independent Multi-Disciplinary
More informationIntroduction to Dependable Systems: Meta-modeling and modeldriven
Introduction to Dependable Systems: Meta-modeling and modeldriven development http://d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics 3 Software development Automated software
More informationModel Driven Engineering (MDE)
Model Driven Engineering (MDE) Yngve Lamo 1 1 Faculty of Engineering, Bergen University College, Norway 26 April 2011 Ålesund Outline Background Software Engineering History, SE Model Driven Engineering
More informationKermeta Language Overview
Kermeta Language Overview The Triskell Metamodeling Language Franck Chauvel Zoe DreyEngineer eclipse (black belt) Franck Fleurey Abstract This document gives an overview of the KerMeta language developped
More informationGrammars. Prof. Andreas Prinz. Introduction, Compilers. Examples Meta-models vs. Grammars Summary
Meta-models and Grammars Prof. Andreas Prinz Introduction, Compilers Modelling & Meta-modelling Examples Meta-models vs. Grammars Summary Compilers Graphical Editor Parser Text editor Static checks (OCL)
More informationMeta-modeling with OCL & KerMeta
Person -personid : unsigned long -surname : CString -givenname : CString -middleinitial : char -streetaddress : CString -postcode : CString -countryname : CString -emailaddress : CString +Person() +PersonInfo()
More informationThe Eclipse Modeling Framework and MDA Status and Opportunities
The Eclipse Modeling Framework and MDA Status and Opportunities David Frankel Consulting df@davidfrankelconsulting.com www.davidfrankelconsulting.com Portions adapted from the book Model Driven Architecture:
More informationMetamodeling with Metamodels. Using. UML/MOF including OCL
Metamodeling with Metamodels Using UML/MOF including OCL Introducing Metamodels (Wikipedia) A metamodel is a model of a model An instantiation of metamodel gives a model Metamodeling is the process of
More informationModel Transformation Techniques
Transformation Techniques (or: Why I'd like write programs that write programs rather than write programs) Prof. Jean-Marc Jézéquel (Univ. Rennes 1 & INRIA) Triskell Team @ IRISA Campus de Beaulieu F-35042
More informationCompositional Model Based Software Development
Compositional Model Based Software Development Prof. Dr. Bernhard Rumpe http://www.se-rwth.de/ Seite 2 Our Working Groups and Topics Automotive / Robotics Autonomous driving Functional architecture Variability
More informationModel Querying with Graphical Notation of QVT Relations
Model Querying with Graphical Notation of QVT Relations Dan LI, Xiaoshan LI Faculty of Science and Technology, University of Macau Volker Stolz University of Oslo, Norway Agenda! Motivation! QVT Relations
More informationWeaving Executability into Object-Oriented Meta-Languages
Weaving Executability into Object-Oriented Meta-Languages Pierre-Alain Muller, Franck Fleurey, and Jean-Marc Jézéquel IRISA / INRIA Rennes Campus Universitaire de Beaulieu Avenue du Général Leclerc 35042
More informationIntroduction to MDE and Model Transformation
Vlad Acretoaie Department of Applied Mathematics and Computer Science Technical University of Denmark rvac@dtu.dk DTU Course 02291 System Integration Vlad Acretoaie Department of Applied Mathematics and
More informationIntroduction to OpenArchitectureWare
Introduction to OpenArchitectureWare Dr. Neil Loughran Neil.Loughran@sintef.no 20 th April 2009 ICT 1 Objective To give some insights into an alternative model transformation approach i.e. OpenArchitectureWare
More informationDefining Domain-Specific Modeling Languages
Defining Domain-Specific Modeling Languages 1 st Oct 2008 Juha-Pekka Tolvanen MetaCase 1 Relevant language classifications to start with General-Purpose / Domain-Specific Narrow area of interest Often
More informationECLIPSE MODELING PROJECT
ECLIPSE MODELING PROJECT A Domain-Specific Language Toolkit Richard С. Gronback AAddison-Wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Pans Madrid
More informationOutline. A little history. Outline. The Unified Modeling Language Opportunities and Challenges for Formal Methods
Outline The Unified Modeling Language Opportunities and Challenges for Formal Methods An update on UML Language definition Tools A precise OO meta-modeling facility - MMF Stuart Kent University of Kent
More informationMDD with OMG Standards MOF, OCL, QVT & Graph Transformations
1 MDD with OMG Standards MOF, OCL, QVT & Graph Transformations Andy Schürr Darmstadt University of Technology andy. schuerr@es.tu-darmstadt.de 20th Feb. 2007, Trento Outline of Presentation 2 Languages
More informationwith openarchitectureware
Model-Driven Development with openarchitectureware Markus Völter voelter@acm.orgorg www.voelter.de Sven Efftinge sven@efftinge.de www.efftinge.de Bernd Kolb bernd@kolbware.de www.kolbware.de 2006-7 Völter,
More informationModel-Driven Engineering (MDE) Lecture 1: Metamodels and Xtext Regina Hebig, Thorsten Berger
Model-Driven Engineering (MDE) Lecture 1: Metamodels and Xtext Regina Hebig, Thorsten Berger Reuses some material from: Andrzej Wasowski, Model-Driven Development, ITU Copenhagen Where I am from WASP 2017
More informationKermeta tutorial. How to create a metamodel. François Tanguy, Didier Vojtisek. Abstract
Kermeta tutorial How to create a metamodel François Tanguy, Didier Vojtisek Abstract This tutorial is part of a serie of tutorials that explain step by step one of the aspect of Kermeta. This one will
More informationATL: Atlas Transformation Language. ATL User Manual
ATL: Atlas Transformation Language ATL User Manual - version 0.7 - February 2006 by ATLAS group LINA & INRIA Nantes Content 1 Introduction... 1 2 An Introduction to Model Transformation... 2 2.1 The Model-Driven
More informationADT: Eclipse development tools for ATL
ADT: Eclipse development tools for ATL Freddy Allilaire (freddy.allilaire@laposte.net) Tarik Idrissi (tarik.idrissi@laposte.net) Université de Nantes Faculté de Sciences et Techniques LINA (Laboratoire
More informationchallenges in domain-specific modeling raphaël mannadiar august 27, 2009
challenges in domain-specific modeling raphaël mannadiar august 27, 2009 raphaël mannadiar challenges in domain-specific modeling 1/59 outline 1 introduction 2 approaches 3 debugging and simulation 4 differencing
More informationMetamodeling. 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 1
Metamodeling The slides of this lecture are reused from the Model Engineering course at TU Vienna with the kind permission of Prof. Gerti Kappel (head of the Business Informatics Group) 16. April 2012
More informationINF5120 Modellbasert Systemutvikling Modelbased System development
INF5120 Modellbasert Systemutvikling Modelbased System development Lecture 12: 03.04.2017 Arne-Jørgen Berre arneb@ifi.uio.no or Arne.J.Berre@sintef.no Telecom and Informatics 1 Content Introduction to
More informationIt s all Done with Mirrors Patterns and OCL. KMF Kent Modelling Framework D.H.Akehurst and O.Patrascoiu
It s all Done with Mirrors Patterns and OCL KMF Kent Modelling Framework D.H.Akehurst and O.Patrascoiu Goal Model Implementation MDA Goal Meta-Model Specification Tool Code Generation Is a Transformation
More informationModel Transformations for Embedded System Design and Virtual Platforms
1 Model Transformations for Embedded System Design and Virtual Platforms Nikos Matragkas, Ian Gray, Richard Paige, Dimitris Kolovos, Neil Audsley, Leandro Indrusiak Department of Computer Science The University
More informationSoftware Industrialization
Software Industrialization A Perspective on MDA David Frankel Consulting df@davidfrankelconsulting.com www.davidfrankelconsulting.com Portions adapted from the book Model Driven Architecture: Applying
More informationStatic analysis and testing of executable DSL specification
Static analysis and testing of executable DSL specification Qinan Lai 1, Andy Carpenter 1 1 School of Computer Science, the University of Manchester, Manchester, UK {laiq,afc}@cs.man.ac.uk Keywords: Abstract:
More informationComputation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM):
viii Preface The software industry has evolved to tackle new approaches aligned with the Internet, object-orientation, distributed components and new platforms. However, the majority of the large information
More informationDesign and Prototypical Implementation of a Pivot Model as Exchange Format for Models and Metamodels in a QVT/OCL Development Environment
Faculty of Computer Science, Institute for Software- and Multimedia-Technology, Chair for Software Technology Matthias Bräuer Design and Prototypical Implementation of a Pivot Model as Exchange Format
More informationCompiler construction
Compiler construction Martin Steffen March 13, 2017 Contents 1 Abstract 1 1.1 Symbol tables. 1 1.1.1 Introduction 1 1.1.2 Symbol table design and interface.. 2 1.1.3 Implementing symbol tables 3 1.1.4
More informationIngegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML
Ingegneria del Software Corso di Laurea in Informatica per il Management Introduction to UML Davide Rossi Dipartimento di Informatica Università di Bologna Modeling A model is an (abstract) representation
More informationDeveloping Web-Based Applications Using Model Driven Architecture and Domain Specific Languages
Proceedings of the 8 th International Conference on Applied Informatics Eger, Hungary, January 27 30, 2010. Vol. 2. pp. 287 293. Developing Web-Based Applications Using Model Driven Architecture and Domain
More informationModel transformations. Overview of DSLE. Model transformations. Model transformations. The 4-layer architecture
Overview of DSLE Model driven software engineering g in general Grammars, signatures and meta-models DSL Design Code generation Models increase the level of abstraction used for both hardware and software
More informationChristian Doppler Laboratory
Christian Doppler Laboratory Software Engineering Integration For Flexible Automation Systems AutomationML Models (in EMF and EA) for Modelers and Software Developers Emanuel Mätzler Institute of Software
More informationAdvanced Topics in Software Engineering (02265) Ekkart Kindler
Advanced Topics in Software Engineering (02265) Recapitulation (I. Introduction ) 2 Levels of models ClassDiagram is an instance of PetriNet * Object * Class 1 start 1 end * Association concrete syntax
More informationModel Transformation Testing Challenges
Model Transformation Testing Challenges Benoit Baudry 1, Trung Dinh-Trong 2, Jean-Marie Mottu 1, Devon Simmonds 2, Robert France 2, Sudipto Ghosh 2, Franck Fleurey 1, Yves Le Traon 3 1 IRISA, Campus Beaulieu,
More informationLanguage engineering and Domain Specific Languages
Language engineering and Domain Specific Languages Perdita Stevens School of Informatics University of Edinburgh Plan 1. Defining languages 2. General purpose languages vs domain specific languages 3.
More informationAutomation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1
Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1 Dhirubhai Ambani Institute for Information and Communication Technology, Gandhinagar, Gujarat, India Email:
More informationScience of Computer Programming. Aspect-oriented model-driven skeleton code generation: A graph-based transformation approach
Science of Computer Programming 75 (2010) 689 725 Contents lists available at ScienceDirect Science of Computer Programming journal homepage: www.elsevier.com/locate/scico Aspect-oriented model-driven
More informationUML 2.5: Specification Simplification
A division of Data Access Technologies, Inc. UML 2.5: Specification Simplification Presented at the Third Biannual Workshop on Eclipse Open Source Software and OMG Open Specifications Ed Seidewitz Timeline
More informationModellierung operationaler Aspekte von Systemarchitekturen. Master Thesis presentation. October 2005 March Mirko Bleyh - Medieninformatik
Modellierung operationaler Aspekte von Systemarchitekturen Master Thesis presentation October 2005 March 2006 Agenda Goals Model-Driven Software Development Pro-active Infrastructure (PAI) Operational
More informationSoftwaretechnik Model Driven Architecture Meta Modeling
Softwaretechnik Model Driven Architecture Meta Modeling Prof. Dr. Peter Thiemann Universität Freiburg 22.06.2009 PT (Univ. Freiburg) Softwaretechnik Model Driven Architecture Meta Modeling 22.06.2009 1
More informationModel-driven analysis and synthesis of textual concrete syntax
Softw Syst Model DOI 10.1007/s10270-008-0088-x SPECIAL SECTION PAPER Model-driven analysis and synthesis of textual concrete syntax Pierre-Alain Muller Frédéric Fondement Franck Fleurey Michel Hassenforder
More informationProgram generation for schema-based, typed data access
Program generation for schema-based, typed data access Ralf Lämmel Software Engineer Facebook, London Program generation A use case at Facebook Purpose of generation: typed data access ("O/R mapping" et
More informationA Comparison of Ecore and GOPPRR through an Information System Meta Modeling Approach
A Comparison of Ecore and GOPPRR through an Information System Meta Modeling Approach Vladimir Dimitrieski, Milan Čeliković, Vladimir Ivančević and Ivan Luković University of Novi Sad, Faculty of Technical
More informationModel driven Engineering & Model driven Architecture
Model driven Engineering & Model driven Architecture Prof. Dr. Mark van den Brand Software Engineering and Technology Faculteit Wiskunde en Informatica Technische Universiteit Eindhoven Model driven software
More informationMetamodeling. Janos Sztipanovits ISIS, Vanderbilt University
Metamodeling Janos ISIS, Vanderbilt University janos.sztipanovits@vanderbilt.edusztipanovits@vanderbilt edu Content Overview of Metamodeling Abstract Syntax Metamodeling Concepts Metamodeling languages
More informationModel-Level Integration of the OCL Standard Library Using a Pivot Model with Generics Support
Faculty of Computer Science, Institute for Software- and Multimedia-Technology, Chair for Software Technology Matthias Bräuer and Birgit Demuth Model-Level Integration of the Using a Pivot Model with Generics
More informationPlan. Language engineering and Domain Specific Languages. Language designer defines syntax. How to define language
Plan Language engineering and Domain Specific Languages Perdita Stevens School of Informatics University of Edinburgh 1. Defining languages 2. General purpose languages vs domain specific languages 3.
More informationINF5120 Modellbasert Systemutvikling Modelbased System development
INF5120 Modellbasert Systemutvikling Modelbased System development Lecture 7: 25.02.2013 Arne-Jørgen Berre arneb@ifi.uio.no or Arne.J.Berre@sintef.no INF5120 - Lecture plan - 2013 1 (14/1): Introduction
More informationBLU AGE 2009 Edition Agile Model Transformation
BLU AGE 2009 Edition Agile Model Transformation Model Driven Modernization for Legacy Systems 1 2009 NETFECTIVE TECHNOLOGY -ne peut être copiésans BLU AGE Agile Model Transformation Agenda Model transformation
More informationSyntax and Grammars 1 / 21
Syntax and Grammars 1 / 21 Outline What is a language? Abstract syntax and grammars Abstract syntax vs. concrete syntax Encoding grammars as Haskell data types What is a language? 2 / 21 What is a language?
More informationCSSE 490 Model-Based Software Engineering: Introduction to Domain Engineering
CSSE 490 Model-Based Software Engineering: Introduction to Domain Engineering Shawn Bohner Office: Moench Room F212 Phone: (812) 877-8685 Email: bohner@rose-hulman.edu Learning Outcomes: Metamodels Design
More informationTowards Formalizing Domain-specific Modeling Languages. Kai Chen Janos Sztipanovits Sandeep Neema
Towards Formalizing Domain-specific Modeling Languages Kai Chen Janos Sztipanovits Sandeep Neema Outline! DSML overview! Framework for DSML design Syntax definition Semantic domain specification Semantic
More informationThe Unified Modelling Language. Example Diagrams. Notation vs. Methodology. UML and Meta Modelling
UML and Meta ling Topics: UML as an example visual notation The UML meta model and the concept of meta modelling Driven Architecture and model engineering The AndroMDA open source project Applying cognitive
More informationDresden OCL2 in MOFLON
Dresden OCL2 in MOFLON 10 Jahre Dresden-OCL Workshop Felix Klar Felix.Klar@es.tu-darmstadt.de ES Real-Time Systems Lab Prof. Dr. rer. nat. Andy Schürr Dept. of Electrical Engineering and Information Technology
More informationA Formal Foundation Supporting MDD --- ZOOM Approach
A Formal Foundation Supporting MDD --- ZOOM Approach Hongming Liu, Lizhang Qin, Chris Jones, Xiaoping Jia DePaul University School of Computer Science Chicago, IL {jordan, lqin, cjones, xjia@cs.depaul.edu
More informationSequence Diagram Generation with Model Transformation Technology
, March 12-14, 2014, Hong Kong Sequence Diagram Generation with Model Transformation Technology Photchana Sawprakhon, Yachai Limpiyakorn Abstract Creating Sequence diagrams with UML tools can be incomplete,
More informationSmall is Beautiful Building a flexible software factory using small DSLs and Small Models
Small is Beautiful Building a flexible software factory using small DSLs and Small Models Jos Warmer Partner, Ordina jos.warmer@ordina.nl 1 Modeling Maturity Levels MML 0: No specification MML 1: Textual
More informationIndex. business modeling syntax 181 business process modeling 57 business rule 40
OCL.book Page 203 Tuesday, July 22, 2003 9:48 PM Index Symbols OclAny, of 167 = OclAny, of 167 @pre 34, 86, 155 ^ 34, 156 ^^ 157 A abstract syntax 93 accumulator 153 action in statechart 56 activity
More informationINF5120 Modelbased System development
INF5120 Modelbased System development Lecture 12: 16.04.2018 Arne-Jørgen Berre arneb@ifi.uio.no and Arne.J.Berre@sintef.no Telecom and Informatics 1 Course parts (16 lectures) - 2018 Part I-a -(Introduction
More informationDiverSE s Seminar about Software Language Engineering
DiverSE s Seminar about Software Language Engineering May 28 th, 2015 Rennes, France http://people.irisa.fr/benoit.combemale/sleseminar2015 THE DIVERSE TEAM DiverSE s Seminar about SLE - May 28 th, 2015-2
More informationA Metamodel independent approach for Conflict Detection to support distributed development in MDE. Mostafa Pordel A THESIS
A Metamodel independent approach for Conflict Detection to support distributed development in MDE By Mostafa Pordel mpl08001@student.mdh.se A THESIS Submitted in partial fulfillment of requirements for
More informationWhat is Metamodeling and Code Generation All About
Automating Design and Verification of Embedded Systems Using Metamodeling and Code Generation Techniques What is Metamodeling and Code Generation All About Wolfgang Ecker & Michael Velten, Infineon Tutorial
More informationConstruction of Complex UML Profiles
Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040, Spain mmiguel@dit.upm.es!1 Context of this work Profiles Construction The present courseware has been
More informationEclipse Development Tools for Epsilon
Eclipse Development Tools for Epsilon Dimitrios S. Kolovos, Richard F. Paige, and Fiona A.C. Polack Department of Computer Science, University of York, Heslington, York, YO10 5DD, UK. {dkolovos,paige,fiona@cs.york.ac.uk
More information(800) Toll Free (804) Fax Introduction to Java and Enterprise Java using Eclipse IDE Duration: 5 days
Course Description This course introduces the Java programming language and how to develop Java applications using Eclipse 3.0. Students learn the syntax of the Java programming language, object-oriented
More informationModel-Driven Iterative Development of 3D Web-Applications Using SSIML, X3D and JavaScript
Freiberg University of Mining and Technology The University of Resources. Since 1765. WEB3D 2012-17th International Conference on 3D Web Technology Model-Driven Iterative Development of 3D Web-Applications
More informationFrustrated by all the hype?
Fundamentals of Software Architecture Looking beyond the hype Markus Völter (voelter@acm.org) Introduction Frustrated by all the hype? If so this presentation is for you. Otherwise you should leave People
More informationProgrammiersprachen (Programming Languages)
2016-05-13 Preface Programmiersprachen (Programming Languages) coordinates: lecturer: web: usable for: requirements: No. 185.208, VU, 3 ECTS Franz Puntigam http://www.complang.tuwien.ac.at/franz/ps.html
More informationCoral: A Metamodel Kernel for Transformation Engines
Coral: A Metamodel Kernel for Transformation Engines Marcus Alanen and Ivan Porres TUCS Turku Centre for Computer Science Department of Computer Science, Åbo Akademi University Lemminkäisenkatu 14, FIN-20520
More informationUsing Scala for building DSL s
Using Scala for building DSL s Abhijit Sharma Innovation Lab, BMC Software 1 What is a DSL? Domain Specific Language Appropriate abstraction level for domain - uses precise concepts and semantics of domain
More informationHorváth Ákos Bergmann Gábor Dániel Varró István Ráth
Metamodeling and Domain Specific Modeling Horváth Ákos Bergmann Gábor Dániel Varró István Ráth Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Agenda Metamodeling
More informationKermeta. in compiled mode
Kermeta in compiled mode Cyril Faucher IRISA Lab / INRIA Rennes, France Triskell Group Kermeta Day - April 2nd, 2009 1 Outline Motivation Compilation process: Kmt to Java/EMF plugin Need of a model to
More informationReconciling TGGs with QVT
Faculty for Computer Science Software Engineering Group Warburger Straße 100 33098 Paderborn Germany A Study of Model Transformation Technologies: Reconciling TGGs with QVT Diploma Thesis by Joel Greenyer
More informationOCL. Heinrich Hussmann, Birgit Demuth, and Frank Finger. Dresden University of Technology, Department of Computer Science
Modular Architecture for a Toolset Supporting OCL Heinrich Hussmann, Birgit Demuth, and Frank Finger Dresden University of Technology, Department of Computer Science Abstract. The practical application
More informationSCENARIO-BASED REQUIREMENTS MODELLING
SCENARIO-BASED REQUIREMENTS MODELLING A PROGRESS REPORT SUBMITTED TO THE UNIVERSITY OF MANCHESTER IN PARTIAL FULLFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF SCIENCE IN THE FUCALTY OF ENGINEERING
More informationopenarchitectureware 4.1 An introduction
openarchitectureware 4.1 An introduction Markus Voelter, www.voelter.de, openarchitectureware (oaw) is a suite of tools and components assisting with model driven software development, more precisely it
More informationProceedings of the 6th Educators Symposium: Software Modeling in Education at MODELS 2010 (EduSymp 2010)
Electronic Communications of the EASST Volume X (2010) Proceedings of the 6th Educators Symposium: Software Modeling in Education at MODELS 2010 (EduSymp 2010) Teaching Model Driven Language Handling Terje
More informationModel Driven Engineering
Model Driven Engineering Stuart Kent University of Kent Royal Society Industry Fellow with IBM Model Terminology encompasses more than program code design, analysis, specification, business models Driven
More informationOntology Summit2007 Survey Response Analysis. Ken Baclawski Northeastern University
Ontology Summit2007 Survey Response Analysis Ken Baclawski Northeastern University Outline Communities Ontology value, issues, problems, solutions Ontology languages Terms for ontology Ontologies April
More informationCOP4020 Programming Languages. Compilers and Interpreters Robert van Engelen & Chris Lacher
COP4020 ming Languages Compilers and Interpreters Robert van Engelen & Chris Lacher Overview Common compiler and interpreter configurations Virtual machines Integrated development environments Compiler
More informationSemantic Analysis and Type Checking
Semantic Analysis and Type Checking The compilation process is driven by the syntactic structure of the program as discovered by the parser Semantic routines: interpret meaning of the program based on
More informationIntroduction to Software Engineering 10. Software Architecture
Introduction to Software Engineering 10. Software Architecture Roadmap > What is Software Architecture? > Coupling and Cohesion > Architectural styles: Layered Client-Server Blackboard, Dataflow,... >
More informationA Proposed Engine Implementation Mechanism to Execute the Code of Relations Query/View/Transformation Language
APN Journal of Systems and Software A Proposed Engine Implementation Mechanism to Execute the Code of elations Query/View/Transformation Language Mohammed Abdalla Osman Mukhtar, Mohd Fadzil B. Hassan,
More informationOrccad, a Model Driven Architecture and Environment for Real-Time Control. Soraya Arias Florine Boudin Roger Pissard-Gibollet Daniel Simon
1 Orccad, a Model Driven Architecture and Environment for Real-Time Control Soraya Arias Florine Boudin Roger Pissard-Gibollet Daniel Simon 2 Orccad : status and motivations Model: Control design oriented
More informationAll you need are models Anneke Kleppe, Klasse Objecten
Model Driven Architecture All you need are models Anneke Kleppe, Klasse Objecten Contents Limited Vision on MDA Modeling Maturity Levels Models Model Driven Development Model Driven Architecture MDA in
More informationTransition from EBNF to Xtext
Transition from EBNF to Xtext Jianan Yue State Key Laboratory for Novel Software Technology, Nanjing University Department of Computer Science & Technology, Nanjing University 210023 Nanjing, China b111220168@smail.nju.edu.cn
More informationFrom Object Composition to Model Transformation with the MDA
From Object Composition to Transformation with the MDA Jean Bézivin University of Nantes 2, rue de la Houssinière, BP 92208 44322 Nantes cedex 3, France Jean.Bezivin@sciences.univ-nantes.fr Abstract The
More informationUSING ABSTRACT STATE MACHINES TO SUPPORT UML MODEL INSTANTIATION CHECKING
USING ABSTRACT STATE MACHINES TO SUPPORT UML MODEL INSTANTIATION CHECKING Wuwei Shen Department of Computer Science Western Michigan University Kalamazoo, MI 49008, USA email: wwshen@cs.wmich.edu Weng
More informationSoftware Engineering: A Practitioner s s Approach, 6/e Roger Pressman. Chapter 28 Formal Methods
Software Engineering: A Practitioner s s Approach, 6/e Roger Pressman Chapter 28 Formal Methods 1 Problems with Conventional Specification contradictions ambiguities vagueness incompleteness mixed levels
More informationROLE OF OCL AND ITS SUPPORTING TOOLS IN REQUIREMENT SPECIFICATION
ROLE OF OCL AND ITS SUPPORTING TOOLS IN REQUIREMENT SPECIFICATION A thesis submitted in partial fulfillment of the requirements for the award of degree of Master of Engineering in Software Engineering
More informationComputer Science at Kent
Computer Science at Kent YATL: Yet Another Transformation Language - Reference Manual Version 1.0 Octavian Patrascoiu Technical Report No. 2-04 March 2004 Copyright 2004 University of Kent at Canterbury
More informationNew Programming Paradigms
New Programming Paradigms Lecturer: Pánovics János (google the name for further details) Requirements: For signature: classroom work and a 15-minute presentation Exam: written exam (mainly concepts and
More informationOMG Modeling Glossary B
OMG Modeling Glossary B This glossary defines the terms that are used to describe the Unified Modeling Language (UML) and the Meta Object Facility (MOF). In addition to UML and MOF specific terminology,
More informationSemantic Web Domain Knowledge Representation Using Software Engineering Modeling Technique
Semantic Web Domain Knowledge Representation Using Software Engineering Modeling Technique Minal Bhise DAIICT, Gandhinagar, Gujarat, India 382007 minal_bhise@daiict.ac.in Abstract. The semantic web offers
More information