Introduction to OpenArchitectureWare

Similar documents
New and Noteworthy. Peter Friese Bernd Kolb

openarchitectureware 4.1 An introduction

Introduction to Model Driven Engineering using Eclipse. Frameworks

Generic Language Technology

with openarchitectureware

Eclipse technology in IFMS Interface Management System

project in an industrial context

Model Transformations for Embedded System Design and Virtual Platforms

Language engineering and Domain Specific Languages

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

Introduction to Dependable Systems: Meta-modeling and modeldriven

Model transformations. Model transformations. Model transformations. Model transformations

ECLIPSE MODELING PROJECT

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

Comparing graphical DSL editors

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

Grammars. Prof. Andreas Prinz. Introduction, Compilers. Examples Meta-models vs. Grammars Summary

Model Driven Engineering (MDE)

BIG MODELS AN ALTERNATIVE APPROACH

ADT: Eclipse development tools for ATL

Introduction to MDE and Model Transformation

Small is Beautiful Building a flexible software factory using small DSLs and Small Models

DRAFT. Consolidation of the Generator Infrastructure MDGEN Model Driven Generation

Migration of Pogo7 Templates

Engineering languages for specifying product-derivation processes in Software Product Lines

Wikileaking Eclipse Modeling - Spilling the beans on how industry uses EMF based tooling successfully! Ronan Barrett, Ericsson

ABAP DSL Workbench SAP TechED 2016

The Galilean Moons of Eclipse

Advanced Topics in Software Engineering (02265) Ekkart Kindler

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

UML&AADL 11 An Implementation of the Behavior Annex in the AADL-toolset OSATE2

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

Budapes( Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék. Code Genera*on

Model driven Engineering & Model driven Architecture

A Family of Languages for Architecture Description

building DSLs with language workbenches

Software Factories Application within the ASE5 project

DSL Implementation. ... with language Workbenches. v1.1 Jan 16, Markus Voelter independent/itemis

Start Up Benoît Langlois / Thales Global Services Eclipse (EMFT) EGF 2011 by Thales; made available under the EPL v1.

Static analysis and testing of executable DSL specification

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

Model-Driven Language Engineering

Acceleo Galileo Simultaneous Release

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

Proseminar. (with Eclipse) Jun.-Prof. Dr.-Ing. Steffen Becker. Model-Driven Software Engineering. Software Engineering Group

Model transformations. Overview of DSLE. Model transformations. Model transformations. The 4-layer architecture

Model-Driven Engineering (MDE) Lecture 1: Metamodels and Xtext Regina Hebig, Thorsten Berger

Eclipse Automotive Working Group

Introduction to EGF. Benoît Langlois / Thales Global Services.

A Survey on Domain-Specific Languages in Robotics

IBM Rational Software Architect

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

An Open Source Domain-Specific Tools Framework to Support Model Driven Development of OSS

Kermeta tutorial. How to create a metamodel. François Tanguy, Didier Vojtisek. Abstract

A Metamodel independent approach for Conflict Detection to support distributed development in MDE. Mostafa Pordel A THESIS

EGF Creation Review. Benoît Langlois - Thales/TCS/EPM. April 22, 2009

Pervasive and Mobile Computing. Context modelling and a context-aware framework for pervasive service creation: A model-driven approach

Train control language teaching computers interlocking

GMF 2.0 Europa Simultaneous Release

Model-driven Generation of Graphical Maps for e-contents

University of Mannheim

Model-Driven Engineering (MDE) Lecture 2: Semantics. Regina Hebig, Thorsten Berger

CISC836: Models in Software Development: Methods, Techniques and Tools

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

Enabling High Quality Executable Domain Specific Language Specification

The etrice Eclipse Project Proposal

MDA Driven xuml Plug-in for JAVA

Experimental transformations between Business Process and SOA models

Open-Source Development Tools for Domain-Specific Modeling: Results from a Systematic Literature Review

Applying Model Driven Technologies in the Creation. of Domain Specific Modeling Languages

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

Assessing the Use of Eclipse MDE Technologies in Open-Source Software Projects

Generation of Web-based Prototypes for Business Applications

Eclipse Development Tools for Epsilon

What Every Xtext User Wished to Know Industry Experience of Implementing 80+ DSLs

Modellierung operationaler Aspekte von Systemarchitekturen. Master Thesis presentation. October 2005 March Mirko Bleyh - Medieninformatik

Generation Chain. Benoît Langlois Thales/EPM. EGF Tutorial Generation Chain by Thales; made available under the EPL v1.

Comparison and merge use-cases from practice with EMF Compare

CSSE 490 Model-Based Software Engineering: Cougaar Model-Driven Architecture Example

Expressing Feature-Based Variability in Structural Models

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

Two hours. Appendices A and B are located at the back of the exam UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE

A Product Derivation Tool Based on Model-Driven Techniques and Annotations

When Modeling meets Productivity. Sven Efftinge - itemis

The Eclipse Modeling Framework and MDA Status and Opportunities

SCA Tools: new & noteworthy

Arcimboldo. A Tool to Support So1ware Engineering. Claude Pe)tpierre h/p://

TOWARDS BUILDING REUSABILITY IN CONTROL SYSTEMS A JOURNEY

The Applicability of Common Generative Techniques for Textual Non-Code Artifact Generation

Sequence Diagram Generation with Model Transformation Technology

MDD with OMG Standards MOF, OCL, QVT & Graph Transformations

Kermeta tutorial. How to create an EMF meta model? François Tanguy, Didier Vojtisek, Zoé Drey, Marie Gouyette. Abstract

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

Eclipse Modeling Framework (EMF) Paweł Żalejko

Domain-Specific Languages Language Workbenches

INF Lecture plan

TOPCASED. Current status

REPROTOOL Workflow (Textual documents in SW development) D3S Seminar

Descartes Modeling Language Quick Start Guide

Dr. Klaus Fischer. Multiagent Systems Group DFKI GmbH Saarbrücken, Germany ICAART

Transcription:

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 Not intended to make you an expert I do not cover all aspects involved UML models only briefly covered Nothing here relating to GMF Benefit for student projects involving textual DSL creation using Eclipse plug-ins! ICT 2

Introduction OpenArchitectureWare (oaw) A suite of modelling tools Uses EMF at the core Allows integration of other EMF based tools GMF EMF Kermeta MOFScript Pure::Variants Etc. Also integration of general purpose languages such as Java. ICT 3

Primary Elements XText(T2M) Xtend(M2M) Xpand(M2T) Xweave(AO-M2M) Check (constraints) Workflow (sequencing) ICT 4

Xtext Domain specific languages Language which model a particular application domain (e.g. SQL, spreadsheet formula, Graphviz, etc.) Raise the abstraction level from GPL (e.g. Java) to DSL Think in terms of Smart Home abstractions (e.g. sensors, power management, lighting, heating, etc.) DSLs can be textual or graphical. Complex to develop and time consuming Text to model Generates a meta-model for your domain Also creates a parser and common defaults for errors and so forth Xtext provides the means to develop an editor using a BNF-like syntax Targets Eclipse Can be also be independent of Eclipse ICT 5

Xtext Grammar ICT 6

Xtext Editor using the Grammar ICT 7

Xtend Model transformation language OCL like expression language used throughout oaw Can be used in constraint checks, model transformations and generators Add methods to meta types (Java calls are possible if necessary) Tool support (syntax highlighting, code completion, debugger) ICT 8

Complex Xtend ICT 9

Simple Xtend ICT 10

Xpand ICT 11

Check An OCL like constraint language Provides dynamic constraint support in IDE Allows both errors and warning to be specified context Type ERROR "Duplicate type detected: " + this.name : allelements().typeselect(type).select(e e.name == this.name).size ==1; context Type WARNING Features should be larger than one character : name.size>1; ICT 12

Workflow Defines the order of operations Invoke components Invoke transformations Invoke other workflows Example ICT 13

Contrast with other technologies OAW Language Xtext Related Approaches Textual Concrete Syntax (TCS) Xtend Xpand Check Atlas Transformation Language (ATL) Kermeta MOFScript, Model2Text, JET, VTL, Frames, OCL ICT 14

Advanced Features Multiple model files UML2 Adapter Recipes Aspect-Oriented transformation Grammar reuse? ICT 15

Example:Language for Workflow Modelling Orchestration part Services and timing part ICT 16

General Procedure for Development of Textual DSL using oaw 1. Create/edit grammar 2. Generate artefacts 3. Set properties to false on first generation Close configuration instance 6. Alter Check files and create templates 5. Test correctness Of grammar in editor 4. Create configuration instance 7. Add images and labels (requires restart of instance) ICT 17

Using oaw with UML models So far only covered development of textual languages oaw also has support for UML2 models All oaw languages (i.e. Xtend, Xpand et al) able to access UML models ICT 18

Using oaw with UML2 Models First you need to install the UML2 feature from eclipse.org: http://download.eclipse.org/tools/uml2/updates/site-interim.xml The oaw uml2adapter is available from the oaw update site: http://www.openarchitectureware.org/updatesite/milestone/site.xml Configure workflow (example fragment) Hint: General practice is to use an existing UML2 project in oaw and adapt to suit your needs!! (check oaw site for these projects!) ICT 19

Open Points Why use a textual modelling language? Expressivity Speed? Quicker to develop meta-models using text! (e.g Text2UML) Conciseness Why use a graphical modelling language? Provide overview Hide complexity Cases for hybrid? Use textual for some parts of the language, graphical for other? Example for SOA express locations of services using text express order using UML activity diagrams ICT 20

Summary oaw is a modelling tool suite for T2M, M2M, M2T Provides a workflow and constraints language Generates the Java for an Eclipse plug in Can be utilised with UML2 models Integrates with general purpose languages i.e. Java ICT 21

Useful Sites for oaw Contact me for workflow language example and this PPT. Neil.Loughran@sintef.no Download sites Update site http://www.openarchitectureware.org/updatesite/milestone/site.xml Complete distribution http://oaw.itemis.com/openarchitectureware/language=en/2837/downloads oaw Documentation http://www.openarchitectureware.org/pub/documentation/4.3.1/html/contents/ Video Tutorials http://www.openarchitectureware.org/staticpages/index.php/oaw_screencasts Forum http://www.openarchitectureware.org/forum/?menu=forum ICT 22

Questions? ICT 23