Organization of DSLE part. Overview of DSLE. Model driven software engineering. Engineering. Tooling. Topics:

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "Organization of DSLE part. Overview of DSLE. Model driven software engineering. Engineering. Tooling. Topics:"

Transcription

1 Organization of DSLE part Domain Specific Language Engineering Tooling Eclipse plus EMF Xtext, Xtend, Xpand, QVTo and ATL Prof.dr. Mark van den Brand GLT 2010/11 Topics: Meta-modeling Model transformations Domain specific language design and engineering Textual / Faculteit Wiskunde en Informatica PAGE 1 Overview of DSLE g in general DSL Design Model transformations Code generation Models are used everywhere / Faculteit Wiskunde en Informatica PAGE 2 / Faculteit Wiskunde en Informatica PAGE 3

2 Models are abstractions of real life objects Models increase the level of abstraction used for both hardware and software design often manually translated into design documents and code no guarantee for consistency between model, design and resulting code / Faculteit Wiskunde en Informatica PAGE 4 / Faculteit Wiskunde en Informatica PAGE 5 Whole range of modeling languages g are developed over the years: data oriented, e.g., E/R models, class diagrams behaviour oriented, e.g., use cases, state t machines, sequence diagrams, activity diagrams architecture oriented, e.g., package diagrams, component diagrams Standardization initiative of OMG: Unified Modeling Language UML is unified: Class diagrams Object diagrams Use cases State machine diagrams Sequence diagrams Activity diagrams Component diagrams etc. UML is too universal / Faculteit Wiskunde en Informatica PAGE 6 / Faculteit Wiskunde en Informatica PAGE 7

3 Criticism on UML: It contains many diagrams and constructs that are redundant or infrequently used. Problems in learning and adopting. Linguistic incoherence. Capabilities of UML and implementation language Dysfunctional interchange format. UML is too universal : a general purpose modeling language Domain specific extension via: Profile diagram operates at tthe meta model llevel lto show stereotypes as classes with the <<stereotype>> stereotype, and profiles as packages with the <<profile>> stereotype Meta modeling / Faculteit Wiskunde en Informatica PAGE 8 / Faculteit Wiskunde en Informatica PAGE 9 Meta-Object Facility (MOF) is a four-layered architecture: M3 Meta-Meta-Model Layer defines structure of the meta-metadata it provides a meta-meta model at the top layer M2 Meta-Model M Layer defines the structure of the metadata the M3-model is used to build meta models the most prominent example is the UML meta model, the model that describes the UML itself M1 Model Layer describes the data in the information layer the M2-models describe elements of the M1-layer For example, models written in UML M0 Model Layer describes objects or data in the information layer / Faculteit Wiskunde en Informatica PAGE 10 / Faculteit Wiskunde en Informatica PAGE 11

4 Meta-Object Facility (MOF) is the OMG standard no implementation EMF is the Eclipse implementation of MOF EMF Model Definition What is an EMF model? Specification of an application s data Object attributes Relationships (associations) between objects Operations available on each object Simple constraints (e.g., multiplicity) on objects and relationships Essentially the Class Diagram subset of UML / Faculteit Wiskunde en Informatica PAGE 12 / Faculteit Wiskunde en Informatica PAGE 13 What does EMF provide Meta-model A general model of models from which any model can be defined Models classes, attributes, relationships, data types, etc. Referred to as Ecore Ecore is just another EMF model EMF is used to implement EMF! Tooling support within the Eclipse framework Runtime environment Reflective and dynamic model invocation XML/XMI default model serialization EMF is middle ground in the modeling vs. programming world Focus is on class diagram subset of UML modeling (object model) Transforms models into efficient, correct, and easily customizable Java code Provides the infrastructure to use models effectively in your code Very low cost of entry Full scale graphical modeling tool not required EMF is free Small subset of UML / Faculteit Wiskunde en Informatica PAGE 14 / Faculteit Wiskunde en Informatica PAGE 15

5 EMF Components EMF Core Ecore meta model Model change notification Persistence and serialization Reflection API Runtime support for generated models Change model and recorder Validation framework EMF Edit Helps integrate models with a rich user interface Used to build editors and viewers for your model Includes default reflective model editor EMF Codegen Code generator for core and edit based components Model importers from Rose, XML, or Java interfaces Simplified Ecore meta-modelmodel EClass models classes themselves identified by name number of attributes number of reference EAttribute models attributes identified by name has a type EDataType represents simple types / Faculteit Wiskunde en Informatica PAGE 16 / Faculteit Wiskunde en Informatica PAGE 17 Simplified Ecore meta-model model EReference models associations between classes identified by name has a type which must be an EClass containment attribute indicating whether the EReference is used as whole- part relationship Classes, abstract classes and interfaces Attributes and Operations / Faculteit Wiskunde en Informatica PAGE 18 / Faculteit Wiskunde en Informatica PAGE 19

6 Creation of abstract class Associations in the meta-model: One way association Bidirectional association / Faculteit Wiskunde en Informatica PAGE 20 / Faculteit Wiskunde en Informatica PAGE 21 Associations in the meta-model: Containment association EMF is suited for modeling domain specific languages Inherit association / Faculteit Wiskunde en Informatica PAGE 22 / Faculteit Wiskunde en Informatica PAGE 23

7 What is a Domain Specific Language g (DSL)? A DSL is a formal, procesable language targeting at a specific aspect of a system Its semantics, flexibility and notation is designed in order to support working with that aspect as good as possible How do we design a Domain Specific Language? g Establish needed language concepts domain specific abstract t corresponding semantics Graphical vs textual tua representation ese Develop tooling / Faculteit Wiskunde en Informatica PAGE 24 / Faculteit Wiskunde en Informatica PAGE 25 Example of a Domain Specific Language g Specifying and Implementing the Controllers of Conveyor Belts We defined a domain specific language g (DSL) for modeling communicating systems Stepwise refinement to adapt the characteristics of the communication channels to the Lego Mindstorms platform State machine based combination of: graphical models and textual models conditional message exchange plus activities plus activities No data yet No timing yet / Faculteit Wiskunde en Informatica PAGE 26

8 Requirements for a DSL: Unambiguous syntax Unambiguous semantics Unambiguous transformability Strongly-typed and deterministic IO Encapsulation at Expressiveness Readability Overview of workshop g in general DSL Design Model transformations Code generation Definition of a (programming) g) language g involves: abstract syntax, so-called signature concrete syntax: textual syntax graphical syntax semantics: static semantics dynamic semantics / Faculteit Wiskunde en Informatica PAGE 30 / Faculteit Wiskunde en Informatica PAGE 31

9 Meta-Meta-Model Grammar world world The 4-layer architecture M3 Meta-Meta-Model (E)BNF/SDF grammar Layer defines structure of the meta-metadata (E)BNF in (E)BNF M2 Java Meta-Model grammar Layer defines the structure of Java the metadata in (E)BNF M1 Java Model program Layer describes the manipulation data in the information (algorithm) layer of objects in the object M0 layer Information Layer M0 data Object we wish layer to describe Objects we wish to manipulate Abstract syntax: defines basic structure of the language (skeleton) is starting point for defining: concrete syntax static semantics dynamic semantics / Faculteit Wiskunde en Informatica PAGE 32 / Faculteit Wiskunde en Informatica PAGE 33 Abstract syntax is a collection of constructors/- functions No information about keywords, priorities, iti associativities, etc. Abstract syntax definition of Booleans: true () -> BoolCon false () -> BoolCon con (BoolCon) -> Bool and (Bool, Bool) -> Bool or (Bool, Bool) -> Bool not (Bool) -> Bool constructor nonterminal Definition of a (programming) language involves: lexical syntax, so-called tokens: identifiers, numbers, strings, if, then, class (keywords) context-free syntax, so-called production rules: Statement ::= if Expression then Statements else Statements fi static semantics: identification and scope resolution type checking dynamic semantics: operational semantics interpretation compilation / Faculteit Wiskunde en Informatica PAGE 34 / Faculteit Wiskunde en Informatica PAGE 35

10 There is no standardized way of defining abstract syntax SSL (specification formalism of the Synthesizer Generator) Signature-like (Meta-modeling) SSL (grammar specification formalism of the Synthesizer Generator) describes it as follows: A collection of rules that define phyla and operators A phylum is a nonempty set of terms A term is the application of a k-ary operator to k terms of the appropriate phylum A k-ary operator is a constructor function mapping k terms to a term A phylum can be considered a nonterminal phyl 0 : op(phyl 1 phyl 2 phyl k ) / Faculteit Wiskunde en Informatica PAGE 36 / Faculteit Wiskunde en Informatica PAGE 37 SSL notation of the definition of the abstract syntax of Booleans: boolcon : True() False() bool : Con(boolcon) And(bool bool) Or(bool bool) Signature describes it as follows: A collection of functions that define sorts and operators A sort represents a nonempty set of terms A term is the application of a k-ary operator to k terms of the appropriate sort A k-ary operator is a constructor function mapping k terms to aterm A sort can be considered a nonterminal op(sort( 1, sort 2,, sort k ) sort 0 / Faculteit Wiskunde en Informatica PAGE 38 / Faculteit Wiskunde en Informatica PAGE 39

11 Signature notation of the definition of the abstract syntax of Booleans: true () -> BoolCon false () -> BoolCon con (BoolCon) -> Bool and (Bool, Bool) -> Bool or (Bool, Bool) -> Bool not (Bool) -> Bool Meta-modeling is the analysis, construction and development of the frames, rules, constraints, models and theories applicable and useful for modeling a predefined class of problems. Relation between meta-models and grammars? Is every meta-model a context-free grammar? Is every context-free grammar a meta-model? / Faculteit Wiskunde en Informatica PAGE 40 / Faculteit Wiskunde en Informatica PAGE 41 Models and meta-models: Warmer et.al.: A model is a description of (part of) a system written in a welldefined language A meta-model is a model that defines the language for expressing a model A meta-model is the collection of concepts (things, terms, etc.) within a certain domain and an attempt at describing the world around us for a particular purpose. Meta-models are also referred to as a precise definition of the constructs and rules needed for creating semantic models. The meta-model of a language, also known as abstract syntax, is a description of all the concepts that can be used in that language. Syntax Grammar Program Meta-model MDE Model Schema DBMS Schema XML Document Data / Faculteit Wiskunde en Informatica PAGE 42 / Faculteit Wiskunde en Informatica PAGE 43

12 First alternative meta-model for Booleans: Every operator (not, or, and) is modeled as a separate class Constructors (true, false) are modeled as enumeration Second alternative at e meta-model for Booleans: Binary operator is modeled as a separate class Unary operator is modeled as a separate class Operators are modeled as enumerations Constructors (true, false) are modeled as enumeration First alternative for Boolean meta-model Signature: true () -> BoolCon false () -> BoolCon BoolCon -> Bool AndBool -> Bool OrBool -> Bool NotBool -> Bool and (Bool, Bool) -> AndBool or (Bool (Bool, Bool) -> OrBool not (Bool) -> NotBool / Faculteit Wiskunde en Informatica PAGE 44 / Faculteit Wiskunde en Informatica PAGE 45 First alternative for Boolean meta-model First alternative for Boolean meta-model / Faculteit Wiskunde en Informatica PAGE 46 / Faculteit Wiskunde en Informatica PAGE 47

13 Second alternative for Boolean meta-model Signature: true () -> BoolCon false () -> BoolCon BoolCon -> Bool BinaryBool -> Bool UnaryBool -> Bool bin (BinaryOp, Bool, Bool) -> BinaryBool una (UnaryOp, Bool, Bool) -> UnaryBool not () -> UnaryOp and () -> BinaryOp or () -> BinaryOp Second alternative for Boolean meta-model / Faculteit Wiskunde en Informatica PAGE 48 / Faculteit Wiskunde en Informatica PAGE 49 Second alternative for Boolean meta-model / Faculteit Wiskunde en Informatica PAGE 50

Introduction à EMF Eclipse Modeling Framework

Introduction à EMF Eclipse Modeling Framework Ingénierie Dirigée par les Modèles Introduction à Eclipse Modeling Framework Pierre Laforcade Master EIAH 2007 Sources du cours Tutoriaux et cours d' disponibles sur http://www.eclipse.org/modeling/emf/

More information

MDE Basics with a DSL Focus

MDE Basics with a DSL Focus MDE Basics with a DSL Focus Suzana Andova, Mark G.J. van den Brand, Luc J.P. Engelen, and Tom Verhoeff Eindhoven University of Technology, Den Dolech 2, NL-5612 AZ Eindhoven {s.andova,m.g.j.v.d.brand,l.j.p.engelen,t.verhoeff}@tue.nl

More information

Textual Modeling Languages

Textual Modeling Languages Textual Modeling Languages Slides 4-31 and 38-40 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

More information

Eindhoven University of Technology

Eindhoven University of Technology Eindhoven University of Technology Department of Mathematics and Computer Science Software Engineering and Technology Group Master Thesis mlbnf A Syntax Formalism for Domain Specific Languages M.W. Manders

More information

Model-Driven Development - From Frontend to Code

Model-Driven Development - From Frontend to Code Model-Driven Development - From Frontend to Code Sven Efftinge sven@efftinge.de www.efftinge.de Bernd Kolb bernd@kolbware.de www.kolbware.de Markus Völter voelter@acm.org www.voelter.de -1- Model Driven

More information

Co-Creation of Models and Metamodels for Enterprise. Architecture Projects.

Co-Creation of Models and Metamodels for Enterprise. Architecture Projects. Co-Creation of Models and Metamodels for Enterprise Architecture Projects Paola Gómez pa.gomez398@uniandes.edu.co Hector Florez ha.florez39@uniandes.edu.co ABSTRACT The linguistic conformance and the ontological

More information

Design of Visual Repository, Constraint and Process Modeling Tool based on Eclipse Plug-ins

Design of Visual Repository, Constraint and Process Modeling Tool based on Eclipse Plug-ins Design of Visual Repository, Constraint and Process Modeling Tool based on Eclipse Plug-ins Rushiraj Heshi Department of Computer Science and Engineering Walchand College of Engineering, Sangli Smriti

More information

NetBeans Metadata Repository

NetBeans Metadata Repository NetBeans Metadata Repository Martin Matula (martin.matula@sun.com) 3/3/2003 This document gives an overview of the NetBeans Metadata Repository (MDR) and provides basic information regarding related standards.

More information

A Common Metamodel for Code Generation

A Common Metamodel for Code Generation A Common Metamodel for Code Generation Michael PIEFEL Institut für Informatik, Humboldt-Universität zu Berlin Unter den Linden 6, 10099 Berlin, Germany piefel@informatik.hu-berlin.de ABSTRACT Models can

More information

Development of Tool Extensions with MOFLON

Development of Tool Extensions with MOFLON Development of Tool Extensions with MOFLON Ingo Weisemöller, Felix Klar, and Andy Schürr Fachgebiet Echtzeitsysteme Technische Universität Darmstadt D-64283 Darmstadt, Germany {weisemoeller klar schuerr}@es.tu-darmstadt.de

More information

VICCI. The Eclipse Modeling Framework (EMF) A Practical Introduction and Technology Overview. Dipl.-Inf. Christoph Seidl

VICCI. The Eclipse Modeling Framework (EMF) A Practical Introduction and Technology Overview. Dipl.-Inf. Christoph Seidl VICCI Visual and Interactive Cyber-Physical Systems Control and Integration The Eclipse Modeling Framework (EMF) A Practical Introduction and Technology Overview Dipl.-Inf. Christoph Seidl Overview of

More information

Implementing reusable software components for SNOMED CT diagram and expression concept representations

Implementing reusable software components for SNOMED CT diagram and expression concept representations 1028 e-health For Continuity of Care C. Lovis et al. (Eds.) 2014 European Federation for Medical Informatics and IOS Press. This article is published online with Open Access by IOS Press and distributed

More information

Bridging the Generic Modeling Environment (GME) and the Eclipse Modeling Framework (EMF)

Bridging the Generic Modeling Environment (GME) and the Eclipse Modeling Framework (EMF) Bridging the Generic ing Environment () and the Eclipse ing Framework (EMF) Jean Bézivin (), Christian Brunette (2), Régis Chevrel (), Frédéric Jouault (), Ivan Kurtev () () ATLAS Group (INRIA & LINA,

More information

Overview. Stakes. Context. Model-Based Development of Safety-Critical Systems

Overview. Stakes. Context. Model-Based Development of Safety-Critical Systems 1 2 Model-Based Development of -Critical Systems Miguel A. de Miguel 5/6,, 2006 modeling Stakes 3 Context 4 To increase the industrial competitiveness in the domain of software systems To face the growing

More information

Towards a Common Metamodel for the Development of Web Applications

Towards a Common Metamodel for the Development of Web Applications Towards a Common Metamodel for the Development of Web Applications Nora Koch and Andreas Kraus Ludwig-Maximilians-Universität Munich, Germany Motivation Overwhelming diversity of Web methodologies Goal:

More information

Model Driven Interoperability through Semantic Annotations using SoaML and ODM

Model Driven Interoperability through Semantic Annotations using SoaML and ODM Model Driven Interoperability through Semantic Annotations using SoaML and ODM JiuCheng Xu*, ZhaoYang Bai*, Arne J.Berre*, Odd Christer Brovig** *SINTEF, Pb. 124 Blindern, NO-0314 Oslo, Norway (e-mail:

More information

Java (12 Weeks) Introduction to Java Programming Language

Java (12 Weeks) Introduction to Java Programming Language Java (12 Weeks) Topic Lecture No. Introduction to Java Programming Language 1 An Introduction to Java o Java as a Programming Platform, The Java "White Paper" Buzzwords, Java and the Internet, A Short

More information

Designing a Semantic Repository

Designing a Semantic Repository Designing a Semantic Repository Integrating architectures for reuse and integration Overview Cory Casanave Cory-c (at) modeldriven.org ModelDriven.org May 2007 The Semantic Metadata infrastructure will

More information

SEARCH The National Consortium for Justice Information and Statistics. Model-driven Development of NIEM Information Exchange Package Documentation

SEARCH The National Consortium for Justice Information and Statistics. Model-driven Development of NIEM Information Exchange Package Documentation Technical Brief April 2011 The National Consortium for Justice Information and Statistics Model-driven Development of NIEM Information Exchange Package Documentation By Andrew Owen and Scott Came Since

More information

Challenges in bootstrapping a model-driven way of software development

Challenges in bootstrapping a model-driven way of software development Challenges in bootstrapping a model-driven way of software development Dennis Wagelaar Vrije Universiteit Brussel, Pleinlaan 2, 1050 Brussels, Belgium dennis.wagelaar@vub.ac.be Abstract. Current MDE technologies

More information

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements Questions? Assignment Why is proper project management important? What is goal of domain analysis? What is the difference between functional and non- functional requirements? Why is it important for requirements

More information

Common Warehouse Metamodel (CWM): Extending UML for Data Warehousing and Business Intelligence

Common Warehouse Metamodel (CWM): Extending UML for Data Warehousing and Business Intelligence Common Warehouse Metamodel (CWM): Extending UML for Data Warehousing and Business Intelligence OMG First Workshop on UML in the.com Enterprise: Modeling CORBA, Components, XML/XMI and Metadata November

More information

A Tool Suite for the Generation and Validation of Configurations for Software Availability

A Tool Suite for the Generation and Validation of Configurations for Software Availability A Tool Suite for the Generation and Validation of Configurations for Software Availability A. Gherbi 1, A. Kanso 1, F. Khendek 1, M. Toeroe 2 and A. Hamou-Lhadj 1 1 Concordia University, Montréal, Canada

More information

Comparison of Model-Driven Architecture and Software Factories in the Context of Model-Driven Development

Comparison of Model-Driven Architecture and Software Factories in the Context of Model-Driven Development Comparison of Model-Driven Architecture and Software Factories in the Context of Model-Driven Development Ahmet Demir Technische Universität München Department of Informatics Munich, Germany AhmetDemir@gmx.de

More information

What is a metamodel: the OMG s metamodeling infrastructure

What is a metamodel: the OMG s metamodeling infrastructure Modeling and metamodeling in Model Driven Development Warsaw, May 14-15th 2009 Gonzalo Génova ggenova@inf.uc3m.es http://www.kr.inf.uc3m.es/ggenova/ Knowledge Reuse Group Universidad Carlos III de Madrid

More information

DSL Design. Model Transformations. Model Transformations. Language g Implementation Strategies

DSL Design. Model Transformations. Model Transformations. Language g Implementation Strategies DSL Design Generic Language g Technology 2IS15 Model Transformations Language g Implementation Strategies Stand-alone Marcel van Amstel Embedding Translation / Software Engineering and Technology 9-1-2012

More information

Integration of Microsoft Visio and Eclipse Modeling Framework Using M3-Level-Based Bridges

Integration of Microsoft Visio and Eclipse Modeling Framework Using M3-Level-Based Bridges Integration of Microsoft Visio and Eclipse Modeling Framework Using M3-Level-Based Bridges Heiko Kern and Stefan Kühne Business Information Systems, University of Leipzig Johannisgasse 26, 04103 Leipzig,

More information

Requirements Exchange: From Specification Documents to Models

Requirements Exchange: From Specification Documents to Models Requirements Exchange: From Specification Documents to Models Morayo ADEDJOUMA, Hubert DUBOIS, François TERRIER Ansgar RADERMACHER UML&AADL 2011-27 April 2011, Las Vegas Agenda Big picture Challenge Technologies

More information

The ADOxx Metamodelling Platform Workshop "Methods as Plug-Ins for Meta-Modelling" in conjunction with "Modellierung 2010", Klagenfurt

The ADOxx Metamodelling Platform Workshop Methods as Plug-Ins for Meta-Modelling in conjunction with Modellierung 2010, Klagenfurt The ADOxx Metamodelling Platform Workshop "Methods as Plug-Ins for Meta-Modelling" in conjunction with "Modellierung 2010", Klagenfurt Dr. Harald Kühn 24.03.2010 Agenda 1 Overview 2 Deployment and Integration

More information

Today. Generic Language g Technology (2IS15)

Today. Generic Language g Technology (2IS15) Today Generic Lanuae Technoloy (2IS15) Domain Specific Lanuae Desin Prof.dr. Mark van den Brand Tools for software analysis and manipulation Prorammin lanuae independent (parametric) The story is from

More information

Generating Aspect Code from UML Models

Generating Aspect Code from UML Models Generating Aspect Code from UML Models Iris Groher Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich, Germany Iris.Groher@fh-hagenberg.at Stefan Schulze Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich,

More information

Mapping between Levels in the Metamodel Architecture

Mapping between Levels in the Metamodel Architecture Mapping between Levels in the Metamodel Architecture José Álvarez, Andy Evans 2, Paul Sammut 2 Dpto. de Lenguajes y Ciencias de la Computación, University Málaga, Málaga, 2907, Spain alvarezp@lcc.uma.es

More information

Author: Daniël van t Oever

Author: Daniël van t Oever Thesis for the masters degree Computer Science. Department of Computer Science, University of Twente, the Netherlands Author: Daniël van t Oever Title: CoNSoLe: A Domain Specific Language for Network Services

More information

Metamodels and Modeling Multiple Kinds of Information Systems

Metamodels and Modeling Multiple Kinds of Information Systems Metamodels and Modeling Multiple Kinds of Information Systems Randall M. Hauch Chief Architect presented at MDA, SOA and Web Services: Delivering the Integrated Enterprise Practice, not Promise MetaMatrix

More information

Roles in Software Development using Domain Specific Modelling Languages

Roles in Software Development using Domain Specific Modelling Languages Roles in Software Development using Domain Specific Modelling Languages Holger Krahn Bernhard Rumpe Steven Völkel Institute for Software Systems Engineering Technische Universität Braunschweig, Braunschweig,

More information

Automatic generation of fully-executable code from the Domain tier of UML diagrams

Automatic generation of fully-executable code from the Domain tier of UML diagrams Abstract. Automatic generation of fully-executable code from the Domain tier of UML diagrams Macario Polo, Agustín Mayoral, Juan Ángel Gómez and Mario Piattini Alarcos Group - Department of Computer Science

More information

Modeling Turnpike: a Model-Driven Framework for Domain-Specific Software Development *

Modeling Turnpike: a Model-Driven Framework for Domain-Specific Software Development * for Domain-Specific Software Development * Hiroshi Wada Advisor: Junichi Suzuki Department of Computer Science University of Massachusetts, Boston hiroshi_wada@otij.org and jxs@cs.umb.edu Abstract. This

More information

Integration of Application Business Logic and Business Rules with DSL and AOP

Integration of Application Business Logic and Business Rules with DSL and AOP e-informatica Software Engineering Journal, Volume 4, Issue, 200 Integration of Application Business Logic and Business Rules with DSL and AOP Bogumiła Hnatkowska, Krzysztof Kasprzyk Faculty of Computer

More information

Object oriented design process

Object oriented design process Unit IV Design Object oriented design process 1.Apply design axioms to design classes 1.1 Refine and complete the static UML class diagram 1.2 Iterate and refine again 2. Design the access layer 2.1 create

More information

JastEMF: Reference Attribute Grammars for EMF-based DSLs

JastEMF: Reference Attribute Grammars for EMF-based DSLs Fakultät Informatik Institut Software- und Multimediatechnik, Lehrstuhl Softwaretechnologie JastEMF: Reference Attribute Grammars for EMF-based DSLs Sven Karol, Christoff Bürger ACSE 17.12.2012 What s

More information

Enterprise Application Development Using UML, Java Technology and XML

Enterprise Application Development Using UML, Java Technology and XML Enterprise Application Development Using UML, Java Technology and XML Will Howery CTO Passage Software LLC 1 Introduction Effective management and modeling of enterprise applications Web and business-to-business

More information

Course 4 27 October 2014. Adrian Iftene adiftene@info.uaic.ro

Course 4 27 October 2014. Adrian Iftene adiftene@info.uaic.ro Course 4 27 October 2014 Adrian Iftene adiftene@info.uaic.ro They will not be considered in the maximum values of the laboratory The presentation of the context and of these solutions in the course can

More information

Tool Support for Model Checking of Web application designs *

Tool Support for Model Checking of Web application designs * Tool Support for Model Checking of Web application designs * Marco Brambilla 1, Jordi Cabot 2 and Nathalie Moreno 3 1 Dipartimento di Elettronica e Informazione, Politecnico di Milano Piazza L. Da Vinci,

More information

COCOVILA Compiler-Compiler for Visual Languages

COCOVILA Compiler-Compiler for Visual Languages LDTA 2005 Preliminary Version COCOVILA Compiler-Compiler for Visual Languages Pavel Grigorenko, Ando Saabas and Enn Tyugu 1 Institute of Cybernetics, Tallinn University of Technology Akadeemia tee 21 12618

More information

Structure of Presentation. The Role of Programming in Informatics Curricula. Concepts of Informatics 2. Concepts of Informatics 1

Structure of Presentation. The Role of Programming in Informatics Curricula. Concepts of Informatics 2. Concepts of Informatics 1 The Role of Programming in Informatics Curricula A. J. Cowling Department of Computer Science University of Sheffield Structure of Presentation Introduction The problem, and the key concepts. Dimensions

More information

Konzept und Implementierung einer Sprache zur. Model-to-Model Transformation

Konzept und Implementierung einer Sprache zur. Model-to-Model Transformation Gottfried Wilhelm Leibniz University Hannover Faculty of Electrical Engineering and Computer Science Institute of Practical Computer Science Software Engineering Group Konzept und Implementierung einer

More information

Recent Advances in Eclipse QVTO!

Recent Advances in Eclipse QVTO! !! National Aeronautics and Recent Advances in Eclipse QVTO! Nicolas Rouquette Principal Computer Scientist, Systems and Software Division 2012. Government sponsorship acknowledged. Outline! A Condensed

More information

Java Generation from UML Models specified with Alf Annotations

Java Generation from UML Models specified with Alf Annotations Université de Franche-Comté Supervisers : Fabien Peureux, Isabelle Jacques Java Generation from UML Models specified with Alf Annotations Supervised project report Alexandre Vernotte Jean-Marie Gauthier

More information

Automatic generation of optimal business processes from business rules

Automatic generation of optimal business processes from business rules Automatic generation of optimal business processes from business rules Bas Steen, Luís Ferreira Pires and Maria-Eugenia Iacob Centre for Telematics and Information Technology University of Twente Enschede,

More information

Programmers rejoice: QML makes business people understand. Qt Developer Days 2014 Hinrich Specht 2. September 2014 Folie 1

Programmers rejoice: QML makes business people understand. Qt Developer Days 2014 Hinrich Specht 2. September 2014 Folie 1 Programmers rejoice: QML makes business people understand Qt Developer Days 2014 Hinrich Specht 2. September 2014 Folie 1 About me My company What I do at work Where I live What is it all about? Agenda

More information

Dr. Jana Koehler IBM Zurich Research Laboratory

Dr. Jana Koehler IBM Zurich Research Laboratory Precise Modeling of Business Processes with the Business Process Modeling Notation BPMN 2.0 Dr. Jana Koehler IBM Zurich Research Laboratory ZRL BIT at a Glance Computer Science at ZRL: Security/Cryptography

More information

A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT

A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT Cléver Ricardo Guareis de Farias, Marten van Sinderen and Luís Ferreira Pires Centre for Telematics and Information Technology (CTIT) PO Box

More information

A Model-Driven Approach for the Development of an IDE for Spacecraft On-Board Software

A Model-Driven Approach for the Development of an IDE for Spacecraft On-Board Software A Model-Driven Approach for the Development of an IDE for Spacecraft On-Board Software Luigi Pomante Sante Candia Emilio Incerto Università degli Studi dell Aquila Center of Excellence DEWS - ITALY luigi.pomante@univaq.it

More information

A SoC design flow based on UML 2.0 and SystemC

A SoC design flow based on UML 2.0 and SystemC A SoC design flow based on UML 2.0 and SystemC Sara Bocchio 1, Elvinia Riccobene 2, Alberto Rosti 1, and Patrizia Scandurra 3 1 STMicroelectronics, AST Agrate Lab R&I, Italy {sara.bocchio, alberto.rosti}@st.com

More information

Towards Flexible Business Process Modeling and Implementation: Combining Domain Specific Modeling Languages and Pattern-based Transformations

Towards Flexible Business Process Modeling and Implementation: Combining Domain Specific Modeling Languages and Pattern-based Transformations Towards Flexible Business Process Modeling and Implementation: Combining Domain Specific Modeling Languages and Pattern-based Transformations Steen Brahe 1 and Behzad Bordbar 2 1 Danske Bank and IT University

More information

Analysis of the Specifics for a Business Rules Engine Based Projects

Analysis of the Specifics for a Business Rules Engine Based Projects Analysis of the Specifics for a Business Rules Engine Based Projects By Dmitri Ilkaev and Dan Meenan Introduction In recent years business rules engines (BRE) have become a key component in almost every

More information

All you need are models Anneke Kleppe, Klasse Objecten

All 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 information

Automatic Test Data Generation for TTCN-3 using CTE

Automatic Test Data Generation for TTCN-3 using CTE Automatic Test Data Generation for TTCN-3 using CTE Zhen Ru Dai, Peter H. Deussen, Maik Busch, Laurette Pianta Lacmene, Titus Ngwangwen FraunhoferInstitute for Open Communication Systems (FOKUS) Kaiserin-Augusta-Allee

More information

Data Modeling Basics

Data Modeling Basics Information Technology Standard Commonwealth of Pennsylvania Governor's Office of Administration/Office for Information Technology STD Number: STD-INF003B STD Title: Data Modeling Basics Issued by: Deputy

More information

Course: Introduction to Java Using Eclipse Training

Course: Introduction to Java Using Eclipse Training Course: Introduction to Java Using Eclipse Training Course Length: Duration: 5 days Course Code: WA1278 DESCRIPTION: This course introduces the Java programming language and how to develop Java applications

More information

Generating Enterprise Applications from Models

Generating Enterprise Applications from Models Generating Enterprise Applications from Models Vinay Kulkarni, R Venkatesh, Sreedhar Reddy Tata Research Development and Design Centre, 54, Industrial estate, Hadapsar, Pune, 411 013, INDIA { vinayk, rvenky,

More information

Introduction to programming

Introduction to programming Unit 1 Introduction to programming Summary Architecture of a computer Programming languages Program = objects + operations First Java program Writing, compiling, and executing a program Program errors

More information

Open Source egovernment Reference Architecture Osera.modeldriven.org. Copyright 2006 Data Access Technologies, Inc. Slide 1

Open Source egovernment Reference Architecture Osera.modeldriven.org. Copyright 2006 Data Access Technologies, Inc. Slide 1 Open Source egovernment Reference Architecture Osera.modeldriven.org Slide 1 Caveat OsEra and the Semantic Core is work in progress, not a ready to use capability Slide 2 OsEra What we will cover OsEra

More information

SL-110: Fundamentals of Java Revision 15 October Sun Educational Services Instructor-Led Course Description

SL-110: Fundamentals of Java Revision 15 October Sun Educational Services Instructor-Led Course Description Sun Educational Services Instructor-Led Course Description Fundamentals of Java SL-110 The Fundamentals of the Java course provides students, with little or no programming experience, with the basics of

More information

OpenEmbeDD basic demo

OpenEmbeDD basic demo OpenEmbeDD basic demo A demonstration of the OpenEmbeDD platform metamodeling chain tool. Fabien Fillion fabien.fillion@irisa.fr Vincent Mahe vincent.mahe@irisa.fr Copyright 2007 OpenEmbeDD project (openembedd.org)

More information

A Service-Oriented approach dedicated to Internet based Business Process Networks: Building a MDA based collaborative platform with opensource

A Service-Oriented approach dedicated to Internet based Business Process Networks: Building a MDA based collaborative platform with opensource A Service-Oriented approach dedicated to Internet based Business Process Networks: Building a MDA based collaborative platform with opensource solutions EBM WebSourcing Jean-Pierre LORRE R&D Manager ObjectWeb

More information

Model-Driven Health Tools (MDHT) CDA Tools Overview. http://mdht.projects.openhealthtools.org

Model-Driven Health Tools (MDHT) CDA Tools Overview. http://mdht.projects.openhealthtools.org Model-Driven Health Tools (MDHT) CDA Tools Overview http://mdht.projects.openhealthtools.org CDA Tools Objectives Accelerate and lower cost of adopting CDAr2 standard Define new CDA templates and implementation

More information

Modernizing Simulation Input Generation and Post-Simulation Data Visualization with Eclipse ICE

Modernizing Simulation Input Generation and Post-Simulation Data Visualization with Eclipse ICE and Post- Data Visualization with Eclipse ICE Alex McCaskey Research Staff Oak Ridge National Laboratory mccaskeyaj@ornl.gov @amccaskey2223 Taylor Patterson Research Associate Oak Ridge National Laboratory

More information

Integration of Application Business Logic and Business Rules with DSL and AOP

Integration of Application Business Logic and Business Rules with DSL and AOP Integration of Application Business Logic and Business Rules with DSL and AOP Bogumiła Hnatkowska and Krzysztof Kasprzyk Wroclaw University of Technology, Wyb. Wyspianskiego 27 50-370 Wroclaw, Poland Bogumila.Hnatkowska@pwr.wroc.pl

More information

Applying MDA in Developing Intermediary Service for Data Retrieval

Applying MDA in Developing Intermediary Service for Data Retrieval Applying MDA in Developing Intermediary Service for Data Retrieval Danijela Boberić Krstićev University of Novi Sad Faculty of Sciences Trg Dositeja Obradovića 4, Novi Sad Serbia +381214852873 dboberic@uns.ac.rs

More information

Jairson Vitorino. PhD Thesis, CIn-UFPE February 2009. Supervisor: Prof. Jacques Robin. Ontologies Reasoning Components Agents Simulations

Jairson Vitorino. PhD Thesis, CIn-UFPE February 2009. Supervisor: Prof. Jacques Robin. Ontologies Reasoning Components Agents Simulations CHROME: A Model-Driven Component- Based Rule Engine Jairson Vitorino PhD Thesis, CIn-UFPE February 2009 Supervisor: Prof. Jacques Robin Ontologies Reasoning Components Agents Simulations Contents 1. Context

More information

Static Analyzers. Context. Learning Objectives

Static Analyzers. Context. Learning Objectives Static Analyzers Wolfgang Emmerich Professor of Distributed Computing University College London http://sse.cs.ucl.ac.uk Context Requirements Inception Elaboration Construction Transition Analysis Design

More information

Automatic Generation of Consistency-Preserving Edit Operations for MDE Tools

Automatic Generation of Consistency-Preserving Edit Operations for MDE Tools Automatic Generation of Consistency-Preserving Edit Operations for MDE Tools Michaela Rindt, Timo Kehrer, Udo Kelter Software Engineering Group University of Siegen {mrindt,kehrer,kelter}@informatik.uni-siegen.de

More information

Model Driven Architecture A New Paradigm in Software Development

Model Driven Architecture A New Paradigm in Software Development A New Paradigm in Software Development Hermod Opstvedt Chief Architect DnB NOR ITU, Norway Hermod Opstvedt : A New Paradigm in Software Development Page 1 (MDA) is a specification by the Object Management

More information

Concepts for the model-driven generation of graphical editors in Eclipse by using the Graphiti framework

Concepts for the model-driven generation of graphical editors in Eclipse by using the Graphiti framework Concepts for the model-driven generation of graphical editors in Eclipse by using the Graphiti framework Fabio Filippelli 1, Steffen Kollosche 1, Michael Bauer 1, Markus Gerhart 1, Marko Boger 1, Karsten

More information

Fundamentals of Database Systems, 4 th Edition By Ramez Elmasri and Shamkant Navathe. Table of Contents. A. Short Table of Contents

Fundamentals of Database Systems, 4 th Edition By Ramez Elmasri and Shamkant Navathe. Table of Contents. A. Short Table of Contents Fundamentals of Database Systems, 4 th Edition By Ramez Elmasri and Shamkant Navathe Table of Contents A. Short Table of Contents (This Includes part and chapter titles only) PART 1: INTRODUCTION AND CONCEPTUAL

More information

Architectural Design

Architectural Design Software Engineering Architectural Design 1 Software architecture The design process for identifying the sub-systems making up a system and the framework for sub-system control and communication is architectural

More information

Introduction to UML A Brief History of UML

Introduction to UML A Brief History of UML Introduction to UML Systems being developed now are more complex than ever, and old software development methods simply do not efficiently scale up to the size of current systems. New paradigms are needed

More information

U III 5. networks & operating system o Several competing DOC standards OMG s CORBA, OpenDoc & Microsoft s ActiveX / DCOM. Object request broker (ORB)

U III 5. networks & operating system o Several competing DOC standards OMG s CORBA, OpenDoc & Microsoft s ActiveX / DCOM. Object request broker (ORB) U III 1 Design Processes Design Axioms Class Design Object Storage Object Interoperability Design Processes: - o During the design phase the classes identified in OOA must be revisited with a shift in

More information

Meta-Model specification V2 D602.012

Meta-Model specification V2 D602.012 PROPRIETARY RIGHTS STATEMENT THIS DOCUMENT CONTAINS INFORMATION, WHICH IS PROPRIETARY TO THE CRYSTAL CONSORTIUM. NEITHER THIS DOCUMENT NOR THE INFORMATION CONTAINED HEREIN SHALL BE USED, DUPLICATED OR

More information

Common Warehouse Metamodel (CWM): Extending UML for Data Warehousing and Business Intelligence

Common Warehouse Metamodel (CWM): Extending UML for Data Warehousing and Business Intelligence Common Warehouse Metamodel (CWM): Extending UML for Data Warehousing and Business Intelligence OMG First Workshop on UML in the.com Enterprise: Modeling CORBA, Components, XML/XMI and Metadata November

More information

Introduction. Compiler Design CSE 504. Overview. Programming problems are easier to solve in high-level languages

Introduction. Compiler Design CSE 504. Overview. Programming problems are easier to solve in high-level languages Introduction Compiler esign CSE 504 1 Overview 2 3 Phases of Translation ast modifled: Mon Jan 28 2013 at 17:19:57 EST Version: 1.5 23:45:54 2013/01/28 Compiled at 11:48 on 2015/01/28 Compiler esign Introduction

More information

Tool chain (BRIDE) delivered as BRICS software distribution

Tool chain (BRIDE) delivered as BRICS software distribution Best Practice in Robotics (BRICS) Grant Agreement Number: 231940 01.03.2009-28.02.2013 Instrument: Collaborative Project (IP) Tool chain (BRIDE) delivered as BRICS software distribution Hugo Garcia, Herman

More information

Model-Driven Architecture: Vision, Standards And Emerging Technologies

Model-Driven Architecture: Vision, Standards And Emerging Technologies 1 Model-Driven Architecture: Vision, Standards And Emerging Technologies Position Paper Submitted to ECOOP 2001 Workshop on Metamodeling and Adaptive Object Models John D. Poole Hyperion Solutions Corporation

More information

mdwfs Model-driven Schema Translation for Integrating Heterogeneous Geospatial Data

mdwfs Model-driven Schema Translation for Integrating Heterogeneous Geospatial Data mdwfs Model-driven Schema Translation for Integrating Heterogeneous Geospatial Data Tatjana Kutzner, Andreas Donaubauer Chair of Geoinformatics kutzner@tum.de INSPIRE KEN Schema Transformation Workshop,

More information

What is a database? COSC 304 Introduction to Database Systems. Database Introduction. Example Problem. Databases in the Real-World

What is a database? COSC 304 Introduction to Database Systems. Database Introduction. Example Problem. Databases in the Real-World COSC 304 Introduction to Systems Introduction Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca What is a database? A database is a collection of logically related data for

More information

Automatic Generation Between UML and Code. Fande Kong and Liang Zhang Computer Science department

Automatic Generation Between UML and Code. Fande Kong and Liang Zhang Computer Science department Automatic Generation Between UML and Code Fande Kong and Liang Zhang Computer Science department Outline The motivation why we need to do the generation between the UML and code. What other people have

More information

From Object Oriented Conceptual Modeling to Automated Programming in Java

From Object Oriented Conceptual Modeling to Automated Programming in Java From Object Oriented Conceptual Modeling to Automated Programming in Java Oscar Pastor, Vicente Pelechano, Emilio Insfrán, Jaime Gómez Department of Information Systems and Computation Valencia University

More information

AN ONTOLOGICAL APPROACH TO WEB APPLICATION DESIGN USING W2000 METHODOLOGY

AN ONTOLOGICAL APPROACH TO WEB APPLICATION DESIGN USING W2000 METHODOLOGY STUDIA UNIV. BABEŞ BOLYAI, INFORMATICA, Volume L, Number 2, 2005 AN ONTOLOGICAL APPROACH TO WEB APPLICATION DESIGN USING W2000 METHODOLOGY ANNA LISA GUIDO, ROBERTO PAIANO, AND ANDREA PANDURINO Abstract.

More information

Model-Driven Development: A Metamodeling Foundation

Model-Driven Development: A Metamodeling Foundation Model-Driven Development: A Metamodeling Foundation Colin Atkinson University of Mannheim 68161 Mannheim, Germany atkinson@informatik.uni-mannheim.de Thomas Kühne Darmstadt University of Technology 64283

More information

A model driven approach for bridging ILOG Rule Language and RIF

A model driven approach for bridging ILOG Rule Language and RIF A model driven approach for bridging ILOG Rule Language and RIF Valerio Cosentino, Marcos Didonet del Fabro, Adil El Ghali To cite this version: Valerio Cosentino, Marcos Didonet del Fabro, Adil El Ghali.

More information

A Web Specific Language for Content Management Systems

A Web Specific Language for Content Management Systems A Web Specific Language for Content Management Systems Viðar Svansson and Roberto E. Lopez-Herrejon Computing Laboratory, University of Oxford, England Abstract. Many web applications can be specified

More information

Diagram Definition Third OMG/Eclipse Symposium 25 March 2012

Diagram Definition Third OMG/Eclipse Symposium 25 March 2012 Diagram Definition Third OMG/Eclipse Symposium 25 March 2012 Maged Elaasar, melaasar@ca.ibm.com Senior Software Engineer IBM Rational Modelling Tools Outline The Need for Diagram Definition Existing Diagram

More information

University of Twente. A simulation of the Java Virtual Machine using graph grammars

University of Twente. A simulation of the Java Virtual Machine using graph grammars University of Twente Department of Computer Science A simulation of the Java Virtual Machine using graph grammars Master of Science thesis M. R. Arends, November 2003 A simulation of the Java Virtual Machine

More information

Fundamentals of Java Programming

Fundamentals of Java Programming Fundamentals of Java Programming This document is exclusive property of Cisco Systems, Inc. Permission is granted to print and copy this document for non-commercial distribution and exclusive use by instructors

More information

Design of UML models and their simulation using ARENA

Design of UML models and their simulation using ARENA Design of UML models and their simulation using ARENA ARTIS TEILANS and ARNIS KLEINS Exigen Services DATI 17a Ganibu Dambis, LV-1045, Riga LATVIA artis.teilans@exigenservices.com arnis.kleins@exigenservices.com

More information

Tool Support for fuml Models

Tool Support for fuml Models Int. J. of Computers, Communications & Control, ISSN 1841-9836, E-ISSN 1841-9844 Vol. V (2010), No. 5, pp. 775-782 Tool Support for fuml Models C.-L. Lazăr, I. Lazăr, B. Pârv, S. Motogna, I.-G. Czibula

More information

A Pattern-based Approach to Business Process Modeling and Implementation in Web Services

A Pattern-based Approach to Business Process Modeling and Implementation in Web Services A Pattern-based Approach to Business Process Modeling and Implementation in Web Services Steen Brahe 1 and Behzad Bordbar 2 1 Danske Bank & IT University of Copenhagen, Denmark stbr@itu.dk 2 University

More information

Object Oriented System Development with VB.NET

Object Oriented System Development with VB.NET Chapter 1 Object Oriented System Development with Objectives In this chapter, you will: Learn about OO development and Understand object-oriented concepts Recognize the benefits of OO development Preview

More information

ITU-T Z.100. Specification and description language (SDL)

ITU-T Z.100. Specification and description language (SDL) INTERNATIONAL TELECOMMUNICATION UNION ITU-T Z.100 TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (11/99) SERIES Z: LANGUAGES AND GENERAL SOFTWARE ASPECTS FOR TELECOMMUNICATION SYSTEMS Formal description

More information