Eclipse Modeling Project Advantages and Disadvantages

Size: px
Start display at page:

Download "Eclipse Modeling Project Advantages and Disadvantages"

Transcription

1 IT Vertiefung Model Driven Software Development MDSD Concepts Metamodeling, MOF, Ecore MDSD Process Model Driven Generation OMG Model Driven Architecture Edin Arnautovic Wolfgang Radinger MDSD Concepts Warum modellieren wir? Modelle sind notwendig um Informationen verständlicher darzustellen um essentielle Systemaspekte aufzuzeigen zur Kommunikation (Projektmitglieder, Kunde) um komplexe Systeme darstellen zu können 1

2 Models in Traditional Engineering As old as engineering Traditional means of reducing engineering risk What Engineers Do Before they build the real thing... they first build models and then learn from them from Brian Seltic from Brian Seltic Models Engineering model A reduced representation of some system that is easier to understand than the actual system How Models are Used To detect errors and omissions and to determine key tradeoffs in complex designs before committing full resources to realization Through (formal) analysis and experimentation Models are the new code When the system evolves or a problem occurs, modify a model, or a mapping, not the code! Assembly Code Assembler High Level Language Source Code Source Code Compiler Executable Models Model Compiler Investigate and compare alternative solutions Minimize engineering risk To communicate with stakeholders Clients, users, implementers, testers, documenters, etc. To drive implementation Computer Technology 7/99 Machine Code 1960 s None Assembly Code 1980 s Hardware Platform Source Code 2000 s Software Platform 2

3 What is MDSD? MDSD = Model Driven Software Development different than model based Model based vs. model driven Models are first class objects Based around domain driven metamodeling It is also: development of infrastructure to develop software (software factories) Computer Technology 10/99 Reasons for using MDSD You want to provide a way for your domain experts to formally specify their knowledge, and to provide a way for your technology people to define how this is implemented (using model transformations). You might want to provide different implementations (i.e. more concrete models) for the same model, perhaps because you want to run it on different platforms (.NET, Java, CORBA). You may want to capture knowledge about the domain, the technology, and their mapping in a clear, uncluttered format. Advantages of MDSD Better integration of domain experts Faster software changes Validation of software under construction Better realization of the software architecture Enhanced portability to other platforms In general, you don t want to bother with implementation details when specifying your functionality. MDSD results in a fan out, i.e. one set of models can be the source for transformations to several targets. More efficient for product line development Reuse of generators and transformation rules Another reason for using MDSD: You are working in the context of product lines and software system families and need to develop domain specific assets. Computer Technology M a rk u s V ö l t e r -11-/99 3

4 Disadvantages of MDSD Higher overhead for one of a kind system Concepts Models expressing the application functionality based on domain specific languages Domain specific languages, usually expressed by metamodels Platforms contains common middleware (e.g. CORBA, J2EE, or.net) and domain specific frameworks Transformations to map models to platforms How MDSD works Developer develops model(s) based on certain metamodel(s), expressed using a DSL. Using code generation templates, the model is transformed to executable code. Alternative: Interpretation Optionally, the generated code is merged with manually written code. One or more model to model transformation steps may precede code generation. Model Model Model Transformer Model Transformer Metamodel Tranformation Rules Metamodel Code Generation Templates optional, can be repeated Domain Driven Development Domain Driven Development is about making software development more domain related as opposed to computing related. It is also about making software development in a certain domain more efficient. Domain Concepts mental work of developers Software Technology Concepts Domain Concepts Software Technology Concepts Manually Generated Code Written Code optional M a rk u s V ö l t e r Computer Technology -15-/ M a rk u s V ö l t e r Computer Technology -16-/99 4

5 What is a Domain A definition could be: A domain is a bounded area of knowledge or interest. Examples (from the world of Software) include: ebanking Embedded Software Web Based ebusiness Applications Control Software for 4 Cylinder Diesel Engines Astronomical Image Processing Software Domains can have varios scopes as well as various flavours. Kinds of Domains In the context of software development it is also useful to distinguish (at least) two kinds of domains: Functional Domains represent the business/professional issues; Banking Human resource management Insurance Engine Controllers Astronomical Telescope Control Technical Domains adress key technical issues for software development Distribution, Failover and Load Balancin Persistence and Transactions GUI Design M a rk u s V ö l t e r Computer Technology -17-/99 Institute of Concurreny and Realtime M a rk u s V ö l t e r Computer Technology -18-/99 Domain Specific Language Defines the semantic of the model The notation (concrete syntax) of the DSL can be textual or graphical More important: The DSL s abstract syntax, better known as metamodel Metamodel defines the model elements for domain modeling Metamodeling / Meta Object Facility The DSL s semantics are used to transform the DSL to generalpurpose languages 5

6 Klasse vs. Objekte Klassen stellen Konzepte dar. Bei OOP werden sie in einer OO Programmiersprache implementiert Objekte dieser Klasse existieren zur Ausführungszeit, um das Verhalten und Wissen des Systems bereitzustellen. Klasse Objekt Auto Kennzeichen :Auto W A :Auto W 2222 XY :Auto W 1111 AB :Auto S 1234 XY Objektdiagramme Statische Objektdiagramme sind manchmal hilfreich Bei der Erläuterung des Klassendiagramms Bei Schwierigkeiten mit der Klassifikation Zur Untersuchung der Multiplizität Zur Darstellung von Vorher und Nachher Zuständen leg_1:leg Abflugort = VIE Zielort =FRA myflug:flug Abflugort = VIE Zielort =LAX leg_2:leg Abflugort = FRA Zielort =LAX Aggregation Die Aggregation bestimmt Ganzes Teil Beziehungen. Beispiel: Aggregation Besitzverhältnis Die Klasse die das Ganze darstellt besitzt die Klasse die die Teile modelliert, und steuert den Zugriff. Lebensspanne Das Ganze erstellt und löscht die Teile. Zugriffsmöglichkeiten Auf die Teile wird über das Ganze zugegriffen. Weiterreichung Einige Operationen auf der Ebene des Ganzen bewirken die gleichen Operationen bei den Teilen. Mahlzeit {or} Suppe Salat Hauptgericht Dessert 6

7 Multiplizitäten Bereiche [min max] z.b. [1..10] Komposition Die Komposition ist eine starke Aggregation. * beliebig z.b. [0..*] Drückt eine physikalische Inklusion der Teile im Ganzen aus. genau 1: 1 Teile und Ganzen bilden eine Einheit 0: * oder 0..* 0 1: 0..1 fixe Anzahl (z.b. 3): 3 Kaffeetisch 1 Bereich (z.b. 3): 3..* Bereich (z.b. 3-6): 3..6 Aufzählung : 3,6,7,8,9 oder 3, Tischplatte Tischbein Folie Hitz & Kappel, Work Metamodel Meta : means about Metamodel: describes the possible structure of models conforming to the metamodel Metamodeling 1 Domain Model Metamodel Real-world elements model elements metamodel elements describes describes Computer Technology 28/99 7

8 Metamodeling 2 Metamodeling allows for the modeling of modeling languages Analogy to EBNF for programming languages. E.g. C: Use case model <function-definition>::= <function-heading> <function-body> <function-heading>::= <return-type> <function-name> '(' <formal-parameter-phrase> if ( <expression> ) <statement 1> else <statement 2> Metamodeling allows the definition of tailored or domainspecific modeling languages g A metamodel defines the abstract syntax of a modeling language Model : Metamodel = Instance : Class Computer Technology 30/99 Use case metamodel Example 1: Model and Metamodel interface Sensor { operation start():void; operation stop():void; operation measure():float; } interface Controller { operation reportproblem(sensor s, String errordesc ):void; } Interface Operation name : String type : String {ordered} * Parameter name : String type : String * Exception type : String Computer Technology Nico Suchold openarchitectureware / M a rk u s V ö l t e r Computer Technology -32-/99 8

9 Example: Architecture centric Metamodel Domain centric Model Computer Technology 34/99 Domain centric Metamodel Computer Technology 35/99 Computer Technology 36/99 9

10 MOF Meta Object Facility Is an object oriented modeling language Uses UML syntax Meta Object Facility (MOF) Used to formally define UML by the OMG UML 2.0 was also an aiming a redefining the UML formally based on an extended MOF Object Management Group 3 MOF Object Management Group (OMG ) OMG s Mission Since 1989 Develop an architecture, using object technology, for distributed ib t d application integration, ti guaranteeing: reusability of components interoperability & portability basis in commercially available software Specifications freely available Implementations exist Member controlled not for profit Richard Mark Soley 10

11 OMG s Major Successes Common Object Request Broker Architecture CORBA remains the only language and platform neutral interoperability standard Unified Modeling Language UML TM remains the world s only standardized modeling language Common Warehouse Metamodel CWM TM, the integration of the last two data warehousing initiatives Meta Object Facility OMG s Metalevels describes instance of MOF (Meta-Object M3: Meta-metamodel Facility) describes instance of M2: Metamodel describes instance of M1: Model MOF TM, the repository standard XML Metadata Interchange XMI TM, the XML UML standard Richard Mark Soley describes M0: Instances instance of MOF Example The relationship between metamodel and model Computer Technology 44 /99 11

12 Class Diagram Object Diagram Level n ECLIPSE MODELING FRAMEWORK Level n Eclipse Modeling in a Nutshell Eclipse Modeling is the umbrella project for all things modeling that happen on the Eclipse platform: The Eclipse Modeling Project focuses on the evolution and promotion of model based development technologies within the Eclipse community by providing a unified set of modeling frameworks, tooling, and standards implementations. EMP Core: EMF The Eclipse Modeling Framework (EMF) serves as the foundation: It provides the Ecore Metametamodel and frameworks and tools around it for tasks such as Editing Transactions Validation Eclipse Modeling is not formally related to OMG, but implements several of theirstandards standards. It is fair to say that many leading edge modeling tools are hosted/developed at Eclipse Modeling. Query Distribution/Persistence ib i i (CDO, Net4j, Teneo) Everything Open Source under the Eclipse Public License Markus Voelter, Bernd Kolb, Peter Friese 12

13 EMF (2) Modeling framework and code generation facility for building tools and other applications Model specification described in XMI Models can be specified using annotated Java, XML documents and modeling tools EMF (3) Meta model (Ecore)for describing models Reflective API EObject extends Notifier monitor all changes to the object's data Foundation for interoperability with other EMF based tools and applications Provides tools and runtime support for models Set of Java classes for the model Set of adapter classes for viewing editing of the model Basic editor Computer Technology 49/99 Computer Technology 50/99 Domain Specific Language Defines the semantic of the model The notation (concrete syntax) of the DSL can be textual of graphical More important: The DSL s abstract syntax, better known as metamodel Metamodel defines the model elements for domain modeling The DSL s semantics are used to transform the DSL to generalpurpose languages Computer Technology 51/99 13

14 Definition of Our Own DSL Two approaches for defining a DSL: Alternative 1: Start from scratch based on a predefined meta metamodel (e.g. MOF) Alternative 1 Example: Metamodel for Feature Modeling based on MOF Alternative 2: Use an available metamodel (e.g. UML metamodel) and extend it Alternative 1 Instance of the Metamodel UML Notation: Alternative 2 Extending for example the UML metamodel: Feature Model Notation: It can be used in the following ways: 14

15 Alternative 2 UML Profiles formally use the meta metamodel to extend the UML metamodel Example Since there aren t many MOF based tools, UML profiles can be used Metamodel elements map to <<stereotypes>> Metamodel attributes map to {tagged values} Metamodel constraints map to modeling constraints/rules UML 2.x Profile Metamodel Enterprise JavaBeans Component Architecture for Enterprise Applications Beans: Entity Session (Stateless/Stateful) Message Remote and Home Access through Interfaces Computer Technology 60/99 15

16 Example EJB Profile Kinds of Metamodels Architecture centric MDSD Represents the concept of the technical platform Simpler transformations Domain concepts can be added iteratively Used if no sophisticated domain specific metamodel available Domain centric MDSD Useful for product line development in single domain Example: Architecture centric Metamodel Domain centric Metamodel Computer Technology 64/99 16

17 Multiple Technical Domains One DSL is usually not suitable to describe all aspects of a complex system (e.g. persistence, GUI, ) Domain centric Metamodel (2) Define multiple domains with their metamodel Connect them by small number of gateway meta classes Computer Technology 66/99 How do I come up with a good metamodel? Incrementally! Basedon experience from previous projects, andby mining mining domain experts. A very good idea is to start with a (typically) very well known domain: the target software architecture (platform) Architecture Centric DSLs see below, Cascading How do I come up with a good metamodel? II In order to continuously improve and validate the metamodel for a domain, it has to be exercised with domain experts as well as by the development team. In order to achieve this, it is a good idea to use it during discussions with stakeholders by formulating sentences using the concepts in the meta model. As soon as you find that you cannot express something using sentences based on the meta model, you have to reformulate the sentence the sentence s statement is just wrong you have to update the meta model M a rk u s V ö l t e r Computer Technology -67-/ M a rk u s V ö l t e r Computer Technology -68-/99 17

18 How do I come up with a good metamodel? III Example: owns * implements 1 Port Interface Component Required Port Provided Port provides operations defined by provides access to operations defined by MDSD Process A component owns any number of ports. Each port implements exactly one interface. There are two kinds of ports: required ports and provided ports. A provided port provides the operations defined by its interface. A required port provides access to operations defined by its interface. Computer Technology -69-/99 Use Cases for Model Transformations Usually, model transformations are performed as a concretization step. Rules (using terms from the underlying metamodel) specify transformations. Modular Transformations Replace for other domains Transforming a functional analysis model to a design model for a specific platform Specializing general model to a more domain specific model. Creating different views of a model (varying level of detail, varying focus) Extracting subsets oraspects of a model (mainly for analysis and constraint checking) Weaving different models together (e.g. aspects) Replace for other products 18

19 Transformer Do not base them on concrete syntax (usually error prone) Use three pass approach: Example: Component Based Integration 1. Parse source model into AST 2. Transform source AST into target AST 3. Generate concrete syntax based target model Architectural Aspect of MDSD Model transformations map elements of the source model to elements of the target model a restricted set of well defined concepts is necessary that s a characteristic of a well defined architecture MDSD requires a well defined architecture and forces a conform software development 19

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

Organization of DSLE part. Overview of DSLE. Model driven software engineering. Engineering. Tooling. Topics: 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

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

Foundations of Model-Driven Software Engineering

Foundations of Model-Driven Software Engineering Model-Driven Software Engineering Foundations of Model-Driven Software Engineering Dr. Jochen Küster ([email protected]) Contents Introduction to Models and Modeling Concepts of Model-Driven Software

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 [email protected] www.efftinge.de Bernd Kolb [email protected] www.kolbware.de Markus Völter [email protected] www.voelter.de -1- Model Driven

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

Patterns in Domain Models

Patterns in Domain Models Master Thesis Patterns in Domain Models A Methodology and its Application in the Healthcare Management Domain Technische Universität Berlin Institute of Database Systems and Information Management (DIMA)

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

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

MDA Journal A BPT COLUMN. David S. Frankel. Introduction. May 2004

MDA Journal A BPT COLUMN. David S. Frankel. Introduction. May 2004 Introduction MDA Journal May 2004 At the end of 2002, with the computer industry reeling amidst the near total shutdown in corporate IT spending, IBM was rather quietly continuing its long standing program

More information

Data Warehousing Metadata Management

Data Warehousing Metadata Management Data Warehousing Metadata Management Spring Term 2014 Dr. Andreas Geppert Credit Suisse [email protected] Spring 2014 Slide 1 Outline of the Course Introduction DWH Architecture DWH-Design and multi-dimensional

More information

Data Warehousing Metadata Management

Data Warehousing Metadata Management Data Warehousing Metadata Management Spring Term 2014 Dr. Andreas Geppert Credit Suisse [email protected] Spring 2014 Slide 1 Outline of the Course Introduction DWH Architecture DWH-Design and multi-dimensional

More information

Model-Driven Data Warehousing

Model-Driven Data Warehousing Model-Driven Data Warehousing Integrate.2003, Burlingame, CA Wednesday, January 29, 16:30-18:00 John Poole Hyperion Solutions Corporation Why Model-Driven Data Warehousing? Problem statement: Data warehousing

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

MDA Overview OMG. Enterprise Architect UML 2 Case Tool by Sparx Systems http://www.sparxsystems.com. by Sparx Systems

MDA Overview OMG. Enterprise Architect UML 2 Case Tool by Sparx Systems http://www.sparxsystems.com. by Sparx Systems OMG MDA Overview by Sparx Systems All material Sparx Systems 2007 Sparx Systems 2007 Page:1 Trademarks Object Management Group, OMG, CORBA, Model Driven Architecture, MDA, Unified Modeling Language, UML,

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

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

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

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 [email protected] Stefan Schulze Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich,

More information

Taking Subversion to a Higher Level. Branching/Merging Support. Component Management Support. And More

Taking Subversion to a Higher Level. Branching/Merging Support. Component Management Support. And More Taking Subversion to a Higher Level Branching/Merging Support Component Management Support And More About Impact CM Impact CM is a Service AddOn that facilitates software configuration management (CM)

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 [email protected]

More information

Java Metadata Interface and Data Warehousing

Java Metadata Interface and Data Warehousing Java Metadata Interface and Data Warehousing A JMI white paper by John D. Poole November 2002 Abstract. This paper describes a model-driven approach to data warehouse administration by presenting a detailed

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

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

What Is the Java TM 2 Platform, Enterprise Edition?

What Is the Java TM 2 Platform, Enterprise Edition? Page 1 de 9 What Is the Java TM 2 Platform, Enterprise Edition? This document provides an introduction to the features and benefits of the Java 2 platform, Enterprise Edition. Overview Enterprises today

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

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 [email protected] and [email protected] Abstract. This

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 [email protected] http://www.kr.inf.uc3m.es/ggenova/ Knowledge Reuse Group Universidad Carlos III de Madrid

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

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 [email protected] ABSTRACT Models can

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

Semantic Web. Semantic Web: Resource Description Framework (RDF) cont. Resource Description Framework (RDF) W3C Definition:

Semantic Web. Semantic Web: Resource Description Framework (RDF) cont. Resource Description Framework (RDF) W3C Definition: Semantic Web: The Semantic Web is an extension of the current web in which information is given well-defined meaning, better enabling computers and people to work in cooperation. Tim Berners-Lee, James

More information

Domain Driven Design and Model Driven Software Development

Domain Driven Design and Model Driven Software Development Domain Driven Design and Model Driven Software Development Karsten Klein, hybrid labs, January 2007 Version: 1.0 Introduction Eric Evans Book Domain Driven Design was first published end of 2003 [Evans2003].

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 [email protected]

More information

Jos Warmer, Independent [email protected] www.openmodeling.nl

Jos Warmer, Independent jos.warmer@openmodeling.nl www.openmodeling.nl Domain Specific Languages for Business Users Jos Warmer, Independent [email protected] www.openmodeling.nl Sheet 2 Background Experience Business DSLs Insurance Product Modeling (structure) Pattern

More information

Tools for MDA Software Development: Evaluation Criteria and Set of Desirable Features

Tools for MDA Software Development: Evaluation Criteria and Set of Desirable Features Fifth International Conference on Information Technology: New Generations Tools for MDA Software Development: Evaluation Criteria and Set of Desirable Features Tihomir Calic, Sergiu Dascalu, Dwight Egbert

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

Data-Warehouse-, Data-Mining- und OLAP-Technologien

Data-Warehouse-, Data-Mining- und OLAP-Technologien Data-Warehouse-, Data-Mining- und OLAP-Technologien Chapter 2: Data Warehouse Architecture Bernhard Mitschang Universität Stuttgart Winter Term 2014/2015 Overview Data Warehouse Architecture Data Sources

More information

Über die Semantik von Modellierungssprachen

Über die Semantik von Modellierungssprachen Über die Semantik von Modellierungssprachen und des UML-Standards Prof. Dr. Bernhard Rumpe Technische Universität Braunschweig http://www.sse.cs.tu-bs.de/ Seite 2 What is a model? And why do we need modeling

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

Simplifying e Business Collaboration by providing a Semantic Mapping Platform

Simplifying e Business Collaboration by providing a Semantic Mapping Platform Simplifying e Business Collaboration by providing a Semantic Mapping Platform Abels, Sven 1 ; Sheikhhasan Hamzeh 1 ; Cranner, Paul 2 1 TIE Nederland BV, 1119 PS Amsterdam, Netherlands 2 University of Sunderland,

More information

Difference Between Model-Driven and Traditional Iterative Software Development

Difference Between Model-Driven and Traditional Iterative Software Development Process Implications of Model-Driven Software Development Author: Jorn Bettin Version 1.0 September 2004 Copyright 2003, 2004 SoftMetaWare Ltd. SoftMetaWare is a trademark of SoftMetaWare Ltd. All other

More information

Using UML to Construct a Model Driven Solution for Unified Access to Disparate Data

Using UML to Construct a Model Driven Solution for Unified Access to Disparate Data Using UML to Construct a Model Driven Solution for Unified Access to Disparate Data Randall M. Hauch VP Development, Chief Architect Metadata Management OMG's Second Workshop on UML for Enterprise Applications:

More information

Introduction to Generative Software Development

Introduction to Generative Software Development Introduction to Generative Software Development Krzysztof Czarnecki University of Waterloo [email protected] www.generative-programming.org Goals What is to be achieved? Basic understanding of Generative

More information

Search Engines Chapter 2 Architecture. 14.4.2011 Felix Naumann

Search Engines Chapter 2 Architecture. 14.4.2011 Felix Naumann Search Engines Chapter 2 Architecture 14.4.2011 Felix Naumann Overview 2 Basic Building Blocks Indexing Text Acquisition Text Transformation Index Creation Querying User Interaction Ranking Evaluation

More information

Master s Thesis. Generating Web Applications with Abstract Pageflow Models

Master s Thesis. Generating Web Applications with Abstract Pageflow Models Master s Thesis Generating Web Applications with Abstract Pageflow Models carried out at the Information Systems Institute Distributed Systems Group Vienna University of Technology under the guidance of

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

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

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 [email protected] Thomas Kühne Darmstadt University of Technology 64283

More information

Revel8or: Model Driven Capacity Planning Tool Suite

Revel8or: Model Driven Capacity Planning Tool Suite Revel8or: Model Driven Capacity Planning Tool Suite Liming Zhu 1,2, Yan Liu 1,2, Ngoc Bao Bui 1,2,Ian Gorton 3 1 Empirical Software Engineering Program, National ICT Australia Ltd. 2 School of Computer

More information

Software Engineering. Software Engineering. Component-Based. Based on Software Engineering, 7 th Edition by Ian Sommerville

Software Engineering. Software Engineering. Component-Based. Based on Software Engineering, 7 th Edition by Ian Sommerville Software Engineering Component-Based Software Engineering Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain that CBSE is concerned with developing standardised components

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

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

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

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

Increasing Development Knowledge with EPFC

Increasing Development Knowledge with EPFC The Eclipse Process Framework Composer Increasing Development Knowledge with EPFC Are all your developers on the same page? Are they all using the best practices and the same best practices for agile,

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 [email protected]

More information

Business Performance Management Standards

Business Performance Management Standards Business Performance Management Standards Stephen A. White, PhD. BPM Architect Business Performance Management Business performance management Taking an holistic approach, companies align strategic and

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

Databases in Organizations

Databases in Organizations The following is an excerpt from a draft chapter of a new enterprise architecture text book that is currently under development entitled Enterprise Architecture: Principles and Practice by Brian Cameron

More information

today 1,700 special programming languages used to communicate in over 700 application areas.

today 1,700 special programming languages used to communicate in over 700 application areas. today 1,700 special programming languages used to communicate in over 700 application areas. Computer Software Issues, an American Mathematical Association Prospectus, July 1965, quoted in P. J. Landin

More information

CDC UNIFIED PROCESS PRACTICES GUIDE

CDC UNIFIED PROCESS PRACTICES GUIDE Purpose The purpose of this document is to provide guidance on the practice of Modeling and to describe the practice overview, requirements, best practices, activities, and key terms related to these requirements.

More information

Polyglot Multi-Paradigm. Modeling. MDA in the Real World. Stefan Tilkov [email protected]

Polyglot Multi-Paradigm. Modeling. MDA in the Real World. Stefan Tilkov stefan.tilkov@innoq.com Polyglot Multi-Paradigm Modeling MDA in the Real World Stefan Tilkov [email protected] What I ll Talk About How I define MDA What a typical tool chain looks like Real-world examples How UML/MOD,

More information

Using Digital Libraries for E-Learning: Environments, Projects, Interfaces

Using Digital Libraries for E-Learning: Environments, Projects, Interfaces Using Digital Libraries for E-Learning: Environments, Projects, Interfaces Using Digital Libraries for E-Learning: Developing Strategies E-Learning Metadata Standards E-Learning Content and Creation Tools

More information

Aplicando enfoque MDE a aplicaciones WEB-SOA

Aplicando enfoque MDE a aplicaciones WEB-SOA Aplicando enfoque MDE a aplicaciones WEB-SOA María Consuelo Franky [email protected] Dpto. Ingeniería de Sistemas Universidad Javeriana Bogotá - 2010 http://sophia.javeriana.edu.co/~lfranky/ 1 Temario

More information

A Model-based Software Architecture for XML Data and Metadata Integration in Data Warehouse Systems

A Model-based Software Architecture for XML Data and Metadata Integration in Data Warehouse Systems Proceedings of the Postgraduate Annual Research Seminar 2005 68 A Model-based Software Architecture for XML and Metadata Integration in Warehouse Systems Abstract Wan Mohd Haffiz Mohd Nasir, Shamsul Sahibuddin

More information

Metadata Management for Data Warehouse Projects

Metadata Management for Data Warehouse Projects Metadata Management for Data Warehouse Projects Stefano Cazzella Datamat S.p.A. [email protected] Abstract Metadata management has been identified as one of the major critical success factor

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

Clarifying a vision on certification of MDA tools

Clarifying a vision on certification of MDA tools SCIENTIFIC PAPERS, UNIVERSITY OF LATVIA, 2010. Vol. 757 COMPUTER SCIENCE AND INFORMATION TECHNOLOGIES 23 29 P. Clarifying a vision on certification of MDA tools Antons Cernickins Riga Technical University,

More information

Motivation Definitions EAI Architectures Elements Integration Technologies. Part I. EAI: Foundations, Concepts, and Architectures

Motivation Definitions EAI Architectures Elements Integration Technologies. Part I. EAI: Foundations, Concepts, and Architectures Part I EAI: Foundations, Concepts, and Architectures 5 Example: Mail-order Company Mail order Company IS Invoicing Windows, standard software IS Order Processing Linux, C++, Oracle IS Accounts Receivable

More information

Semantic-enabled Software Engineering and Development

Semantic-enabled Software Engineering and Development Semantic-enabled Software Engineering and Development Bernhard Bauer, Stephan Roser Programming of Distributed Systems, University of Augsburg, 86135 Augsburg [bauer roser]@informatik.uni-augsburg.de Abstract:

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

Embedded Software Development with MPS

Embedded Software Development with MPS Embedded Software Development with MPS Markus Voelter independent/itemis The Limitations of C and Modeling Tools Embedded software is usually implemented in C. The language is relatively close to the hardware,

More information

Business-Driven Software Engineering Lecture 3 Foundations of Processes

Business-Driven Software Engineering Lecture 3 Foundations of Processes Business-Driven Software Engineering Lecture 3 Foundations of Processes Jochen Küster [email protected] Agenda Introduction and Background Process Modeling Foundations Activities and Process Models Summary

More information

OpenEmbeDD basic demo

OpenEmbeDD basic demo OpenEmbeDD basic demo A demonstration of the OpenEmbeDD platform metamodeling chain tool. Fabien Fillion [email protected] Vincent Mahe [email protected] Copyright 2007 OpenEmbeDD project (openembedd.org)

More information

Toward Families of QVT DSL and Tool

Toward Families of QVT DSL and Tool Toward Families of QVT DSL and Tool Benoît Langlois, Daniel Exertier, Ghanshyamsinh Devda Thales Research & Technology RD 128 91767 Palaiseau, France {benoit.langlois, daniel.exertier, ghanshyamsinh.devda}@thalesgroup.com

More information

BUSINESS RULES MANAGEMENT AND BPM

BUSINESS RULES MANAGEMENT AND BPM KINGSTON & CROYDON BRANCH BUSINESS RULES MANAGEMENT AND BPM WHO'S MANAGING YOUR RULES? Paul Vincent Rules Specialist and Product Management Fair Isaac October 12, 2005 Agenda Business Rules Approach a

More information

Tool Support for Software Variability Management and Product Derivation in Software Product Lines

Tool Support for Software Variability Management and Product Derivation in Software Product Lines Tool Support for Software Variability Management and Product Derivation in Software s Hassan Gomaa 1, Michael E. Shin 2 1 Dept. of Information and Software Engineering, George Mason University, Fairfax,

More information

Di 6.1a. Warum naive SOA scheitert Ein Erfahrungsbericht. Adam Bien. January 26-30, 2009, Munich, Germany ICM - International Congress Centre Munich

Di 6.1a. Warum naive SOA scheitert Ein Erfahrungsbericht. Adam Bien. January 26-30, 2009, Munich, Germany ICM - International Congress Centre Munich Di 6.1a January 26-30, 2009, Munich, Germany ICM - International Congress Centre Munich Warum naive SOA scheitert Ein Erfahrungsbericht Adam Bien How To Kill a SOA Project Early? [Warum naive SOA scheitert]

More information

Model driven architecture: Principles and practice

Model driven architecture: Principles and practice Softw Syst Model (2004) 3: 314 327 / Digital Object Identifier (DOI) 10.1007/s10270-004-0061-2 Expert s voice Model driven architecture: Principles and practice Alan W. Brown IBM Software Group, 4205 S.

More information

Industrial Case Study on the Integration of SysML and AUTOSAR with Triple Graph Grammars

Industrial Case Study on the Integration of SysML and AUTOSAR with Triple Graph Grammars Industrial Case Study on the Integration of SysML and AUTOSAR with Triple Graph Grammars Holger Giese, Stephan Hildebrandt, Stefan Neumann, Sebastian Wätzoldt Technische Berichte Nr. 57 des Hasso-Plattner-Instituts

More information

Developing in the MDA Object Management Group Page 1

Developing in the MDA Object Management Group Page 1 Developing in OMG s New -Driven Architecture Jon Siegel Director, Technology Transfer Object Management Group In this paper, we re going to describe the application development process supported by OMG

More information

A Model-Driven Approach for Graph Visualization

A Model-Driven Approach for Graph Visualization A Model-Driven Approach for Graph Visualization Celal Çığır, Alptuğ Dilek, Akif Burak Tosun Department of Computer Engineering, Bilkent University 06800, Bilkent, Ankara {cigir, alptug, tosun}@cs.bilkent.edu.tr

More information

ProGUM-Web: Tool Support for Model-Based Development of Web Applications

ProGUM-Web: Tool Support for Model-Based Development of Web Applications ProGUM-Web: Tool Support for Model-Based Development of Web Applications Marc Lohmann 1, Stefan Sauer 1, and Tim Schattkowsky 2 1 University of Paderborn, Computer Science, D 33095 Paderborn, Germany {mlohmann,sauer}@upb.de

More information