Model-to-Model Transformations in MEMOCenterNG

Size: px
Start display at page:

Download "Model-to-Model Transformations in MEMOCenterNG"

Transcription

1 Model-to-Model Transformations in MEMOCenterNG Jens Gulden Chair of Information Systems and Enterprise Modelling Institute for Computer Science und Business Information Systems (ICB) University of Duisburg-Essen, Universitätsstr Essen Germany jens.gulden@uni-duisburg-essen.de

2 Information Systems and Enterprisee Modelling, University Duisburg Essen, Prof. Frank 1 Introduction One core feature of enterprise models is the ability to exploit the knowledge they capture for specific analysess or transformation purposes. Enterprise models carry a high degree of semanticss through their domain specific language elements, which makes it easy to formulate specific queries for analysess and to describe desiredd transformations. In the following, a general approach for running model to model transformations from models in MEMOCenterNG to a textual target notation is described. Technically speaking, this resembles a general code generation process, since any type of textual document, including source code in a programming language, can be generated in a comparable way. The process described here requires the openarchitectureware plugins ( installed into the Eclipse platform, which extend the EMF/GM modelling plugins by additional capabilities for running model transformations. The current the MEMOCente case, erng distribu download ution should the d already con oaw ntain these r SDK required ext as a ensions. If t ZIP his is not from ( and extract the content into your Eclipse folder. 2 The Manual Way As a starting point, a model to model transformation can initially be developedd independently from the overall MEMOCenterNG tool, in a first step without integration into the model editor s user from a simple Entity Relationship like modelling language created with the MML. Figure 1 shows the MML model describing the language. In Fig. 2, the automatically derived Ecore interface. The following examples will assume that a basic SQL database schema is to be generated model, which internally is generated from the MML model, is displayed. Fig. 1 MML example model for a language from which transformations are to be developed Jens Gulden,

3 Information Systems and Enterprisee Modelling, University Duisburg Essen, Prof. Frank Fig. 2 Ecore model automatically generated from the above MML model An example model created with the corresponding generated model editor is given in Fig. 3. Fig. 3 Example model created with a model editor generated from the MML model Transformation templates in the XPand language are now developed based on the Ecore representation. The first step is to create an openarchitectureware project via File New Project... openarchitectureware openarchitectureware Project, named e.g. mylanguage.transformation in the workspace where the generated editor packages reside (packages mylanguage, mylanguage.editor, mylanguage.diagram etc.). Switch to the openarchitectureware perspective or the Java perspective after the project has been created to get a Package Explorer view in the left column. Jens Gulden,

4 Inside the new project, create a source folder named generator, by Right click on the project node New Source Folder. Inside the generator folder, create both an openarchitectureware (oaw) workflow file, e.g., generate.oaw (New Other... openarchitectureware Workflow File), and an Xpand template, e.g., generate.xpt (New Other... openarchitectureware Xpand Template). Also, copy the generated.ecore file into this folder. Copying a file can be done inside the workspace via the usual copy&paste functionality, or outside with a file browser. If files are changed outside the workspace, please remember to refresh the project in the workspace with F5. Also, add the projects containing the modelling language definition and the diagram editor to the build path of the transformation project by Right click on project Properties Java Build Path tab: Projects select: mylanguage and mylanguage.diagram. The following XML code shows an example oaw workflow file which can be adopted to run any transformation script manually. <workflow> <!-- change here --> <property name="model" value="../../runtime-eclipseapplication/erm-example/default.erm"/> <component class="oaw.emf.xmireader"> <modelfile value="${model"/> <outputslot value="model"/> </component> <component class="oaw.xpand2.generator"> <fileencoding value="iso "/> <metamodel class="oaw.type.emf.emfmetamodel"> <metamodelpackage value="erm.erm.ermpackage"/> <!-- change here --> </metamodel> <outlet path="."/> <expand value="generator::generate::model FOR model"/> <!-- change here --> </component> </workflow> Example 1 oaw workflow file The workflow file is only used for the manual invocation of the transformation process, and otherwise independent from the rest of the transformation description. As example content of the Xpand file, the following code is given. The basic idea behind the Xpand language should become clear by the example. Detailed reference information on the Xpand language can be found in the openarchitectureware documentation at file documentation/4.3.1/openarchitectureware Reference.pdf. «IMPORT erm» «DEFINE model FOR ErmModel» «FILE "dbschema.sql"» -- This is a generated database schema. DROP DATABASE test; CREATE DATABASE test; «EXPAND dbtable FOREACH entitytypes» «ENDFILE» Jens Gulden,

5 «ENDDEFINE» «DEFINE dbtable FOR EntityType» CREATE TABLE «this.name» ( ID INT NOT NULL «FOREACH attributelink AS attr», «attr.name» «attr.type» «ENDFOREACH» ) «ENDDEFINE» Example 2 Xpand source code The import declaration at the beginning of the template file refers to the Ecore model, which specifies the language. This is why the.ecore file has to be copied into the same folder, to make the language definition available to the transformation script. For more complex transformations, the Xtend language can be incorporated in the transformation description. It allows for integrating helper functions or even calling arbitrary Java code. See also the openarchitectureware reference documentation for details on the Xtend language. To run the transformation manually, invoke the Workflow file with Right click Run As... oaw Workflow. The result of the example transformation is shown below. -- This is a generated database schema. DROP DATABASE test; CREATE DATABASE test; CREATE TABLE Organisation ( ID INT NOT NULL ), address VARCHAR(255), orgid VARCHAR(255) CREATE TABLE Resource ( ID INT NOT NULL ), resid VARCHAR(255), codenum int CREATE TABLE Person ( ID INT NOT NULL, fullname VARCHAR(255), nickname VARCHAR(255), address VARCHAR(255) ) Example 3 Result of applying the example Xpand template Jens Gulden,

6 3 The One-Click way In order to invoke the previously developed transformation from the graphical user interface, i.e., without Right click Run As... oaw Workflow, two additional pieces are required: first, some Java code which replaces the workflow file and invokes the Xpand template interpreter, and second, the declaration of a button in the graphical user interface, which will cause the Java code to be executed on a click event. 3.1 Java code The Java code can be encapsulated inside one class file that declares an IEditorActionDelegate class for the MEMOCenterNG/Eclipse platform. Such an action declaration can be bound directly to the click event of a button. Create a Java class file by Right click on the src folder Class..., choose a package name, e.g., mylanguage.transform.sql, and a class name, e.g., SQLTransformationAction. Paste the following code into the class file and adopt the names to the desired language. package erm.transform.sql; import java.io.file; import java.io.ioexception; import java.net.url; import java.text.simpledateformat; import java.util.date; import java.util.map; import org.eclipse.core.runtime.ipath; import org.eclipse.core.runtime.iprogressmonitor; import org.eclipse.emf.common.command.basiccommandstack; import org.eclipse.emf.common.util.uri; import org.eclipse.emf.common.util.wrappedexception; import org.eclipse.emf.ecore.eobject; import org.eclipse.emf.ecore.epackage; import org.eclipse.emf.ecore.impl.eobjectimpl; import org.eclipse.emf.ecore.resource.resource; import org.eclipse.emf.ecore.resource.resourceset; import org.eclipse.emf.ecore.resource.impl.resourcesetimpl; import org.eclipse.emf.ecore.xmi.impl.xmiresourcefactoryimpl; import org.eclipse.emf.ecore.xmi.impl.xmiresourceimpl; import org.eclipse.emf.edit.domain.editingdomain; import org.eclipse.emf.edit.ui.provider.adapterfactorycontentprovider; import org.eclipse.emf.transaction.impl.resourcesetmanager; import org.eclipse.gef.editpart; import org.eclipse.gmf.runtime.diagram.ui.parts.diagrameditdomain; import org.eclipse.gmf.runtime.diagram.ui.resources.editor.document.diagramdocument; import org.eclipse.gmf.runtime.diagram.ui.resources.editor.document.idiagramdocument; import org.eclipse.gmf.runtime.diagram.ui.resources.editor.document.idocument; import org.eclipse.gmf.runtime.diagram.ui.resources.editor.document.idocumentprovider; import org.eclipse.gmf.runtime.notation.diagram; import org.eclipse.gmf.runtime.notation.impl.diagramimpl; import org.eclipse.jface.action.iaction; import org.eclipse.jface.viewers.iselection; import org.eclipse.jface.viewers.istructuredselection; import org.eclipse.jface.viewers.treeviewer; import org.eclipse.m2t.type.emf.emfregistrymetamodel; import org.eclipse.mwe.emf.reader; import org.eclipse.mwe.emf.standalonesetup; import org.eclipse.ui.ieditoractiondelegate; import org.eclipse.ui.ieditorpart; import org.eclipse.ui.iobjectactiondelegate; import org.eclipse.ui.iworkbenchpart; import org.eclipse.ui.part.editorpart; import org.eclipse.ui.part.fileeditorinput; import org.openarchitectureware.expression.exceptionhandler; import org.openarchitectureware.expression.executioncontext; import org.openarchitectureware.expression.ast.syntaxelement; Jens Gulden,

7 import org.openarchitectureware.type.metamodel; import org.openarchitectureware.type.emf.emfmetamodel; import org.openarchitectureware.util.stdlib.globalvarextensions; import org.openarchitectureware.workflow.workflowcontext; import org.openarchitectureware.workflow.workflowcontextdefaultimpl; import org.openarchitectureware.workflow.issues.issues; import org.openarchitectureware.workflow.issues.issuesimpl; import org.openarchitectureware.workflow.monitor.nullprogressmonitor; import org.openarchitectureware.workflow.monitor.progressmonitor; import org.openarchitectureware.xpand2.generator; import ERM.erm.ErmModel; import ERM.erm.ermPackage; import ERM.erm.diagram.part.ErmDiagramEditor; public class SQLTransformationAction implements IEditorActionDelegate { protected ErmModel model; protected IEditorPart editorpart; protected String modelfilename; protected String outputfolder; public SQLTransformationAction() { super(); init(); protected void init() { this.editorpart = null; this.model = null; this.modelfilename = null; this.outputfolder = "."; //@Override public void setactivepart(iaction action, IWorkbenchPart targetpart) { updateconfiguration(targetpart); //@Override public void selectionchanged(iaction action, ISelection selection) { // nop, we care for the whole model only //@Override public void setactiveeditor(iaction action, IEditorPart targeteditor) { if (targeteditor!= null) { updateconfiguration(targeteditor); protected void updateconfiguration(iworkbenchpart targetpart) { ErmDiagramEditor editor = (ErmDiagramEditor)targetPart; this.editorpart = editor; DiagramImpl doc = (DiagramImpl)editor.getDiagramDocument().getContent(); this.model = (ErmModel)doc.getElement(); FileEditorInput input = ((FileEditorInput) editorpart.geteditorinput() ); IPath path = input.getpath(); this.modelfilename = path.tostring(); this.modelfilename = this.modelfilename.substring(0, this.modelfilename.length()-8); //@Override public void run(iaction action) { rungenerator(); protected void rungenerator() { System.out.println("Code generation starting."); WorkflowContextDefaultImpl context = new WorkflowContextDefaultImpl(); URI modeluri = URI.createFileURI(modelFilename); generatecode(context, (this.model == null)? modeluri : null); System.out.println("Code generation done."); Jens Gulden,

8 protected void generatecode(workflowcontext context, URI modeluri) { EmfMetaModel metamodel = new EmfMetaModel(); metamodel.setusesingleglobalresourceset(true); metamodel.setmetamodelpackage(ermpackage.class.getname()); Issues issues = new IssuesImpl(); ExceptionHandler exceptionhandler = new ExceptionHandler() { public void handleruntimeexception(runtimeexception ex, SyntaxElement element, ExecutionContext ctx, Map<String, Object> additionalcontextinfo) { System.err.println(ex.getMessage()); ex.printstacktrace(); ; context.set("model", this.model); // output-folder File folder = null; if (outputfolder!= null) { folder = new File(outputFolder); if (! folder.isabsolute() ) { // relative to model-file's parent folder folder = new File(modelFilename); folder = new File(folder, "../"+outputfolder); String outputpath = null; try { if ( folder == null ) { throw new IOException(); outputpath = folder.getcanonicalpath(); folder = new File(outputPath); if ( (! folder.exists() ) (! folder.isdirectory() ) ) { throw new IOException(); catch (IOException ioe) { System.err.println("error: invalid source folder " + outputfolder); return; // IRREGULAR EXIT GlobalVarExtensions.storeGlobalVar("outputPath", outputpath); Generator g = new Generator(); g.addmetamodel(metamodel); g.setgenpath( outputpath ); g.setexpand("generator::generate::model FOR model"); g.setexceptionhandler(exceptionhandler); g.invoke(context, new NullProgressMonitor(), issues); Example 4 Java code for invoking an Xpand transformation At this point, several compilation errors are still likely to arise because required dependencies are still missing. To fix this, open the file META INF/MANIFEST.MF, click on the MANIFEST.MF bottom tab to see the textual MANIFEST file, and make sure the following plugins are listed under Require Bundle : Require Bundle: org.openarchitectureware.dependencies, org.eclipse.ui.ide, org.eclipse.gmf.runtime.diagram.ui.properties, org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide, org.openarchitectureware.util.stdlib, mylanguage, mylanguage.edit, mylanguage.editor, mylanguage.diagram Example 5 Fragment of the META INF/MANIFEST.MF file Jens Gulden,

9 The settings of the Require Bundle parameter can alternatively be edited via a form based userinterface on the Dependencies tab in the plugin.xml editor. 3.2 Button declaration A button is declared without additional programming. To add the button, only a plugin declaration is required which lists the button in its plugin.xml specification. The current project usually is already considered an empty plugin, since it has been created as an openarchitectureware project. If it is not yet a plugin, it can be declared as such using Right click on project name PDE Tools Convert to plugin project. Now make sure a file plugin.xml exists in the root folder of the project, if it does not yet, create an empty one using New File. Open plugin.xml and switch to the plugin.xml bottom tab, to see the textual XML source code of the file. (Alternatively, open the file in text mode with Right click Open with Text Editor.) Add an XML fragment like the following to plugin.xml, and adopt the names of IDs, classes and files as required: <plugin> <extension point="org.eclipse.ui.editoractions"> <editorcontribution id="erm.transform.sqltransformationaction" targetid="erm.erm.diagram.part.ermdiagrameditorid"> <!-- editor id --> <action class="erm.transform.sql.sqltransformationaction" icon="icons/icb.png" id="erm.transform.sql.sqltransformationactionid" label="generate SQL" menubarpath="erm/generator" toolbarpath="/sql" tooltip="generate SQL"> </action> <menu id="erm.transform.sqltransformationaction.menu" label="generate SQL"> <groupmarker name="generator"> </groupmarker> </menu> </editorcontribution> </extension> </plugin> Example 5 File plugin.xml The class attribute of the action element holds the name of the Java class that was previously created. IDs and the entries menubarpath, toolbarpath and icon can be freely chosen. The path to the icon file refers to the project file structure. In the example, an additional source folder icons was created, which contains an image file for the button s icon. Jens Gulden,

10 4 Further Information MML o "The MEMO Meta Modelling Language (MML) and Language Architecture", ICB Research Report, Institut für Informatik und Wirtschaftsinformatik (ICB), Universität Duisburg Essen, Nr. 24, MEMO: o "Multi Perspective Enterprise Modeling (MEMO): Conceptual Framework and Modeling Languages" in Proceedings of the Hawaii International Conference on System Sciences (HICSS 35): Honolulu, o "Multiperspektivische Unternehmensmodellierung: Theoretischer Hintergrund und Entwurf einer objektorientierten Entwicklungsumgebung", Oldenbourg Verlag, MemoCenterNG Tool Development o Eclipse Platform: o EMF: o GMF: o OpenArchitectureWare: Jens Gulden,

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

New and Noteworthy. Peter Friese Bernd Kolb

New and Noteworthy. Peter Friese  Bernd Kolb New and Noteworthy Peter Friese peter.friese@gentleware.com http://www.gentleware.com Bernd Kolb b.kolb@kolbware.de http://www.kolbware.de What is openarchitectureware? oaw Languages New: AOP Mechanisms

More information

openarchitectureware 4.1 An introduction

openarchitectureware 4.1 An introduction openarchitectureware 4.1 An introduction Markus Voelter, www.voelter.de, openarchitectureware (oaw) is a suite of tools and components assisting with model driven software development, more precisely it

More 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

vsphere Web Client Extensions Programming Guide vsphere 5.1

vsphere Web Client Extensions Programming Guide vsphere 5.1 vsphere Web Client Extensions Programming Guide vsphere 5.1 This document supports the version of each product listed and supports all subsequent versions until the document is replaced by a new edition.

More information

First Steps in RCP. Jan Blankenhorn, WeigleWilczek GmbH, Stuttgart, Germany. February 19th, 2009

First Steps in RCP. Jan Blankenhorn, WeigleWilczek GmbH, Stuttgart, Germany. February 19th, 2009 First Steps in RCP Jan Blankenhorn, WeigleWilczek GmbH, Stuttgart, Germany February 19th, 2009 Agenda» About us» RCP Architecture and Bundles» Extension Points and Views» Bundle Dependencies 2 Jan Blankenhorn»

More information

Multi-Level Modeling with XML

Multi-Level Modeling with XML 5 th International Workshop on Multi-Level Modeling MULTI 2018 Copenhagen, October 16, 2018 Multi-Level Modeling with XML Dr. Jens Gulden Information Systems and Enterprise Modeling, ICB Institute for

More information

1. Getting Started Xpand / Xtend / Check Reference

1. Getting Started Xpand / Xtend / Check Reference Xpand Documentation Sven Efftinge, Peter Friese, Arno Hase, Dennis Hübner, Clemens Kadura, Bernd Kolb, Jan Köhnlein, Dieter Moroff, Karsten Thoms, Markus Völter, Patrick Schönbach, Moritz Eysholdt, Steven

More information

20. Eclipse and Framework Extension Languages

20. Eclipse and Framework Extension Languages 20. Eclipse and Framework Extension Languages Prof. Uwe Aßmann TU Dresden Institut für Software und Multimediatechnik Lehrstuhl Softwaretechnologie Version 11-1.0, 12/17/11 Design Patterns and Frameworks,

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

Workbench Selection 2/15

Workbench Selection 2/15 W o r k b e n c h S e l e c t i o n U s i n g S e l e c t i o n S e r v i c e w i t h a C u s t o m V i e w Table of Contents 1 Introduction... 3 2 Defining A View... 4 3 Implementing SelectionView...

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

Eclipse. JVM, main method and using Eclipse. Dr. Siobhán Drohan. Produced by: Department of Computing and Mathematics

Eclipse. JVM, main method and using Eclipse. Dr. Siobhán Drohan. Produced by: Department of Computing and Mathematics Eclipse JVM, main method and using Eclipse Produced by: Dr. Siobhán Drohan Department of Computing and Mathematics http://www.wit.ie/ Topics list Files in Java. Java Virtual Machine. main method. Eclipse

More information

INTRODUCTION TO EMF. Creating Model using EMF. Our Domain model used to showcase this use case is as shown below in fig.1

INTRODUCTION TO EMF. Creating Model using EMF. Our Domain model used to showcase this use case is as shown below in fig.1 INTRODUCTION TO EMF Creating Model using EMF This is the basic method of creating the Model instance using EMF (Eclipse Modelling Framework). In this tutorial we are going to explain the following, 1.

More information

CS520 Setting Up the Programming Environment for Windows Suresh Kalathur. For Windows users, download the Java8 SDK as shown below.

CS520 Setting Up the Programming Environment for Windows Suresh Kalathur. For Windows users, download the Java8 SDK as shown below. CS520 Setting Up the Programming Environment for Windows Suresh Kalathur 1. Java8 SDK Java8 SDK (Windows Users) For Windows users, download the Java8 SDK as shown below. The Java Development Kit (JDK)

More information

Eclipse and Framework Extension Languages

Eclipse and Framework Extension Languages Eclipse and Framework Extension Languages Prof. Uwe Aßmann TU Dresden Institut für Software und Multimediatechnik Lehrstuhl Softwaretechnologie Design Patterns and Frameworks, Prof. Uwe Aßmann 1 References

More information

SEPTEMBER 2018 ORACLE PRIMAVERA UNIFIER UNIFIER CUSTOM PRINT USING EXTERNAL DATA MODEL

SEPTEMBER 2018 ORACLE PRIMAVERA UNIFIER UNIFIER CUSTOM PRINT USING EXTERNAL DATA MODEL SEPTEMBER 2018 ORACLE PRIMAVERA UNIFIER Unifier s Custom Print has a very powerful feature called External Data Model. Different from the Internal Data Model with the Unifier BP itself as the data source,

More information

EMC Documentum Composer

EMC Documentum Composer EMC Documentum Composer Version 6.5 SP2 User Guide P/N 300-009-462 A01 EMC Corporation Corporate Headquarters: Hopkinton, MA 01748-9103 1-508-435-1000 www.emc.com Copyright 2008 2009 EMC Corporation. All

More information

The Edapt Solution for the Reengineering Case

The Edapt Solution for the Reengineering Case The Edapt Solution for the Reengineering Case Markus Herrmannsdoerfer Institut für Informatik, Technische Universität München Boltzmannstr. 3, 85748 Garching b. München, Germany herrmama@in.tum.de Abstract.

More information

WFCE - Build and deployment. WFCE - Deployment to Installed Polarion. WFCE - Execution from Workspace. WFCE - Configuration.

WFCE - Build and deployment. WFCE - Deployment to Installed Polarion. WFCE - Execution from Workspace. WFCE - Configuration. Workflow function and condition Example WFCE - Introduction 1 WFCE - Java API Workspace preparation 1 WFCE - Creating project plugin 1 WFCE - Build and deployment 2 WFCE - Deployment to Installed Polarion

More information

Getting Started with Web Services

Getting Started with Web Services Getting Started with Web Services Getting Started with Web Services A web service is a set of functions packaged into a single entity that is available to other systems on a network. The network can be

More information

NetBeans IDE Field Guide

NetBeans IDE Field Guide NetBeans IDE Field Guide Copyright 2005 Sun Microsystems, Inc. All rights reserved. Table of Contents Extending Web Applications with Business Logic: Introducing EJB Components...1 EJB Project type Wizards...2

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

Tiger EMF Model Transformation Framework (EMT)

Tiger EMF Model Transformation Framework (EMT) Tiger EMF Model Transformation Framework (EMT) Version 1.2.0 User Manual TU Berlin EMT Project Team: Enrico Biermann, Karsten Ehrig, Claudia Ermel, Christian Köhler, Günter Kuhns, Gabi Taentzer Email:

More information

Getting Started with Eclipse/Java

Getting Started with Eclipse/Java Getting Started with Eclipse/Java Overview The Java programming language is based on the Java Virtual Machine. This is a piece of software that Java source code is run through to produce executables. The

More information

Technology Tutorial. - Details and Advanced Concepts - Patrick Könemann Software Engineering 2 (02162)

Technology Tutorial. - Details and Advanced Concepts - Patrick Könemann Software Engineering 2 (02162) Technology Tutorial Software Engineering 2 (02162) - Details and Advanced Concepts - Patrick Könemann (pk@imm.dtu.dk) Oct 19 th 2009 Previous Tutorials. 1. A view and a selection listener for file types

More information

EMC Documentum Composer

EMC Documentum Composer EMC Documentum Composer Version 6.0 SP1.5 User Guide P/N 300 005 253 A02 EMC Corporation Corporate Headquarters: Hopkinton, MA 01748 9103 1 508 435 1000 www.emc.com Copyright 2008 EMC Corporation. All

More information

I A D P A T A B L E A N D W O R K B E N C H

I A D P A T A B L E A N D W O R K B E N C H I A D P A T A B L E A N D W O R K B E N C H I m p l e m e n t i n g a W o r k b e n c h V i e w a n d U s i n g I A d a p t a b l e 1 9 A u g u s t 2 0 0 8 TABLE OF CONTENTS 1 Goals...3 2 Defining A View...4

More information

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

Kermeta tutorial. How to create an EMF meta model? François Tanguy, Didier Vojtisek, Zoé Drey, Marie Gouyette. Abstract Kermeta tutorial How to create an EMF meta model? François Tanguy, Didier Vojtisek, Zoé Drey, Marie Gouyette Abstract This tutorial show how to create an EMF model for the FSM example. Published Build

More information

An Extensible Open Source AADL Tool Environment (OSATE)

An Extensible Open Source AADL Tool Environment (OSATE) An Extensible Open Source AADL Tool Environment (OSATE) Release 1.0 May 23, 2005 The SEI AADL Team Software Engineering Institute tools@aadl.info 1 Table of Content An Extensible Open Source AADL Tool

More information

Getting Started with Web Services

Getting Started with Web Services Getting Started with Web Services Getting Started with Web Services A web service is a set of functions packaged into a single entity that is available to other systems on a network. The network can be

More information

Second OMG Workshop on Web Services Modeling. Easy Development of Scalable Web Services Based on Model-Driven Process Management

Second OMG Workshop on Web Services Modeling. Easy Development of Scalable Web Services Based on Model-Driven Process Management Second OMG Workshop on Web Services Modeling Easy Development of Scalable Web Services Based on Model-Driven Process Management 88 solutions Chief Technology Officer 2003 Outline! Introduction to Web Services!

More information

USER GUIDE. MADCAP FLARE 2018 r2. Eclipse Help

USER GUIDE. MADCAP FLARE 2018 r2. Eclipse Help USER GUIDE MADCAP FLARE 2018 r2 Eclipse Help Copyright 2018 MadCap Software. All rights reserved. Information in this document is subject to change without notice. The software described in this document

More information

2 Apache Wink Building Blocks

2 Apache Wink Building Blocks 2 Apache Wink Building Blocks Apache Wink Building Block Basics In order to take full advantage of Apache Wink, a basic understanding of the building blocks that comprise it and their functional integration

More information

OMNeT++ IDE Developers Guide. Version 5.2

OMNeT++ IDE Developers Guide. Version 5.2 OMNeT++ IDE Developers Guide Version 5.2 Copyright 2016 András Varga and OpenSim Ltd. 1. Introduction... 1 2. Installing the Plug-in Development Environment... 2 3. Creating The First Plug-in... 4 Creating

More information

Teiid Designer User Guide 7.7.0

Teiid Designer User Guide 7.7.0 Teiid Designer User Guide 1 7.7.0 1. Introduction... 1 1.1. What is Teiid Designer?... 1 1.2. Why Use Teiid Designer?... 2 1.3. Metadata Overview... 2 1.3.1. What is Metadata... 2 1.3.2. Editing Metadata

More information

Mobile Application Workbench. SAP Mobile Platform 3.0 SP02

Mobile Application Workbench. SAP Mobile Platform 3.0 SP02 SAP Mobile Platform 3.0 SP02 DOCUMENT ID: DC-01-0302-01 LAST REVISED: January 2014 Copyright 2014 by SAP AG or an SAP affiliate company. All rights reserved. No part of this publication may be reproduced

More information

Deliverable: D 1.2 Specification of Traceability concepts

Deliverable: D 1.2 Specification of Traceability concepts (ITEA 2 13017) Enabling of Results from AMALTHEA and others for Transfer into Application and building Community around Deliverable: D 1.2 Specification of Traceability concepts Work Package: 1 Continuous

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

Release Notes June 15, Date: 15-Jun :49 URL:

Release Notes June 15, Date: 15-Jun :49 URL: Release Notes 2.7.0 June 15, 2017 Date: 15-Jun-2017 14:49 URL: https://esito-conf.inmeta.com/display/rn/release+notes+2.7.0 Table of Contents 1 News and Changes 3 1.1 The Dialog Editor Palette 3 1.2 Fast

More information

Eclipse UOMo Tutorial

Eclipse UOMo Tutorial Eclipse UOMo Tutorial Eclipse UOMo is an API for working with physical quantities and units. We are going to create a demonstration application that provides an API to work with Newton s Second Law of

More information

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

Start Up Benoît Langlois / Thales Global Services Eclipse (EMFT) EGF 2011 by Thales; made available under the EPL v1. www.thalesgroup.com Start Up Benoît Langlois / Thales Global Services 2 / Introduction EGF Architecture Concepts & Practice EGF Portfolios 3 / Introduction EGF Architecture Concepts & Practice EGF Portfolios

More information

Tutorial: Tools for mobile Linux (TmL) Exercises

Tutorial: Tools for mobile Linux (TmL) Exercises Tutorial: Tools for mobile Linux (TmL) Exercises Setting Up the Environment for the Hands-on Sessions You can get all the software you need for the TmL tutorial from http://wiki.eclipse.org/dsdp/tml/eclipsecon2009_tutorial.

More information

EMF course - PACT. Etienne Borde

EMF course - PACT. Etienne Borde EMF course - PACT Etienne Borde www.etienneborde.fr Objectives Collective software development requires to focus on integration. John develops functionality A; Mike develops functionality B How to ensure

More information

Teiid Designer User Guide 7.5.0

Teiid Designer User Guide 7.5.0 Teiid Designer User Guide 1 7.5.0 1. Introduction... 1 1.1. What is Teiid Designer?... 1 1.2. Why Use Teiid Designer?... 2 1.3. Metadata Overview... 2 1.3.1. What is Metadata... 2 1.3.2. Editing Metadata

More information

Fluenta DITA Translation Manager. Copyright Maxprograms

Fluenta DITA Translation Manager. Copyright Maxprograms Copyright 2015-2018 Maxprograms Table of Contents Introduction... 1 Fluenta DITA Translation Manager... 1 Translating DITA Projects... 2 Create Project... 2 Generate XLIFF... 4 Import XLIFF... 5 Project

More information

Model-based Software Engineering (02341, Spring 2017) Ekkart Kindler

Model-based Software Engineering (02341, Spring 2017) Ekkart Kindler Model-based Software Engineering (02341, Spring 2017) I. Introduction 1. Motivation What is software engineering? What is software? software = program software engineering = programming 3 Program vs. Software

More information

Manage and Generate Reports

Manage and Generate Reports Report Manager, page 1 Generate Reports, page 3 Trust Self-Signed Certificate for Live Data Reports, page 4 Report Viewer, page 4 Save an Existing Stock Report, page 7 Import Reports, page 7 Export Reports,

More information

TradeInterceptor SDK Quick Start Guide

TradeInterceptor SDK Quick Start Guide TradeInterceptor SDK Quick Start Guide Installation Custom indicators and trading strategies can be created using the Java programming language, version 6.0. A free copy of Java development kit (JDK) can

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

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

Budapes( Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék. Code Genera*on Budapes( Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Code Genera*on Designing modeling languages Metamodel: a model of models o Abstract syntax o Concrete syntax

More information

Javac and Eclipse tutorial

Javac and Eclipse tutorial Javac and Eclipse tutorial Author: Balázs Simon, BME IIT, 2013. Contents 1 Introduction... 2 2 JRE and JDK... 2 3 Java and Javac... 2 4 Environment variables... 3 4.1 Setting the environment variables

More information

Contents Getting Started... 3 About Scribe Online and Connectors... 3 Scribe Online Services... 3 CDK Components... 3 Audience... 4 Prerequisites...

Contents Getting Started... 3 About Scribe Online and Connectors... 3 Scribe Online Services... 3 CDK Components... 3 Audience... 4 Prerequisites... Contents Getting Started... 3 About Scribe Online and Connectors... 3 Scribe Online Services... 3 CDK Components... 3 Audience... 4 Prerequisites... 4 Requirements... 4 CDK Workflow... 5 Scribe Online

More information

Setting Up the Development Environment

Setting Up the Development Environment CHAPTER 5 Setting Up the Development Environment This chapter tells you how to prepare your development environment for building a ZK Ajax web application. You should follow these steps to set up an environment

More information

Internet Application Developer

Internet Application Developer Internet Application Developer SUN-Java Programmer Certification Building a Web Presence with XHTML & XML 5 days or 12 evenings $2,199 CBIT 081 J A V A P R O G R A M M E R Fundamentals of Java and Object

More information

project in an industrial context

project in an industrial context Anatomy of a domain-specific language project in an industrial context Development and examination of a DSL demonstrator for elevator controllers Software Engineering, Architecture and Platform Technologies

More information

Software Development Kit

Software Development Kit Software Development Kit Informatica MDM - Product 360 Version: 8.1.1 07/04/2018 English 1 Table of Contents 1 Table of Contents...2 2 SDK Package...3 3 Prerequisites...3 3.1 Database...3 3.2 Java Development

More information

A web-based IDE for Java

A web-based IDE for Java A web-based IDE for Java Software Engineering Laboratory By: Supervised by: Marcel Bertsch Christian Estler Dr. Martin Nordio Prof. Dr. Bertrand Meyer Student Number: 09-928-896 Content 1 Introduction...3

More information

CS5233 Components Models and Engineering

CS5233 Components Models and Engineering Prof. Dr. Th. Letschert CS5233 Components Models and Engineering - Komponententechnologien Master of Science (Informatik) Working with Jars (and other files using NIO) Seite 1 Jars http://download.oracle.com/javase/tutorial/deployment/jar/index.html

More information

EMC Documentum Composer

EMC Documentum Composer EMC Documentum Composer Version 6 SP1 User Guide P/N 300 005 253 A01 EMC Corporation Corporate Headquarters: Hopkinton, MA 01748 9103 1 508 435 1000 www.emc.com Copyright 2008 EMC Corporation. All rights

More information

Using the Plug in Development Environment

Using the Plug in Development Environment IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation bo Table of Contents Introduction to PDE...1 Preparing the workbench...2

More information

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

Introduction to EGF. Benoît Langlois / Thales Global Services. www.thalesgroup.com Introduction to EGF Benoît Langlois / Thales Global Services 2 / Agenda Introduction EGF Architecture Concepts & Practice EGF Portfolios 3 / Agenda Introduction EGF Architecture Concepts

More information

IBM Workplace Client Technology API Toolkit

IBM Workplace Client Technology API Toolkit IBM Workplace Client Technology API Toolkit Version 2.5 User s Guide G210-1984-00 IBM Workplace Client Technology API Toolkit Version 2.5 User s Guide G210-1984-00 Note Before using this information and

More information

Bringing Together One ASP.NET

Bringing Together One ASP.NET Bringing Together One ASP.NET Overview ASP.NET is a framework for building Web sites, apps and services using specialized technologies such as MVC, Web API and others. With the expansion ASP.NET has seen

More information

Use Case 2: Extending object/application to support a new object attribute and a validation for that attribute using either Scripting or Java.

Use Case 2: Extending object/application to support a new object attribute and a validation for that attribute using either Scripting or Java. Overview This use case in this document show how the tooling provided with the products based on Tivoli s process automation engine can help you add value through product extensions and/or integration

More information

INTEGRATIONS. version user guide. with Eclipse, NetBeans, IntelliJ IDEA, CaliberRM, ProActivity, CVS, AndroMDA, and oaw

INTEGRATIONS. version user guide. with Eclipse, NetBeans, IntelliJ IDEA, CaliberRM, ProActivity, CVS, AndroMDA, and oaw INTEGRATIONS with Eclipse, NetBeans, IntelliJ IDEA, CaliberRM, ProActivity, CVS, AndroMDA, and oaw version 17.0.1 user guide No Magic, Inc. 2011 All material contained herein is considered proprietary

More information

Teiid Designer User Guide 7.8.0

Teiid Designer User Guide 7.8.0 Teiid Designer User Guide 1 7.8.0 1. Introduction... 1 1.1. What is Teiid Designer?... 1 1.2. Metadata Overview... 2 1.2.1. What is Metadata... 2 1.2.2. Business and Technical Metadata... 4 1.2.3. Design-Time

More information

Capturing Middleware using UML Models.

Capturing Middleware using UML Models. OpenDDS Capturing Middleware using UML Models www.ociweb.com www.opendds.org Overview Eclipse based model capture Middleware Data Quality of Service Policies Code generation Validation Files and References

More information

Java for Programmers Course (equivalent to SL 275) 36 Contact Hours

Java for Programmers Course (equivalent to SL 275) 36 Contact Hours Java for Programmers Course (equivalent to SL 275) 36 Contact Hours Course Overview This course teaches programmers the skills necessary to create Java programming system applications and satisfies the

More information

Model handling with EMF

Model handling with EMF Model handling with EMF An introduction to the Eclipse Modeling Framework ATLAS group (INRIA & LINA), University of Nantes France http://www.sciences.univ-nantes.fr/lina/atl/!1 Context of this work The

More information

Static analysis and testing of executable DSL specification

Static analysis and testing of executable DSL specification Static analysis and testing of executable DSL specification Qinan Lai 1, Andy Carpenter 1 1 School of Computer Science, the University of Manchester, Manchester, UK {laiq,afc}@cs.man.ac.uk Keywords: Abstract:

More information

Ocean Wizards and Developers Tools in Visual Studio

Ocean Wizards and Developers Tools in Visual Studio Ocean Wizards and Developers Tools in Visual Studio For Geoscientists and Software Developers Published by Schlumberger Information Solutions, 5599 San Felipe, Houston Texas 77056 Copyright Notice Copyright

More information

(800) Toll Free (804) Fax Introduction to Java and Enterprise Java using Eclipse IDE Duration: 5 days

(800) Toll Free (804) Fax   Introduction to Java and Enterprise Java using Eclipse IDE Duration: 5 days Course Description This course introduces the Java programming language and how to develop Java applications using Eclipse 3.0. Students learn the syntax of the Java programming language, object-oriented

More information

EAXML Demonstration Platform on Artop/Sphinx.

EAXML Demonstration Platform on Artop/Sphinx. Grant Agreement 260057 Model-based Analysis & Engineering of Novel Architectures for Dependable Electric Vehicles Report type Report name Deliverable D5.3.1 EAXML Demonstration Platform on Artop/Sphinx.

More information

AADL Graphical Editor Design

AADL Graphical Editor Design AADL Graphical Editor Design Peter Feiler Software Engineering Institute phf@sei.cmu.edu Introduction An AADL specification is a set of component type and implementation declarations. They are organized

More information

Updated after review Removed paragraph mentioned java source code.

Updated after review Removed paragraph mentioned java source code. Functional Specification for DCR Plug-in Support Author(s): joel.binnquist.xc@ericsson.com Version: 1.3 Version Date Comment 0.1 2009-01-20 First version 1.0 2009-04-02 Updated after review. - Removed

More information

Common Navigator Framework

Common Navigator Framework Common Navigator Framework file://c:\d\workspaces\eclipsecnf\org.eclipse.platform.doc.isv\guide\cnf.htm Page 1 of 3 Common Navigator Framework A Viewer provides the user with a view of objects using a

More information

Cupid Documentation. Release 0.2 (ESMF v7) Rocky Dunlap

Cupid Documentation. Release 0.2 (ESMF v7) Rocky Dunlap Cupid Documentation Release 0.2 (ESMF v7) Rocky Dunlap July 28, 2016 Contents 1 Overview 3 1.1 What is NUOPC?............................................ 3 1.2 What is Eclipse?.............................................

More information

Zhifu Pei CSCI5448 Spring 2011 Prof. Kenneth M. Anderson

Zhifu Pei CSCI5448 Spring 2011 Prof. Kenneth M. Anderson Zhifu Pei CSCI5448 Spring 2011 Prof. Kenneth M. Anderson Introduction History, Characteristics of Java language Java Language Basics Data types, Variables, Operators and Expressions Anatomy of a Java Program

More information

FX SERIES. Programmer s Guide. Embedded SDK. MN000540A01 Rev. A

FX SERIES. Programmer s Guide. Embedded SDK. MN000540A01 Rev. A FX SERIES Embedded SDK Programmer s Guide MN000540A01 Rev. A Table of Contents About This Guide Introduction...4 Chapter Descriptions... 4 Notational Conventions...5 Related Documents and Software...5

More information

Just Enough Eclipse What is Eclipse(TM)? Why is it important? What is this tutorial about?

Just Enough Eclipse What is Eclipse(TM)? Why is it important? What is this tutorial about? Just Enough Eclipse What is Eclipse(TM)? Eclipse is a kind of universal tool platform that provides a feature-rich development environment. It is particularly useful for providing the developer with an

More information

Webnodes Developers Quick Guide

Webnodes Developers Quick Guide Webnodes Webnodes Developers Quick Guide Want to get started right away? Ole Gulbrandsen 1/1/2010 Webnodes Developers Quick Guide Want to get started right away? This guide is for C# developers and will

More information

CSCI 201 Lab 1 Environment Setup

CSCI 201 Lab 1 Environment Setup CSCI 201 Lab 1 Environment Setup "The journey of a thousand miles begins with one step." - Lao Tzu Introduction This lab document will go over the steps to install and set up Eclipse, which is a Java integrated

More information

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc. Chapter 1 GETTING STARTED SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: WSAD. J2EE business topologies. Workbench. Project. Workbench components. Java development tools. Java projects

More information

Workflow. Summary. Prerequisites. Getting your module ready. Create a new module

Workflow. Summary. Prerequisites. Getting your module ready. Create a new module Email Workflow Summary Prerequisites Getting your module ready Create a new module Module dependencies Defining the workflow Create a new process Custom workitems Add workitem Publication steps Process

More information

ADF Mobile Code Corner

ADF Mobile Code Corner ADF Mobile Code Corner m05. Caching WS queried data local for create, read, update with refresh from DB and offline capabilities Abstract: The current version of ADF Mobile supports three ADF data controls:

More information

FeatureIDE: Overview. Thomas Thüm, Jens Meinicke. October 23, 2015

FeatureIDE: Overview. Thomas Thüm, Jens Meinicke. October 23, 2015 FeatureIDE: Overview Thomas Thüm, Jens Meinicke October 23, 2015 FeatureIDE Project Structure Feature model file in a supported format (default: xml) Thomas Thüm, Jens Meinicke FeatureIDE: Overview 2 FeatureIDE

More information

Moose for Java Enterprise Application

Moose for Java Enterprise Application Moose for Java Enterprise Application Perin Fabrizio SCG - Software Composition Group Institut für Informatik und Angewandte Mathematik University of Bern, Switzerland 18/03/10 Revision History Date Ver.

More information

DRESDEN OCL MANUAL FOR INSTALLATION, USE AND DEVELOPMENT. Claas Wilke, Michael Thiele, Björn Freitag, and Lars Schütze

DRESDEN OCL MANUAL FOR INSTALLATION, USE AND DEVELOPMENT. Claas Wilke, Michael Thiele, Björn Freitag, and Lars Schütze Faculty of Computer Science Institute of Software- and Multimedia-Technology, Software Technology Group DRESDEN OCL MANUAL FOR INSTALLATION, USE AND DEVELOPMENT Claas Wilke, Michael Thiele, Björn Freitag,

More information

CSE 501N Final Fall Points Possible

CSE 501N Final Fall Points Possible Name CSE 501N Final Fall 2008 250 Points Possible True or False: 30 points (2 points each) 1.) True or False: Inner classes can be useful for exporting object state in an encapsulated way. 2.) True or

More information

Modeling and Assessment of Safety Critical Systems

Modeling and Assessment of Safety Critical Systems Modeling and Assessment of Safety Critical Systems Thomas Barth Department of Electrical Engineering Darmstadt University of Applied Sciences Darmstadt, Germany thomas.barth@h-da.de Victor Pazmino Betancourt

More information

Enterprise Architect. User Guide Series. Hybrid Scripting. Author: Sparx Systems. Date: 26/07/2018. Version: 1.0 CREATED WITH

Enterprise Architect. User Guide Series. Hybrid Scripting. Author: Sparx Systems. Date: 26/07/2018. Version: 1.0 CREATED WITH Enterprise Architect User Guide Series Hybrid Scripting Author: Sparx Systems Date: 26/07/2018 Version: 1.0 CREATED WITH Table of Contents Hybrid Scripting 3 C# Example 5 Java Example 7 Hybrid Scripting

More information

Symbol Tables Symbol Table: In computer science, a symbol table is a data structure used by a language translator such as a compiler or interpreter, where each identifier in a program's source code is

More information

Using Command Modeler

Using Command Modeler CHAPTER 5 Command Modeler provides an infrastructure for generating and validating device-independent CLI models. Developers can use the generated device independent CLI models to generate device-specific

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

In this Tutorial we present tips and trick for the development enviroment eclipse and the extension MyEclipse.

In this Tutorial we present tips and trick for the development enviroment eclipse and the extension MyEclipse. Tips and tricks for eclipse and the IDE MyEclipse In this Tutorial we present tips and trick for the development enviroment eclipse and the extension MyEclipse. Generals Author: Sascha Wolski Sebastian

More information

Using the VMware vcenter Orchestrator Client. vrealize Orchestrator 5.5.1

Using the VMware vcenter Orchestrator Client. vrealize Orchestrator 5.5.1 Using the VMware vcenter Orchestrator Client vrealize Orchestrator 5.5.1 You can find the most up-to-date technical documentation on the VMware website at: https://docs.vmware.com/ If you have comments

More information

Real Application Security Administration

Real Application Security Administration Oracle Database Real Application Security Administration Console (RASADM) User s Guide 12c Release 2 (12.2) E85615-01 June 2017 Real Application Security Administration Oracle Database Real Application

More information

1. Go to the URL Click on JDK download option

1. Go to the URL   Click on JDK download option Download and installation of java 1. Go to the URL http://www.oracle.com/technetwork/java/javase/downloads/index.html Click on JDK download option 2. Select the java as per your system type (32 bit/ 64

More information

Create Datamart. Alessandro Taurelli 2010/06/15 13:41

Create Datamart. Alessandro Taurelli 2010/06/15 13:41 Create Datamart Alessandro Taurelli 2010/06/15 13:41 Table of Contents Create Datamart... 3 1 Reverse engineering the target database schema... 3 2 Hibernate mapping adjustement... 16 3 jar production

More information