Recent achievements in automated database design based on business process models

Size: px
Start display at page:

Download "Recent achievements in automated database design based on business process models"

Transcription

1 16 th Workshop Software Engineering Education and Reverse Engineering Jahorina, August Recent achievements in automated database design based on business process models D. Banjac, D. Brdjanin and G. Banjac University of Banja Luka, Bosnia & Herzegovina

2 About this presentation Introduction Domain specific languages Examples of DSLs Business modeling language Implementation Approach Metamodel Example of automated generation of CDM Conclusion 2

3 Introduction There are papers that present automated generation of the initial conceptual database model (CDM) based on different business process modeling notations Source: Business process model (BPM) represented by different business process modeling notations (UML activity diagram, BPMN, etc. ) Target: CDM represented by UML class diagram In order to achieve metamodel independency we implemented Domain specific language (DSL) as intermediate layer, between source and target model 3

4 Domain specific languages Domain Specific Language (DSL) is a computer programming language of limited expressiveness focused on a particular domain. (Martin Fowler) Domain - an area or sphere of knowledge, influence, or activity Two main forms: External DSL (free standing) language parsed independently of the host general purpose language (GPL), e.g. regular expressions, CSS Internal DSL (embedded) designed and implemented using GPL, particular form of API in a host GPL, e.g. JMock Each DSL consists of: Abstract syntax defines domain concepts, their attributes and relations Concrete syntax language syntax in its representation that we see Semantics usually added with interpretation or code generation 4

5 Example of DSLs Regular expressions, SQL, CSS, make, rake, ant, BPMN etc. SELECT * FROM Course c WHERE c.ects > 6; body { background-color: lightblue; h1 { color: white; text-align: center; p { font-family: verdana; font-size: 20px; hellomake: hellomake.c hellofunc.c gcc -o hellomake hellomake.c hellofunc.c -I. <project name="anexampleproject" default="jarit" basedir="."> <property name="src" location="src"/> <property name="build" location="build"/> <property name="distrib" location="distrib"/> <target name="compile" description="compile your Java code from src into build" > <javac srcdir="${src" destdir="${build"/> </target> <target name="jarit" depends="compile" description="jar it up" > <jar jarfile="${distrib/anexampleproject.jar" basedir="${build"/> </target> </project> 5

6 Implementation of BML DSL called business modeling language (BML) is developed BML describes (so far identified) semantic capacity of the business process models BML provides independency from different business process modeling notations used for modeling the source model Identified transformation rules were used to implement generator which transforms BML to initial CDM We used Xtext framework for implementation of DSL We used Xtend for code generation We, also, implemented generators to transform BPM represented by BPMN and UML activity diagram to BML (Acceleo implementation) 6

7 Approach Source Target BPMN M2M CD AD M2M CD Source BML Target BPMN BML CD AD 7

8 Metamodel of BML Abstract syntax tree (AST) is represented by Ecore model 8

9 Rules for mapping BPM CDM Classes T 1 T 2 P L2 P P_L1 P1 T1 O T2 P1 P2 L1 P_L2 P2 MF O MF T 3 P P O T1 O [state] O_state O 9

10 Rules for mapping BPM CDM Associations T 4 P L2 L1 * 1 P_L1 P P_L2 P_P_L1 1 * P_P_L2 T 5 O T1 T2 T1 T2 * * T 6 O P 1 P 1 P2 P1 MF P1 1 P1_MF1 * MF * 1 P2_MF1 P2 P T 7 T 8 1 P1 O O T1 T2 [state] * * T1 T2 * O_state T1 1 O T 9 O1 T O2 O1 m 1 T m 2 O2 10

11 Source model Order processing - BPMN 11

12 BML Order processing - BPMN /* Participants and roles */ participant Supplier role Stockman of Supplier role Driver of Supplier role Commercial of Supplier participant Customer /* Objects */ object OrderHeader object Response object CatalogItem object Delivery object Request object StockItem object OrderDetail /* ObjectReference */ objectreference ExistingStockItem_ references StockItem existing objectreference ExistingCatalogItem_ references CatalogItem existing objectreference OrderHeader_ references OrderHeader objectreference Delivery_New references Delivery[New] objectreference OrderDetail_New references OrderDetail[New] objectreference StockItem_Prepared references StockItem[Prepared] objectreference OrderHeader_Accepted references OrderHeader[Accepted] objectreference OrderHeader_New references OrderHeader[New] objectreference OrderHeader_Canceled references OrderHeader[Canceled] objectreference OrderDetail_Confirmed references OrderDetail[Confirmed]... /* Tasks */ task SendOrderSpecification_1 { actor: Customer input { OrderDetail_New multiplicity -1 output { OrderDetail_ multiplicity -1 task Receive_2 { actor: Customer input { Delivery_ multiplicity 1 output { task AcceptOrder_3 { actor: Commercial input { OrderHeader_New multiplicity 1 output { OrderHeader_Accepted multiplicity

13 Target model Order processing - BPMN 13

14 Order processing Activity diagram BML 14

15 Conclusion BML provides source model independency Potential changes in transformation rules will affect BML CD generator, while generators which transform concrete business process modeling notations will remain unchanged Generation of the target conceptual model with a high percentage of completeness and precision In the future we plan to: further identify the semantic capacity of BPMs for automated CDM design improve the BML accordingly to identification of the semantic capacity of BPMs implement generators for some other business process modeling notations 15

16 16 th Workshop Software Engineering Education and Reverse Engineering Jahorina, August D. Banjac, D. Brdjanin and G. Banjac University of Banja Luka, Bosnia & Herzegovina Recent achievements in automated database design based on business process models Thank You!

An Approach to Automated Conceptual Database Design Based on the UML Activity Diagram

An Approach to Automated Conceptual Database Design Based on the UML Activity Diagram DOI:10.2298/CSIS110318069B An Approach to Automated Conceptual Database Design Based on the UML Activity Diagram Drazen Brdjanin and Slavko Maric University of Banja Luka, Faculty of Electrical Engineering

More information

Transition from One- to Two-Semester(s) of Fundamentals of Programming

Transition from One- to Two-Semester(s) of Fundamentals of Programming 16 th Workshop Software Engineering Education and Reverse Engineering Jahorina, 22-26 August 2016. Transition from One- to Two-Semester(s) of Fundamentals of Programming G. Banjac and D. Brdjanin University

More information

Getting It Right COMS W4115. Prof. Stephen A. Edwards Spring 2007 Columbia University Department of Computer Science

Getting It Right COMS W4115. Prof. Stephen A. Edwards Spring 2007 Columbia University Department of Computer Science Getting It Right COMS W4115 Prof. Stephen A. Edwards Spring 2007 Columbia University Department of Computer Science Getting It Right Your compiler is a large software system developed by four people. How

More information

Language engineering and Domain Specific Languages

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

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

Plan. 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 information

Model-Level Integration of the OCL Standard Library Using a Pivot Model with Generics Support

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

Notation Standards for TOGAF:

Notation Standards for TOGAF: Welcome! Notation Standards for TOGAF: BPMN and UML Play Together Matt Smith Architecture Consultant Architecture Context Business Modeling Process Information Messaging Participants Software Systems Analysis

More information

Whole Platform Foundation. The Long Way Toward Language Oriented Programming

Whole Platform Foundation. The Long Way Toward Language Oriented Programming Whole Platform Foundation The Long Way Toward Language Oriented Programming 2008 by Riccardo Solmi made available under the Creative Commons License last updated 22 October 2008 Outline Aim: Engineering

More information

ABAP DSL Workbench SAP TechED 2016

ABAP DSL Workbench SAP TechED 2016 ABAP DSL Workbench SAP TechED 2016 Barcelona, November 2016-0 - Hello. Hello. Example Asia Diner Yes? Number 77. Take away? No. Hello. Hello. Hello. Hello. As always? Yes. As always? Yes. Where are the

More information

Domain-specific Languages

Domain-specific Languages Domain-specific Languages Course "Software Language Engineering" University of Koblenz-Landau Department of Computer Science Ralf Lämmel Software Languages Team 1 What s a DSL? 2 This slide has been extracted

More information

An Introduction to Ant

An Introduction to Ant An Introduction to Ant Overview What is Ant? Installing Ant Anatomy of a build file Projects Properties Targets Tasks Example build file Running a build file What is Ant? Ant is a Java based tool for automating

More information

Introduction to Dependable Systems: Meta-modeling and modeldriven

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

CSSE 490 Model-Based Software Engineering: Domain Specific Language Introduction

CSSE 490 Model-Based Software Engineering: Domain Specific Language Introduction CSSE 490 Model-Based Software Engineering: Domain Specific Language Introduction Shawn Bohner Office: Moench Room F212 Phone: (812) 877-8685 Email: bohner@rose-hulman.edu Plan for the Day Introduction

More information

Modeling XML Vocabularies with UML: Part I

Modeling XML Vocabularies with UML: Part I Modeling XML Vocabularies with UML: Part I David Carlson, CTO Ontogenics Corp. dcarlson@ontogenics.com http://xmlmodeling.com The arrival of the W3C s XML Schema specification has evoked a variety of responses

More information

ECLIPSE MODELING PROJECT

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

Meta-Modeling and Modeling Languages

Meta-Modeling and Modeling Languages member of Meta-Modeling and Modeling Languages Models and Modelling Model A reproduction of the part of reality which contains the essential aspects to be investigated. Modelling Describing and Representing

More information

Syntax and Grammars 1 / 21

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

Restructuring AZDBLab

Restructuring AZDBLab Restructuring AZDBLab The Science of Databases 2/20/2010 Version 5.0 Adam Robertson I hereby grant to the University of Arizona Library the nonexclusive worldwide right to reproduce and distribute my dissertation

More information

Generic vs. Domain-specific Modeling Languages

Generic vs. Domain-specific Modeling Languages Generic vs. Domain-specific Modeling Languages Knut Hinkelmann Generic vs. Domain-specific Modeling Languages Domain-specific languages are notation which are defined to model knowledge about a specific

More information

Advanced Topics in Software Engineering (02265) Ekkart Kindler

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

Variability differences among products in PL. Variability in PLE. Language Workbenches. Language Workbenches. Product Line Engineering

Variability differences among products in PL. Variability in PLE. Language Workbenches. Language Workbenches. Product Line Engineering PPL 2009 Keynote Markus Voelter Indepenent/itemis voelter@acm.org http://www.voelter.de Language Workbenches in Product Line Engineering Variability in PLE Language Workbenches in Domain Specific Languages

More information

JAVA V Tools in JDK Java, winter semester ,2017 1

JAVA V Tools in JDK Java, winter semester ,2017 1 JAVA Tools in JDK 1 Tools javac javadoc jdb javah jconsole jshell... 2 JAVA javac 3 javac arguments -cp -encoding -g debugging info -g:none -target version of bytecode (6, 7, 8, 9) --release -source version

More information

Domain-Specific Languages Language Workbenches

Domain-Specific Languages Language Workbenches Software Engineering with and Domain-Specific Languages Language Workbenches Peter Friese Itemis peter.friese@itemis.de Markus Voelter Independent/itemis voelter@acm.org 1 Programming Languages C# Erlang

More information

Introduction to MDE and Model Transformation

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

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

PAPYRUS FUTURE. CEA Papyrus Team

PAPYRUS FUTURE. CEA Papyrus Team PAPYRUS FUTURE CEA ABSTRACT SYNTAX The definition of a DSML abstract syntax in Papyrus is done with the profile editor. It lets define abstract syntax constraints in OCL and Java. Ongoing: Façade [1] lets

More information

JEUS Webservice 구성 (ant)

JEUS Webservice 구성 (ant) JEUS Webservice 구성 (ant) 2015. 07. 15 목차 JEUS Webservice 구성... 3 1. 웹서비스샘플작성... 3 1.1 사전설치프로그램... 3 1.2 Dynamic Web project 생성... 3 1.3 interface 생성... 5 1.4 class 생성... 6 2. Ant를활용한 wsdl 생성... 8 2.1 service-config

More information

The Eclipse Modeling Framework and MDA Status and Opportunities

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

Ant. Originally ANT = Another Neat Tool. Created by James Duncan Davidson Now an Apache open-source project

Ant. Originally ANT = Another Neat Tool. Created by James Duncan Davidson Now an Apache open-source project Ant Originally ANT = Another Neat Tool Created by James Duncan Davidson Now an Apache open-source project Ants are amazing insects Can carry 50 times their own weight Find the shortest distance around

More information

Comparison and merge use-cases from practice with EMF Compare

Comparison and merge use-cases from practice with EMF Compare Comparison and merge use-cases from practice with EMF Compare Laurent Delaigue Philip Langer EMF Compare Working with models Comparing text files EMF Compare Working with models Comparing models EMF Compare

More information

Introduction to OpenArchitectureWare

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

A Model-Driven Framework for Domain Specific Process Design and Governance

A Model-Driven Framework for Domain Specific Process Design and Governance A Model-Driven Framework for Domain Specific Process Design and Governance Adrian Mos 1, Mario Cortes-Cornax 1, José Miguel Pérez-Álvarez1,2, María Teresa Gómez-López 2 1 Xerox Research Center, 6 Chemin

More information

with openarchitectureware

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

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

A little History Domain Specific Languages Examples Tools Benefits A more theoretical View Programming and Modeling The LWES Project Bonus: Best Domain Specific Languages Markus Voelter Independent/itemis voelter@acm.org A little History Domain Specific Languages Examples Tools Benefits A more theoretical View Programming and Modeling The LWES

More information

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

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

S AMPLE CHAPTER IN ACTION. Benjamin Muschko. FOREWORD BY Hans Dockter MANNING

S AMPLE CHAPTER IN ACTION. Benjamin Muschko. FOREWORD BY Hans Dockter MANNING S AMPLE CHAPTER IN ACTION Benjamin Muschko FOREWORD BY Hans Dockter MANNING Gradle in Action by Benjamin Muschko Chapter 9 Copyright 2014 Manning Publications brief contents PART 1 INTRODUCING GRADLE...1

More information

DRAFT. Consolidation of the Generator Infrastructure MDGEN Model Driven Generation

DRAFT. Consolidation of the Generator Infrastructure MDGEN Model Driven Generation Consolidation of the Generator Infrastructure MDGEN Model Driven Generation Date: October 16 th, 2012 Produced by: Mario Lovisi / Serano Colameo Version: 1.0 DRAFT Agenda Initial Situation / Goal of the

More information

BLU AGE 2009 Edition Agile Model Transformation

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

Lab for the course on Process and Service Modeling and Analysis. LAB-01 Introduction. Lecturer: Andrea MARRELLA

Lab for the course on Process and Service Modeling and Analysis. LAB-01 Introduction. Lecturer: Andrea MARRELLA Lab for the course on Process and Service Modeling and Analysis LAB-01 Introduction Lecturer: Andrea MARRELLA Lecturer Andrea Marrella Dipartimento di Ingegneria Informatica, Automatica e Gestionale A.Ruberti

More information

BIG MODELS AN ALTERNATIVE APPROACH

BIG MODELS AN ALTERNATIVE APPROACH 2. BIG MODELS AN ALTERNATIVE APPROACH Whitepaper Eclipse Summit 2008 Modeling Symposium Jos Warmer, Ordina (jos.warmer@ordina.nl) Abstract Scaling up modeling within project runs into many practical problems.

More information

Integrated Modeling for Engineering Complex Heterogeneous Systems SWISSED Markus Schacher & Rolf Gubser, KnowBodies

Integrated Modeling for Engineering Complex Heterogeneous Systems SWISSED Markus Schacher & Rolf Gubser, KnowBodies Integrated Modeling for Engineering Complex Heterogeneous Systems SWISSED 2016 Markus Schacher & Rolf Gubser, KnowBodies Hohlstrasse 534, 8048 Zürich, Switzerland, www.knowgravity.com Overview Engineering

More information

Dániel Darvas Domain-specific languages (DSLs): what, how and when?

Dániel Darvas Domain-specific languages (DSLs): what, how and when? Dániel Darvas Domain-specific languages (DSLs): what, how and when? ICE Tea 21/02/2014 Outline Theory Concept of DSLs Technology Support for DSLs Reality Some details of the ST Example DSL Theory / Concept

More information

Christian Doppler Laboratory

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

Process modeling. PV207 Business Process Management

Process modeling. PV207 Business Process Management Process modeling PV207 Business Process Management Spring 2014 Jiří Kolář Last lecture recap. Motivation for SOA Role BPM in IT management Core BPM architecture BPM SOA relationship SOA concept SOA architecture

More information

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

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

What is a compiler? Xiaokang Qiu Purdue University. August 21, 2017 ECE 573

What is a compiler? Xiaokang Qiu Purdue University. August 21, 2017 ECE 573 What is a compiler? Xiaokang Qiu Purdue University ECE 573 August 21, 2017 What is a compiler? What is a compiler? Traditionally: Program that analyzes and translates from a high level language (e.g.,

More information

Common Logic (ISO 24707)

Common Logic (ISO 24707) Common Logic (ISO 24707) Michael Grüninger SC32 WG2 Meeting, Santa Fe, NM November 13, 2013 Grüninger ( SC32 WG2 Meeting) Common Logic (ISO 24707) November 13, 2013 1 / 26 What Is Common Logic? Common

More information

COP 3402 Systems Software. Lecture 4: Compilers. Interpreters

COP 3402 Systems Software. Lecture 4: Compilers. Interpreters COP 3402 Systems Software Lecture 4: Compilers 1 Outline 1. Compiler and interpreters 2. Compilers 3. 4. PL/0 lexical tokens 2 Compilers / Programming languages are notations for describing computations

More information

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

ATHABASCA UNIVERSITY RULE ENHANCED BUSINESS PROCESS MODELING OF SERVICE ORIENTED ARCHITECTURES LUIS ROCHA. A project submitted in partial fulfillment ATHABASCA UNIVERSITY RULE ENHANCED BUSINESS PROCESS MODELING OF SERVICE ORIENTED ARCHITECTURES BY LUIS ROCHA A project submitted in partial fulfillment Of the requirements for the degree of MASTER OF SCIENCE

More information

INF5120 Modelbased System development

INF5120 Modelbased System development INF5120 Modelbased System development Lecture 11: 09.04.2018 Arne-Jørgen Berre arneb@ifi.uio.no and Arne.J.Berre@sintef.no 1 2 Course parts (16 lectures) - 2018 Part I-a -(Introduction to Modeling): 15/1

More information

Design and Prototypical Implementation of a Pivot Model as Exchange Format for Models and Metamodels in a QVT/OCL Development Environment

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

Experimental transformations between Business Process and SOA models

Experimental transformations between Business Process and SOA models International Journal of Informatics Society, VOL.4, NO.2 (2012) 93-102 93 Experimental transformations between Business Process and SOA models Akira Tanaka, and Osamu Takahashi view5 LLC, Japan School

More information

SOA, Semantics, & Data Science

SOA, Semantics, & Data Science SOA, Semantics, & Data Science September, 2013 Example Projects and Domain Solutions David Webber Public Sector NIEM + Open Data Team 1 Disclaimer Notice The following is not intended to outline Oracle

More information

MDA Journal. BPMI and OMG: The BPM Merger A BPT COLUMN. David S. Frankel Lead Standards Architect - Model Driven Systems SAP Labs.

MDA Journal. BPMI and OMG: The BPM Merger A BPT COLUMN. David S. Frankel Lead Standards Architect - Model Driven Systems SAP Labs. A BPT COLUMN MDA Journal December 2005 David S. Frankel Lead Standards Architect - Model Driven Systems SAP Labs David.Frankel@SAP.com https://www.sdn.sap.com/irj/sdn/ weblogs?blog=/pub/u/55914 Contents

More information

Language Extension and Composition with Language Workbenches

Language Extension and Composition with Language Workbenches Language Extension and Composition with Language Workbenches Eelco Visser TU Delft E.Visser@tudelft.nl Markus Voelter Independent/itemis voelter@acm.org Different Worlds Programming Tools!= Modeling Tools

More information

Course 3 7 March

Course 3 7 March Course 3 7 March adiftene@info.uaic.ro 1 From Courses 1, 2 Modeling Modeling Languages Graphic Languages UML History UML Definition UML Diagram Types UML Use Case Diagram Actors Use Case UML Class Diagrams

More information

Software Architecture

Software Architecture Software Architecture Benjamin Satzger Distributed Systems Group TU Wien http://www.infosys.tuwien.ac.at/staff/ bsatzger Models Terms Unified Modeling Language (UML) Architecture Description Language (ADL)

More information

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

MEMOCenterNG A full-featured modeling environment for organization modeling and model-driven software development MEMOCenterNG A full-featured modeling environment for organization modeling and model-driven software development Jens Gulden and Prof. Dr. Ulrich Frank University Duisburg-Essen, Universitaetsstr. 9,

More information

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

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

Xtext. Introduction and Real World Samples. Hendrik Bünder, itemis AG. itemis AG

Xtext. Introduction and Real World Samples. Hendrik Bünder, itemis AG. itemis AG Xtext Introduction and Real World Samples Hendrik Bünder, itemis AG Who is this guy? Hendrik Bünder IT-Consultant Agenda Introduction to Xtext What, How, Why? Common DSLs DSLs that no longer impress anybody.

More information

Domain-Specific. Languages. Martin Fowler. AAddison-Wesley. Sydney Tokyo. With Rebecca Parsons

Domain-Specific. Languages. Martin Fowler. AAddison-Wesley. Sydney Tokyo. With Rebecca Parsons Domain-Specific Languages Martin Fowler With Rebecca Parsons AAddison-Wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Paris Madrid Sydney Tokyo Singapore

More information

Model transformations. Model transformations. Model transformations. Model transformations

Model transformations. Model transformations. Model transformations. Model transformations The initialization of the attributes of a generated target model element by assigning references: Model target element generated by current rule Default target model element generated by another rule Non-default

More information

Practical DSL Design. Groovy Sydney Meetup May 4th, Peter Bell CEO/CTO SystemsForge

Practical DSL Design. Groovy Sydney Meetup May 4th, Peter Bell CEO/CTO SystemsForge Practical DSL Design Groovy Sydney Meetup May 4th, 2010 Peter Bell CEO/CTO SystemsForge Overview Before DSLs... What is a DSL? Creating a DSL Good DSL Design Key Concepts Implementing DSLs in Groovy Testing

More information

Software Building (Sestavování aplikací)

Software Building (Sestavování aplikací) Software Building (Sestavování aplikací) http://d3s.mff.cuni.cz Pavel Parízek parizek@d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics What is software building Transforming

More information

Introduction to UML. (Unified Modeling Language)

Introduction to UML. (Unified Modeling Language) Introduction to UML (Unified Modeling Language) What Is the UML? UML stands for Unified Modeling Language. UML is a family of graphical notations that help in describing and designing software systems

More information

Architecture Viewpoint Template for ISO/IEC/IEEE 42010

Architecture Viewpoint Template for ISO/IEC/IEEE 42010 Architecture Viewpoint Template for ISO/IEC/IEEE 42010 Rich Hilliard r.hilliard@computer.org VERSION 2.1b Abstract This is a template for specifying architecture viewpoints in accordance with ISO/IEC/IEEE

More information

A simple syntax-directed

A simple syntax-directed Syntax-directed is a grammaroriented compiling technique Programming languages: Syntax: what its programs look like? Semantic: what its programs mean? 1 A simple syntax-directed Lexical Syntax Character

More information

Build automation. CSE260, Computer Science B: Honors Stony Brook University

Build automation. CSE260, Computer Science B: Honors Stony Brook University Build automation CSE260, Computer Science B: Honors Stony Brook University http://www.cs.stonybrook.edu/~cse260 2 Build Automation Build automation is the act of scripting or automating a wide variety

More information

DSL Design. Overview of DSLE. DSL Design. DSL Desing. Domain specific languages

DSL Design. Overview of DSLE. DSL Design. DSL Desing. Domain specific languages Overview of DSLE Model driven software enineerin in eneral Grammars, and meta-models Code eneration Model-driven enineerin Goal: Raisin the level of abstraction from the computin domain to the problem

More information

Business-Driven Software Engineering Lecture 5 Business Process Model and Notation

Business-Driven Software Engineering Lecture 5 Business Process Model and Notation Business-Driven Software Engineering Lecture 5 Business Process Model and Notation Jochen Küster jku@zurich.ibm.com Agenda BPMN Introduction BPMN Overview BPMN Advanced Concepts Introduction to Syntax

More information

WHY WE NEED AN XML STANDARD FOR REPRESENTING BUSINESS RULES. Introduction. Production rules. Christian de Sainte Marie ILOG

WHY WE NEED AN XML STANDARD FOR REPRESENTING BUSINESS RULES. Introduction. Production rules. Christian de Sainte Marie ILOG WHY WE NEED AN XML STANDARD FOR REPRESENTING BUSINESS RULES Christian de Sainte Marie ILOG Introduction We are interested in the topic of communicating policy decisions to other parties, and, more generally,

More information

DSL Based on a Meta-Model for Optimization and Better Exploitation of Cloud Computing

DSL Based on a Meta-Model for Optimization and Better Exploitation of Cloud Computing Journal of Communication and Computer 13 (2016) 125-134 doi:10.17265/1548-7709/2016.03.003 D DAVID PUBLISHING DSL Based on a Meta-Model for Optimization and Better Exploitation of Cloud Computing Mehdi

More information

CS 553 Compiler Construction Fall 2007 Project #1 Adding floats to MiniJava Due August 31, 2005

CS 553 Compiler Construction Fall 2007 Project #1 Adding floats to MiniJava Due August 31, 2005 CS 553 Compiler Construction Fall 2007 Project #1 Adding floats to MiniJava Due August 31, 2005 In this assignment you will extend the MiniJava language and compiler to enable the float data type. The

More information

Developing Workflow Applications with Red Hat JBoss BPM Suite with exam (JB428)

Developing Workflow Applications with Red Hat JBoss BPM Suite with exam (JB428) Developing Workflow Applications with Red Hat JBoss BPM Suite with exam (JB428) DESCRIPTION: Course Overview Through hands-on labs, the student will learn the architecture and features of Red Hat JBoss

More information

Model-Based Development and Evolution of Information Systems

Model-Based Development and Evolution of Information Systems John Krogstie Model-Based Development and Evolution of Information Systems A Quality Approach Springer \*1мг 11142? 11 ъмэ 1 Introduction 1 1.1 Philosophical Backdrop 5 1.1.1 Background on Knowledge Creation

More information

USING THE OOSIML/JAVA. With a Terminal Window

USING THE OOSIML/JAVA. With a Terminal Window USING THE OOSIML/JAVA With a Terminal Window On Linux Operating System José M. Garrido Department of Computer Science December 2017 College of Computing and Software Engineering Kennesaw State University

More information

Event Metamodel and Profile (EMP) Proposed RFP Updated Sept, 2007

Event Metamodel and Profile (EMP) Proposed RFP Updated Sept, 2007 Event Metamodel and Profile (EMP) Proposed RFP Updated Sept, 2007 Robert Covington, CTO 8425 woodfield crossing boulevard suite 345 indianapolis in 46240 317.252.2636 Motivation for this proposed RFP 1.

More information

Using Scala for building DSL s

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

9/5/17. The Design and Implementation of Programming Languages. Compilation. Interpretation. Compilation vs. Interpretation. Hybrid Implementation

9/5/17. The Design and Implementation of Programming Languages. Compilation. Interpretation. Compilation vs. Interpretation. Hybrid Implementation Language Implementation Methods The Design and Implementation of Programming Languages Compilation Interpretation Hybrid In Text: Chapter 1 2 Compilation Interpretation Translate high-level programs to

More information

Enhancing Business Processes Using Semantic Reasoning. Monica. J. Martin Sun Java Web Services. 26 May

Enhancing Business Processes Using Semantic Reasoning. Monica. J. Martin Sun Java Web Services. 26 May Enhancing Business Processes Using Semantic Reasoning Monica. J. Martin Sun Java Web Services www.sun.com 26 May 2005 Presentation Outline Industry landscape Standards landscape Needs for and use of semantic

More information

Data and Process Modelling

Data and Process Modelling Data and Process Modelling 8a. BPMN - Basic Modelling Marco Montali KRDB Research Centre for Knowledge and Data Faculty of Computer Science Free University of Bozen-Bolzano A.Y. 2014/2015 Marco Montali

More information

/

/ HTML5 Audio & Video HTML5 introduced the element to include audio files in your pages. The element has a number of attributes which allow you to control audio playback: src This

More information

IDERA ER/Studio Software Architect Evaluation Guide. Version 16.5/2016+ Published February 2017

IDERA ER/Studio Software Architect Evaluation Guide. Version 16.5/2016+ Published February 2017 IDERA ER/Studio Software Architect Evaluation Guide Version 16.5/2016+ Published February 2017 2017 IDERA, Inc. All rights reserved. IDERA and the IDERA logo are trademarks or registered trademarks of

More information

CS56 final (E03) W15, Phill Conrad, UC Santa Barbara Wednesday, 03/18/2015. Name: Umail umail.ucsb.edu. Circle one: 4pm 5pm 6pm

CS56 final (E03) W15, Phill Conrad, UC Santa Barbara Wednesday, 03/18/2015. Name: Umail umail.ucsb.edu. Circle one: 4pm 5pm 6pm CS56 final (E03) W15, Phill Conrad, UC Santa Barbara Wednesday, 03/18/2015 Name: Umail Address: @ umail.ucsb.edu Circle one: 4pm 5pm 6pm Please write your name only on this page. That allows me to grade

More information

HOLY ANGEL UNIVERSITY COLLEGE OF INFORMATION AND COMMUNICATIONS TECHNOLOGY COMPILER THEORY COURSE SYLLABUS

HOLY ANGEL UNIVERSITY COLLEGE OF INFORMATION AND COMMUNICATIONS TECHNOLOGY COMPILER THEORY COURSE SYLLABUS HOLY ANGEL UNIVERSITY COLLEGE OF INFORMATION AND COMMUNICATIONS TECHNOLOGY COMPILER THEORY COURSE SYLLABUS Code : 6COMTHEORY Prerequisite : 6AMATA Credit : 3 s (3 hours LEC) Year Level: 3 rd year Degree

More information

Fast, Faster and Super-Fast Queries

Fast, Faster and Super-Fast Queries Fast, Faster and Super-Fast Queries István Ráth EMF-IncQuery lead VIATRA2 committer Budapest University of Technology and Economics Edward Willink Eclipse MMT co-lead Eclipse OCL lead Eclipse QVTd lead

More information

Semantic Model-driven Engineering

Semantic Model-driven Engineering Web Science & Technologies University of Koblenz Landau, Germany Semantic Model-driven Engineering Acknowledgements to students and colleagues@most project http://most-project.eu New level in Software

More information

Eclipse b3. Eclipse Project Creation Review. November, 2009 Henrik Lindberg, Cloudsmith Inc. Project Creation Review

Eclipse b3. Eclipse Project Creation Review. November, 2009 Henrik Lindberg, Cloudsmith Inc. Project Creation Review Eclipse b3 Eclipse Project Creation Review November, 2009 Henrik Lindberg, Cloudsmith Inc 2009 Cloudsmith Inc. Made available under EPL Public License v1.0 1 b3 objectives to develop a new generation of

More information

Extracting Executable Architecture from Legacy Code using Static Reverse Engineering. REHMAN ARSHAD The University of Manchester, UK

Extracting Executable Architecture from Legacy Code using Static Reverse Engineering. REHMAN ARSHAD The University of Manchester, UK Extracting Executable Architecture from Legacy Code using Static Reverse Engineering REHMAN ARSHAD The University of Manchester, UK Research Context Research Product Line Engineering Reverse Engineering

More information

Session 4. Style Sheets (CSS) Reading & References. A reference containing tables of CSS properties

Session 4. Style Sheets (CSS) Reading & References.   A reference containing tables of CSS properties Session 4 Style Sheets (CSS) 1 Reading Reading & References en.wikipedia.org/wiki/css Style Sheet Tutorials www.htmldog.com/guides/cssbeginner/ A reference containing tables of CSS properties web.simmons.edu/~grabiner/comm244/weekthree/css-basic-properties.html

More information

The Unified Modeling Language User Guide

The Unified Modeling Language User Guide The Unified Modeling Language User Guide Grady Booch James Rumbaugh Ivar Jacobson Rational Software Corporation TT ADDISON-WESLEY Boston San Francisco New York Toronto Montreal London Munich Paris Madrid

More information

The Benefits of CSS. Less work: Change look of the whole site with one edit

The Benefits of CSS. Less work: Change look of the whole site with one edit 11 INTRODUCING CSS OVERVIEW The benefits of CSS Inheritance Understanding document structure Writing style rules Attaching styles to the HTML document The cascade The box model CSS units of measurement

More information

DEV427 MODEL-DRIVEN DEVELOPMENT USING PowerDesigner. Xiao-Yun WANG PowerDesigner Chief Architect

DEV427 MODEL-DRIVEN DEVELOPMENT USING PowerDesigner. Xiao-Yun WANG PowerDesigner Chief Architect DEV427 MODEL-DRIVEN DEVELOPMENT USING PowerDesigner Xiao-Yun WANG PowerDesigner Chief Architect xwang@sybase.com OBJECTIVES 1. Understand what s Model-Driven Development 2. Understand why Model-Driven

More information

Ali Khan < Project Name > Design Document. Version 1.0. Group Id: S1. Supervisor Name: Sir.

Ali Khan < Project Name > Design Document. Version 1.0. Group Id: S1. Supervisor Name: Sir. < Project Name > Design Document Version 1.0 Group Id: S1. Supervisor Name: Sir. Revision History Date Version Description Author Table of Contents 1. Introduction of Design Document 2. Entity Relationship

More information

JAVA V Annotations Java, winter semester ,2016 1

JAVA V Annotations Java, winter semester ,2016 1 JAVA Annotations 1 Annotations (metadata) since Java 5 allow attaching information to elements of code (to classes, methods, fields,...) in general, can be used in the same places as visibility modifiers

More information

Joint Agile Delivery Phase 3

Joint Agile Delivery Phase 3 Joint Agile Delivery Phase 3 Frank Massoudian Edward Pershwitz 2017 TM Forum 1 Joint Agile Delivery Phase 3 Project Lead Champions Participants 2017 TM Forum 2 Catalyst Timeline Oct 10-13, 2016 Stockholm

More information

INTRODUCTION. Chapter #1

INTRODUCTION. Chapter #1 Chapter #1 INTRODUCTION Teaching material for the book Model-Driven Software Engineering in Practice by Morgan & Claypool, USA, 2012. www.mdse-book.com Introduction Contents Human cognitive processes Models

More information

Construction of BPMN-based Business Process Model Base

Construction of BPMN-based Business Process Model Base Construction of BPMN-based Business Process Model Base Yanjie Lu Hongming Cai Lihong Jiang Shanghai Jiaotong University hmcai@sjtu.edu.cn doi:10.4156/ijiip.vol1. issue2.3 Shanghai Jiaotong University lvyanjie@sjtu.edu.cn

More information

i* on ADOxx : A Case Study

i* on ADOxx : A Case Study Fourth International i* Workshop, Hammamet, 7 th -8 th of June 2010 i* on ADOxx : A Case Study an Open Models Project! Authors: Margit Schwab, Dimitris Karagiannis, Alexander Bergmayr Agenda The Open Model

More information

Today s Topic. Lecture 5. What is UML? Why Use UML. UML Diagrams. Introduction to UML. What is UML Why use UML? UML Diagrams

Today s Topic. Lecture 5. What is UML? Why Use UML. UML Diagrams. Introduction to UML. What is UML Why use UML? UML Diagrams Today s Topic Lecture 5 Introduction to UML What is UML Why use UML? UML Static Use case, Class, Object Deployment, Component (Physical ) Dynamic Sequence, Collaboration (Interaction ) Activity, State

More information