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

Size: px
Start display at page:

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

Transcription

1 Technology Tutorial Software Engineering 2 (02162) - Details and Advanced Concepts - Patrick Könemann (pk@imm.dtu.dk) Oct 19 th 2009

2 Previous Tutorials. 1. A view and a selection listener for file types public void createpartcontrol(composite parent) { viewer = new TableViewer(parent, SWT.MULTI SWT.H_SCROLL SWT.V_SCROLL); viewer.setcontentprovider(new ArrayContentProvider()); viewer.setlabelprovider(new LabelProvider()); getsite().getpage().addselectionlistener(this); public void selectionchanged(iworkbenchpart part, ISelection selection) { List<String> list = new ArrayList<String>(); if (selection instanceof StructuredSelection) { StructuredSelection str = (StructuredSelection) selection; if (!str.isempty()) { for (Object obj : str.tolist()) { if (obj instanceof IResource) { IResource resource = (IResource) obj; list.add(resource.getname() + " (type: " + resource.getfileextension() + ", path: " + resource.getfullpath().tostring() + ")"); } } } } viewer.setinput(list); } 2

3 Previous Tutorials.. 1. A view and a selection listener for file types 2. Create an EMF model (for Petrinets), generate code, and install a command (for simulation) as a popup action for transitions 3

4 Previous Tutorials 1. A view and a selection listener for file types 2. Create an EMF model (for Petrinets), generate code, and install a command (for simulation) as a popup action for transitions 3. Create a compound command for creating an object and set its initial id 4

5 Previous Tutorials. 1. A view and a selection listener for file types 2. Create an EMF model (for Petrinets), generate code, and install a command (for simulation) as a popup action for transitions 3. Create a compound command for creating an object and set its initial id 4. Use GMF to generate a graphical editor for Petrinets and install a command (for simulation) as a popup action for transition figures 5

6 Previous Tutorials.. 1. A view and a selection listener for file types 2. Create an EMF model (for Petrinets), generate code, and install a command (for simulation) as a popup action for transitions 3. Create a compound command for creating an object and set its initial id 4. Use GMF to generate a graphical editor for Petrinets and install a command (for simulation) as a popup action for transition figures 5. A simple dashboard view for Petrinets with listeners/adapters showing the current number of tokens on selected places 6

7 Motivation This lecture covers advanced topics after the regular tutorials. But didn t we get enough tutorials yet?! These were just the basics. The following advanced concepts probably save a lot of time later. Then why listening now?! We can read things later in the slides! Good, do that! But following now will help you understand things much better. And not everything I say is in the slides ;-) 7

8 Overview Topic Concepts Examples Slides Resources in Eclipse Dialogs OCL in EMF / GMF GMF: Graphical properties in the model GMF: Architecture GMF: Decorator 8

9 Resources in Eclipse: Examples C:\se2\workspace\.metadata\ dk.dtu.imm.se2.petrinet\ model\ src\ bin\ petrinet.ecore petrinet.genmodel META-INF\.project MANIFEST.MF plugin.xml java.io.file java.io.file java.io.file java.io.file java.io.file java.io.file java.io.file java.io.file java.io.file java.io.file java.io.file java.io.file IWorkspace (metadata directory) IProject IFolder IFile IFile IFolder (source files) IFolder (compiled files) IFolder IFile (IProjectDescription) IFile How do you access these items in Java? Images are also stored as IFiles ;-) 9

10 Resources in Eclipse: Class hierarchy Open that dialog with Ctrl + t How to navigate? [brief excerpt from the JavaDoc] IResource.exists(): boolean Check whether the resource exists IResource.getFullPath(): IPath Returns the full, absolute path of this resource relative to the workspace. IResource.getLocationURI(): URI Get the URI of this ressource IContainer.members(): IResource[] Get handles to all resources contained here IContainer.getFile(String file): IFile Get a handle to a file contained here IFolder.create( ): void Create this folder (assuming it does not exist) IFile.create( ): void Create this file (assuming it does not exist) 10

11 Resources in Eclipse: Handles Access to a resource is managed by a handle : petrinetmodel: IFile fullpath = /dk.dtu.imm.se2.petrinet/model/petrinet.ecore There is no guarantee or requirement that the resource itself exists until you try to do something with the handle. [Eclipse help] IFile petrinetmodel = modelfolder.getfile("petinet.ecore"); MessageDialog.openInformation(shell, "petrinet model path", petrinetmodel.getfullpath().tostring() + "\n" + "File exists: " + petrinetmodel.exists()); What will be shown here? 11

12 Resources in Eclipse: URIs Syntax for Uniform Resource Identifiers Platform independent! <URI scheme>:<path>#<fragment> Examples: platform:/resource/dk.dtu.imm.se2.petrinet/plugin.xml platform:/plugin/org.eclipse.emf.ecore/model/ecore.ecore#//ereference Resource is located in a running plugin Resource is located in the workspace Reference to an EClass within the EMF meta model URIs also in your models (as XMI): wiper.componentdefinition wipersystem.deployment test.petrinet 12

13 Resources in Eclipse: Load a Resource A resource can be loaded with a given URI via the bundle of the local plugin activator: platform:/resource/dk.dtu.imm.se2.dashboard/icons/dashboard.gif final URL imageurl = PluginActivator.getDefault().getBundle().getEntry("icons/dashboard.gif"); final Image image = ImageDescriptor.createFromURL(imageURL).createImage(); EMF provides simple methods for loading models: 1. Create resource set 2. ask it for a resource using a URI final ResourceSet resourceset = new ResourceSetImpl(); final URI uri = URI.createURI( "platform:/resource/casetool-examples/wipersystem/controller.componentdefinition"); final Resource resource = resourceset.getresource(uri, true); final EObject compdef = resource.getcontents().get(0); Located in workspace Project Folder File 13

14 Resources in Eclipse: References Eclipse help (Help Help Contents): Platform Plug-in Developer Guide Programmer s Guide Resources overview Resources and the file system Uniform Resource Identifier (URI) Generic Syntax: 14

15 Progress Topic Concepts Examples Slides Resources in Eclipse Dialogs No direct access! Use wrapper for accessing resources IFile, IFolder, URI 9 14 OCL in EMF / GMF GMF: Graphical properties in the model GMF: Architecture GMF: Decorator 15

16 Dialog: Examples if (MessageDialog.openQuestion(shell, Disconnect?, Do you really want to disconnect from the running simulation?")) { new InputDialog(shell, "Name?", "Please enter a name.", "system1", null).open(); new ResourceDialog(shell, "Select deployment", SWT.OPEN SWT.SINGLE).open(); 16

17 Dialog: More Examples List<ViewerFilter> filters = new ArrayList<ViewerFilter>(); filters.add(new ViewerFilter() public boolean select(viewer viewer, Object parentelement, Object element) { if (element instanceof IFile) { return ((IFile)element). getfileextension().equals("deployment"); } else return true; } }); WorkspaceResourceDialog.openFileSelection(shell, "Select files", "Please select input file(s)", false, null, filters); Filters for the files Suggested path WorkspaceResourceDialog.openNewFile(shell, "Save file", "Please select output file", null, null); 17

18 Dialogs: Yet More Examples String[] buttons = new String[]{ "Overwrite", "Save as '" + filealternative.getname() + "'", "Cancel }; MessageDialog dialog = new MessageDialog(shell, "File already exists", image, "'" + file.getname() + "' already exists.\nwhat do you want to do?", MessageDialog.WARNING, buttons, 1); switch (dialog.open()) { case 0: return file; case 1: return filealternative; default: return null; } 18

19 Dialogs: Which one?! Does a dialog already exist for my purpose? Yes? Use it! No? Pick the closet one, inherit from it, and adjust it for your needs! How do I find existing dialogs? Type Hierarchy of existing dialogs Plug-in Spy on open dialogs Quick Type Hierarchy with Ctrl + t Open with Alt + Shift + F1 19

20 Dialogs: References Eclipse Help (Help Help Contents): Platform Plug-in Developer Guide > Programmer's Guide > Dialogs and wizards JavaDoc JFace Snippets: 20

21 Progress Topic Concepts Examples Slides Resources in Eclipse No direct access! Use wrapper for accessing resources IFile, IFolder, URI 9 14 Dialogs Use existing ones! (static & dynamic) MessageDialog, InputDialog, ResourceDialog, OCL in EMF / GMF GMF: Graphical properties in the model GMF: Architecture GMF: Decorator 21

22 OCL: in EMF and GMF What is wrong here? What is wrong with the deployment? free_software is not on a node wiper_on_a_chip is on a node Goal: validate that the models are correct! Hard-coding constraints but I am lazy Model constraints in OCL (Object Constraint Language) self.definition->size() > 0 and self.definition.hardware self.definition->size() > 0 and not self.definition.hardware 22

23 Constraint for connections: The messages at the out-port must be receivable at the in-port! OCL: Constraints for modeling 23

24 OCL: Constraints for modeling Constraint for connections: The messages at the out-port must be receivable at the in-port! Context (self) In OCL: self.source.definition.out->forall( m1 self.target.definition._in->exists(m2 m1=m2 ))) and self.target.definition.out->forall( m1 self.source.definition._in->exists(m2 m1=m2 )) 24

25 OCL: brief overview OCL expressions: start from the context object (in OCL called self) may access attributes and methods (by dot-notation and resp. names) may navigate along associations may call operations and built-in functions OCL is independent from a concrete programing language and is tuned to formulate typical constraints on MOF and UML models also allows us to formulate pre and post conditions of methods can be used to implement some methods and derived attributes can be used for validation of models 25

26 OCL: use in GMF Different kinds of OCL Constraints are supported by GMF editors: Live mode: During work on model (slide 23) Non-live mode: Explicit validation (slide 22) Severity: Information Warning Error Context (self) [ Examples in DeploymentEditor.gmfmap ] 26

27 OCL: Interactive Console The Interactive OCL Console allows to evaluate OCL expressions live Context (self) must be selected Evaluation results Select OCL Console here Code completion!!! 27

28 OCL: References OCL Definition: OCL in Eclipse: GMF Constraints in general: Validation in GMF: OCL in EMF (advanced!): EMF-Codegen-with-OCL/index.html OCL for GMF requires an additional feature installed (unfortunately): 28

29 Helpful plugins MDT OCL All-in-One Tool for checking the correct syntact of OCL constraints and for evaluating constraints at runtime ( Interactive OCL Console ): From Update site: Install OCL All-in-One SDK (latest version) 29

30 OCL Console M1 level (design time) 30

31 Console M2 level (runtime) 31

32 Progress Topic Concepts Examples Slides Resources in Eclipse No direct access! Use wrapper for accessing resources IFile, IFolder, URI 9 14 Dialogs Use existing ones! (static & dynamic) MessageDialog, InputDialog, ResourceDialog, OCL in EMF / GMF Constraints in the model: Deployment model; Object Constraint Language OCL Console GMF: Graphical properties in the model GMF: Architecture GMF: Decorator 32

33 Model vs. View: Reminder [ From Lecture 1: SE2-L01.pdf ] 33

34 What is a model? What is a view? Model vs. View Model: instance of a meta model A view on the Dashboard meta model Several views on a Dashboard model A view on a model is one representation of the entire model or of a part of the model. There might be several representations of the same model element in a view. In the model, each element exists only once! 34

35 Model vs. View: GMF contains the model is just one representation Contents of the _diagram file: Each graphical element is stored as a Node GMF stores graphical information for each Node: position, size, font style, colours, 35

36 Model vs. View: Dashboard Motivation Creating Dashboard model.dashboar d _diagram Dashboard editor Dashboard model(s) Dashboard view Visualizing Dashboard model during simulation What is the problem? All graphical information is missing in the model! 36

37 Model vs. View: Storing graphical details in the model 1. Make your model capable of storing the graphical details 2. Install a listener on graphical elements which updates the location attributes each time a figure is created/moved 3. Hook listener into your editor, e.g. in ResourceSetInfo in DiagramDocumentProvider protected class ResourceSetInfo extends ElementInfo { NOT */ private GraphicElementListener graphicelementlistener = new GraphicElementListener(); NOT */ public ResourceSetInfo(IDiagramDocument document, IEditorInput editorinput) { [...] getresourceset().getresources().get(0).eadapters().add(graphicelementlistener); } NOT */ public void dispose() { getresourceset().getresources().get(0).eadapters().remove(graphicelementlistener); [...] } 37

38 Model vs. View: Graphical Element Listener public class GraphicElementListener extends EContentAdapter { private NotificationFilter modifiedfilter; public GraphicElementListener() { modifiedfilter = NotificationFilter.createEventTypeFilter(Notification.SET).or( NotificationFilter.createEventTypeFilter(Notification.UNSET)).or( NotificationFilter.createEventTypeFilter(Notification.ADD)).or( NotificationFilter.createEventTypeFilter(Notification.REMOVE)); } public void notifychanged(notification notification) { if (notification.getnotifier() instanceof EObject) { super.notifychanged(notification); } if (modifiedfilter.matches(notification) && (notification instanceof ENotificationImpl) && (notification.getnotifier() instanceof EObject)) { ENotificationImpl enotification = (ENotificationImpl) notification; EObject enotifier = (EObject) enotification.getnotifier(); extends Adapter (Listener) filter for notification types handle the notification event call updatenodebounds } } if (NotationPackage.eINSTANCE.getBounds().isSuperTypeOf(eNotifier.eClass())) { updatenodebounds(enotification, enotifier); } private void updatenodebounds(enotificationimpl enotification, EObject enotifier) { int featureid = enotification.getfeatureid(eattribute.class); EObject modelelement = ((View) enotifier.econtainer()).getelement(); } } if (modelelement instanceof ILocation){ ILocation location = (ILocation) modelelement; } switch (featureid) { case NotationPackage.BOUNDS X: location.setx(enotification.getnewintvalue()); break; case NotationPackage.BOUNDS Y: location.sety(enotification.getnewintvalue()); break; } Update the location for all ILocation objects: call setx( ) and sety( ) 38

39 Progress Topic Concepts Examples Slides Resources in Eclipse No direct access! Use wrapper for accessing resources IFile, IFolder, URI 9 14 Dialogs Use existing ones! (static & dynamic) MessageDialog, InputDialog, ResourceDialog, OCL in EMF / GMF Constraints in the model: Deployment model; Object Constraint Language OCL Console GMF: Graphical properties in the model Model vs. View Saving the position of figures in the model GMF: Architecture GMF: Decorator 39

40 GMF Architecture [Introduction to GMF, EclipseCon 2006] The important relevant parts:.diagram.edit.commands Commands for creating elements.diagram.edit.parts Controller (and views!) for all model elements.diagram.edit.policies General editing rules and restrictions.diagram.part Main classes (Editor, Wizard, Palette, Toolbar, Model provider, ).diagram.providers Item providers for edit-parts 40

41 GMF Architecture: MVC pattern Model Root Model Controller (EditParts) Diagram EditPart View (Figures) Diagram Figure fig 42 Located in you EMF model plugin Located in.diagram.edit.parts Also located in.diagram.edit.parts Observer pattern (Listeners) Direct access 41

42 MVC excursion: GMF vs. Pattern idea Model Controller View fig Controller and View are tightly coupled in GMF! No queries from the view to the model [ From Lecture 2: SE2-L02.pdf ] 42

43 GMF Architecture: The EditParts EditParts are controllers Create Figures Define Figure Layout Set graphical properties (not stored in the model) Contain Figures!!! Let s have a look at the PlaceEditPart of the Petrinet editor Tipp: Create your own package for your customized figures and integrate your figures in the.gmfgraph file (unless you need to customize what is not possible to define in gmfgraph) Dashboard editor does probably not need customized figures! 43

44 Progress Topic Concepts Examples Slides Resources in Eclipse No direct access! Use wrapper for accessing resources IFile, IFolder, URI 9 14 Dialogs Use existing ones! (static & dynamic) MessageDialog, InputDialog, ResourceDialog, OCL in EMF / GMF Constraints in the model: Deployment model; Object Constraint Language OCL Console GMF: Graphical properties in the model Model vs. View Saving the position of figures in the model GMF: Architecture Model-View-Controller pattern EditParts, Figures, ModelElements GMF: Decorator 44

45 Decorator: Examples Where are the decodators? A decorator decorates an existing element by adding something Overlay images, examples above Adding behavior to a method by delegation, e.g. streams Adding components on a GUI, e.g. scrollbars Advantages: Existing element is not changed! Different decorators possible, either nested or alternative 45

46 Decorator: The Pattern Nested decorators: 1. the image 2. inner frame 3. outer frame [ Design Patterns Simply ] 46

47 Decorators: Realization in GMF 1. Implement a decorator by extending AbstractDecorator overwrite the refresh() method make sure changes to model elements are recognized: install an observer on the model element and handle updates 2. Implement a decorator provider by extending AbstractProvider and implementing IDecoratorProvider responsible for the creation of the decorator for the correct model elements 3. Register the decorator provider at the extension point: org.eclipse.gmf.runtime.diagram.ui.decorator.providers [details in 47

48 Decorator: References Gamma, E.; Helm, R.; Johnson, R. & Vlissides, J. Design Patterns: Elements of Reusable Object-Oriented Software Addison-Wesley, 1995 Design Patterns Simply: Decorating shapes in GMF (slides 44-51): GMF Tutorial: 48

49 Summary Topic Concepts Examples Slides Resources in Eclipse No direct access! Use wrapper for accessing resources IFile, IFolder, URI 9 14 Dialogs Use existing ones! (static & dynamic) MessageDialog, InputDialog, ResourceDialog, OCL in EMF / GMF Constraints in the model: Deployment model; Object Constraint Language OCL Console GMF: Graphical properties in the model Model vs. View Saving the position of figures in the model GMF: Architecture Model-View-Controller pattern EditParts, Figures, ModelElements GMF: Decorator Decorator design pattern Decorating figures; Initial state in component definition

50 Questions? 1. Questions about this tutorial? 2. Questions about the tutorials in general? 3. Questions about the project? Think about where to use these technologies in your project! 50

Advanced Topics in Software Engineering (02265) Ekkart Kindler

Advanced Topics in Software Engineering (02265) Ekkart Kindler Advanced Topics in Software Engineering (02265) IV. (Meta-) Modelling Frameworks 2 1. Motivation & Overview With MOF, we have: Modelling notation (EMOF / CMOF) Java API (JMI, EMF, etc) Instance model /

More information

Model-based Software Engineering (02341, spring 2016) Ekkart Kindler

Model-based Software Engineering (02341, spring 2016) Ekkart Kindler Model-based Software Engineering (02341, spring 2016) II. Modelling with a Purpose 1. Models to which end Understanding the world (conceptual models, domain models) Understanding what the software is supposed

More information

Advanced User Interface Programming Using the Eclipse Rich Client Platform

Advanced User Interface Programming Using the Eclipse Rich Client Platform Advanced User Interface Programming Using the Eclipse Rich Client Platform Tod Creasey IBM Canada Tod Creasey Advanced User Interface Programming Using the Eclipse Rich Client Platform Page 1 About the

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

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

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

Creating an Eclipse View

Creating an Eclipse View Copyright 2001 Object Technology International, Inc. Eclipse Corner Article Creating an Eclipse View Summary In the Eclipse Platform a view is typically used to navigate a hierarchy of information, open

More information

GMF Tutorial Part 3 - Eclipsepedia

GMF Tutorial Part 3 - Eclipsepedia Seite 1 GMF Tutorial Part 3 From Eclipsepedia In this third part of the GMF Tutorial, we will explore some more advanced capabilities related to the tooling components, while also extending what's generated

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

Software Engineering 2 A practical course in software engineering. Ekkart Kindler

Software Engineering 2 A practical course in software engineering. Ekkart Kindler Software Engineering 2 A practical course in software engineering Conclusion, Outlook, Discussion Motivation 3 4 1. What did you learn? Objectives of this course: Basic skills in software engineering!

More information

Software Engineering 2 A practical course in software engineering. Ekkart Kindler

Software Engineering 2 A practical course in software engineering. Ekkart Kindler Software Engineering 2 A practical course in software engineering II. Modelling Software Modelling Software Model based software engineering (taking models a bit more seriously than we did traditionally)

More information

Component-Based Development

Component-Based Development Component-Based Development 2004-2005 Marco Scotto (Marco.Scotto@unibz.it) Outline Views Introduction View Declaration View Model Content Provider Label Provider 2 Introduction (1/5) Many plug-ins either

More information

Testing Eclipse plug-ins: Tips & Tricks

Testing Eclipse plug-ins: Tips & Tricks Testing Eclipse plug-ins: Tips & Tricks Lorenzo Bettini DISIA University Firenze, Italy Vincenzo Caselli Francesco Guidieri RCP-Vision, Firenze, Italy EclipseCon Europe 2017 Project Quality Day Motivations

More information

Workbench and JFace Foundations. Part One, of a two part tutorial series

Workbench and JFace Foundations. Part One, of a two part tutorial series Workbench and JFace Foundations Part One, of a two part tutorial series 2005 by IBM; made available under the EPL v1.0 Date: February 28, 2005 About the Speakers Tod Creasey Senior Software Developer,

More information

Software Engineering 2 A practical course in software engineering. Ekkart Kindler

Software Engineering 2 A practical course in software engineering. Ekkart Kindler Software Engineering 2 A practical course in software engineering I. Introduction Introduction Motivation: Software engineering & management Agile development The role of models in software engineering

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

2.1 Design Patterns and Architecture (continued)

2.1 Design Patterns and Architecture (continued) MBSE - 2.1 Design Patterns and Architecture 1 2.1 Design Patterns and Architecture (continued) 1. Introduction 2. Model Construction 2.1 Design Patterns and Architecture 2.2 State Machines 2.3 Timed Automata

More information

2.1 Design Patterns and Architecture (continued)

2.1 Design Patterns and Architecture (continued) MBSE - 2.1 Design Patterns and Architecture 1 2.1 Design Patterns and Architecture (continued) 1. Introduction 2. Model Construction 2.1 Design Patterns and Architecture 2.2 State Machines 2.3 Abstract

More information

Developer s Manual. For agenttool 3. Kyle Hill. November 25, 2007 Kansas State University. Page 1 of 25

Developer s Manual. For agenttool 3. Kyle Hill. November 25, 2007 Kansas State University. Page 1 of 25 For agenttool 3 Kyle Hill November 25, 2007 Kansas State University Page 1 of 25 Table of Contents 1. Introduction... 3 2. Relationship to GEF.. 5 3. The Core Plug-in... 6 4. agenttool Package Overview

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

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

CISC836: Models in Software Development: Methods, Techniques and Tools CISC836: Models in Software Development: Methods, Techniques and Tools Topic 4: Code Generation with EMF Meta modeling Languages for meta models: Ecore Using EMF and Ecoreto define a data model Using EMF

More information

CS 349 / SE 382 Design Patterns. Professor Michael Terry January 21, 2009

CS 349 / SE 382 Design Patterns. Professor Michael Terry January 21, 2009 CS 349 / SE 382 Design Patterns Professor Michael Terry January 21, 2009 Today s Agenda More demos! Design patterns CS 349 / SE 382 / 2 Announcements Assignment 1 due Monday at 5PM! CS 349 / SE 382 / 3

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

Software Engineering 2 A practical course in software engineering. Ekkart Kindler

Software Engineering 2 A practical course in software engineering. Ekkart Kindler Software Engineering 2 A practical course in software engineering I. Introduction Introduction Motivation The role of models in software engineering Software engineering & management Organisation of this

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

A Tour of the Eclipse Environment

A Tour of the Eclipse Environment A Tour of the Eclipse Environment Stephen Barrett Concordia University What is Eclipse? Depends on who you ask. 2 What is Eclipse? 3 Man on the Street: Java-based development framework Spawned from IBM

More information

The New Generation of the Eclipse Platform. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

The New Generation of the Eclipse Platform. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék The New Generation of the Eclipse Platform Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Eclipse RCP For developing client applications o Based on the Eclipse

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

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) Code snippets (week 2) Ecore model from T01 3 Generated Code // All comments and imports deleted! package dk.dtu.compute.mbse.petrinet; Interface only

More information

Design Patterns. Definition of a Design Pattern

Design Patterns. Definition of a Design Pattern Design Patterns Barbara Russo Definition of a Design Pattern A Pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem,

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

Foundations of User Interface Programming Using the Eclipse Rich Client Platform

Foundations of User Interface Programming Using the Eclipse Rich Client Platform Foundations of User Interface Programming Using the Eclipse Rich Client Platform Tod Creasey IBM Canada Tod Creasey Foundations of User Interface Programming Using the Eclipse Rich Client Platform Page

More information

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

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

More information

Single Sourceing for Eclipse 4.x and 3.x

Single Sourceing for Eclipse 4.x and 3.x Single Sourceing for Eclipse 4.x and 3.x Tom Schindl - BestSolution Systemhaus GmbH EclipseCon 2011 - March 21st 2011 About Me CEO BestSolution Systemhaus GmbH Eclipse Committer e4 Platform UI EMF Projectlead:

More information

Eclipse (2/3) Deepak Dhungana Institute for System Engineering and Automation

Eclipse (2/3) Deepak Dhungana Institute for System Engineering and Automation Eclipse (2/3) Deepak Dhungana dhungana@ase.jku.at Institute for System Engineering and Automation Thomas Wuerthinger wuerthinger@ssw.jku.at Institute for System Software Johannes Kepler University Linz,

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

Keep on Swinging. Productivity layers on top of SWT. Karsten Schmidt SAP AG.

Keep on Swinging. Productivity layers on top of SWT. Karsten Schmidt SAP AG. Keep on Swinging Productivity layers on top of SWT Karsten Schmidt SAP AG k.schmidt@sap.com Keep on Swinging - Agenda! Background! SAP NetWeaver Developer Studio! The UI (Container) Framework! The SAP

More information

USER GUIDE MADCAP FLARE Accessibility

USER GUIDE MADCAP FLARE Accessibility USER GUIDE MADCAP FLARE 2018 Accessibility 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

Software Engineering 2 A practical course in software engineering. Ekkart Kindler

Software Engineering 2 A practical course in software engineering. Ekkart Kindler Software Engineering 2 A practical course in software engineering Conclusion, Outlook, Discussion Motivation 3 4 1. What did you learn? Objectives of this course: Basic skills in software engineering!

More information

User s Manual. for. Diagram Consistency and Validation in agenttool III

User s Manual. for. Diagram Consistency and Validation in agenttool III User s Manual for Diagram Consistency and Validation in agenttool III Submitted by Patrick Gallagher CIS 895 MSE Project Department of Computing and Information Sciences Kansas State University Table of

More information

Design Patterns with Fujaba Intense Course, 5th-9th October Ruben Jubeh

Design Patterns with Fujaba Intense Course, 5th-9th October Ruben Jubeh Design Patterns with Fujaba Intense Course, 5th-9th October 2009 Ruben Jubeh ruben.jubeh@uni-kassel.de Kassel University Department of Software Engineering Wilhelmshöher Allee 73 34121 Kassel Germany Timetable

More information

Facade and Adapter. Comp-303 : Programming Techniques Lecture 19. Alexandre Denault Computer Science McGill University Winter 2004

Facade and Adapter. Comp-303 : Programming Techniques Lecture 19. Alexandre Denault Computer Science McGill University Winter 2004 Facade and Adapter Comp-303 : Programming Techniques Lecture 19 Alexandre Denault Computer Science McGill University Winter 2004 March 23, 2004 Lecture 19 Comp 303 : Facade and Adapter Page 1 Last lecture...

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) Lecture 8: Overview (cntd.) Some hints for the implementation Auxiliary datatypes and functions Helpful epnk functions Marking algorithm (OR-join:

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

Introduction to Programming Using Java (98-388)

Introduction to Programming Using Java (98-388) Introduction to Programming Using Java (98-388) Understand Java fundamentals Describe the use of main in a Java application Signature of main, why it is static; how to consume an instance of your own class;

More information

MEAP Edition Manning Early Access Program Get Programming with Java Version 1

MEAP Edition Manning Early Access Program Get Programming with Java Version 1 MEAP Edition Manning Early Access Program Get Programming with Java Version 1 Copyright 2018 Manning Publications For more information on this and other Manning titles go to www.manning.com welcome First,

More information

Towards Generating Domain-Specific Model Editors with Complex Editing Commands

Towards Generating Domain-Specific Model Editors with Complex Editing Commands Towards Generating Domain-Specific Model Editors with Complex Editing Commands Gabriele Taentzer Technical University of Berlin Germany gabi@cs.tu-berlin.de May 10, 2006 Abstract Domain specific modeling

More information

EMFT 1.0 Release Review (OCL, Query, Transaction, and Validation)

EMFT 1.0 Release Review (OCL, Query, Transaction, and Validation) EMFT 1.0 Release Review (OCL, Query, Transaction, and Validation) June 16, 2006 Christian Damus EMFT Developer IBM, Ottawa 1 EMFT 1.0 Release Review 2006 by IBM Corporation, made available under the EPL

More information

Implement a Multi-Frontend Chat Application based on Eclipse Scout

Implement a Multi-Frontend Chat Application based on Eclipse Scout BAHBAH TUTORIAL Implement a Multi-Frontend Chat Application based on Eclipse Scout http://www.eclipse.org/scout/ 24.10.2012 Authors: Matthias Zimmermann, Matthias Villiger, Judith Gull TABLE OF CONTENTS

More information

CSE P 501 Compilers. Implementing ASTs (in Java) Hal Perkins Winter /22/ Hal Perkins & UW CSE H-1

CSE P 501 Compilers. Implementing ASTs (in Java) Hal Perkins Winter /22/ Hal Perkins & UW CSE H-1 CSE P 501 Compilers Implementing ASTs (in Java) Hal Perkins Winter 2008 1/22/2008 2002-08 Hal Perkins & UW CSE H-1 Agenda Representing ASTs as Java objects Parser actions Operations on ASTs Modularity

More information

Advanced Topics in Software Engineering (02265) Ekkart Kindler

Advanced Topics in Software Engineering (02265) Ekkart Kindler Advanced Topics in Software Engineering (02265) Recapitulation (I. Introduction ) 2 Levels of models ClassDiagram is an instance of PetriNet * Object * Class 1 start 1 end * Association concrete syntax

More information

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

Advanced Topics in Software Engineering (02265) Ekkart Kindler

Advanced Topics in Software Engineering (02265) Ekkart Kindler Advanced Topics in Software Engineering (02265) I. Introduction and Motivation 2 1. Vision 3 Today Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginname package PetriNets.impl; Bundle-SymbolicName:

More information

Goals of Lecture. Lecture 27: OO Design Patterns. Pattern Resources. Design Patterns. Cover OO Design Patterns. Pattern Languages of Programming

Goals of Lecture. Lecture 27: OO Design Patterns. Pattern Resources. Design Patterns. Cover OO Design Patterns. Pattern Languages of Programming Goals of Lecture Lecture 27: OO Design Patterns Cover OO Design Patterns Background Examples Kenneth M. Anderson Object-Oriented Analysis and Design CSCI 6448 - Spring Semester, 2001 April 24, 2001 Kenneth

More information

The Eclipse Rich Client Platform

The Eclipse Rich Client Platform The Eclipse Rich Client Platform Slides by various members of the Eclipse JDT and Platform teams Slides 2004 IBM Corporation Outline Rich Client Application? The Eclipse Plug-in Architecture Eclipse Plug-ins

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

Object-Oriented Design

Object-Oriented Design Object-Oriented Design Lecturer: Raman Ramsin Lecture 10: Analysis Packages 1 Analysis Workflow: Packages The analysis workflow consists of the following activities: Architectural analysis Analyze a use

More information

Computer Science 2 Lecture 4 Inheritance: Trinidad Fruit Stand 02/15/2014 Revision : 1.7

Computer Science 2 Lecture 4 Inheritance: Trinidad Fruit Stand 02/15/2014 Revision : 1.7 Computer Science 2 Lecture 4 Inheritance: Trinidad Fruit Stand 02/15/2014 Revision : 1.7 1 Problem Ralph owns the Trinidad Fruit Stand that sells its fruit on the street, and he wants to use a computer

More information

WPS Workbench. user guide. "To help guide you through using the WPS user interface (Workbench) to create, edit and run programs"

WPS Workbench. user guide. To help guide you through using the WPS user interface (Workbench) to create, edit and run programs WPS Workbench user guide "To help guide you through using the WPS user interface (Workbench) to create, edit and run programs" Version: 3.1.7 Copyright 2002-2018 World Programming Limited www.worldprogramming.com

More information

Introduction to Eclipse Rich Client Platform Support in IBM Rational HATS. For IBM System i (5250)

Introduction to Eclipse Rich Client Platform Support in IBM Rational HATS. For IBM System i (5250) Introduction to Eclipse Rich Client Platform Support in IBM Rational HATS For IBM System i (5250) 1 Lab instructions This lab teaches you how to use IBM Rational HATS to create a rich client plug-in application

More information

I Got My Mojo Workin'

I Got My Mojo Workin' I Got My Mojo Workin' Gary Murphy Hilbert Computing, Inc. http://www.hilbertinc.com/ glm@hilbertinc.com Gary Murphy I Got My Mojo Workin' Slide 1 Agenda Quick overview on using Maven 2 Key features and

More information

Index. Symbols. /**, symbol, 73 >> symbol, 21

Index. Symbols. /**, symbol, 73 >> symbol, 21 17_Carlson_Index_Ads.qxd 1/12/05 1:14 PM Page 281 Index Symbols /**, 73 @ symbol, 73 >> symbol, 21 A Add JARs option, 89 additem() method, 65 agile development, 14 team ownership, 225-226 Agile Manifesto,

More information

TIBCO ActiveMatrix BusinessWorks Plug-in for OData User's Guide

TIBCO ActiveMatrix BusinessWorks Plug-in for OData User's Guide TIBCO ActiveMatrix BusinessWorks Plug-in for OData User's Guide Software Release 6.0.1 November 2016 Two-Second Advantage 2 Important Information SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE.

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

UIMA Tools Guide and Reference

UIMA Tools Guide and Reference UIMA Tools Guide and Reference Written and maintained by the Apache UIMA Development Community Version 3.0.0 Copyright 2006, 2018 The Apache Software Foundation License and Disclaimer. The ASF licenses

More information

Version: Copyright World Programming Limited

Version: Copyright World Programming Limited Version: 3.0.7.0.650 Copyright 2002-2017 World Programming Limited www.teamwpc.co.uk Contents Introduction... 5 About This Guide... 5 About WPS...5 Users of SAS Software...6 Getting Started... 8 Workbench

More information

Introduction to Eclipse Rich Client Platform Support in IBM Rational HATS For IBM System i (5250)

Introduction to Eclipse Rich Client Platform Support in IBM Rational HATS For IBM System i (5250) Introduction to Eclipse Rich Client Platform Support in IBM Rational HATS For IBM System i (5250) Introduction to Eclipse Rich Client Platform Support in IBM Rational HATS 1 Lab instructions This lab teaches

More information

GMF 2.0 Europa Simultaneous Release

GMF 2.0 Europa Simultaneous Release GMF 2.0 Europa Simultaneous Release June 06, 2007 Release Review revision 2.3.1 January 17, 2007 1 Europa Simultaneous Release 2007 by Borland Software Corporation, made available under the EPL v1.0 GMF

More information

Introduction to Eclipse

Introduction to Eclipse Introduction to Eclipse Ed Gehringer Using (with permission) slides developed by Dwight Deugo (dwight@espirity.com) Nesa Matic (nesa@espirity.com( nesa@espirity.com) Sreekanth Konireddygari (IBM Corp.)

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

Test/Debug Guide. Reference Pages. Test/Debug Guide. Site Map Index

Test/Debug Guide. Reference Pages. Test/Debug Guide. Site Map Index Site Map Index HomeInstallationStartAuthoringStreamSQLTest/DebugAPI GuideAdminAdaptersSamplesStudio GuideReferences Current Location: Home > Test/Debug Guide Test/Debug Guide The following topics explain

More information

Graphical Editors 2. GMF. Budapes( Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Graphical Editors 2. GMF. Budapes( Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Graphical Editors 2. GMF Budapes( Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék GMF Graphical Modeling Framework Goal o Graphical edi:ng of DSLs o Model- based, with

More information

We will talk about Alt-Tab from the usability perspective. Think about: - Is it learnable? - Is it efficient? - What about errors and safety?

We will talk about Alt-Tab from the usability perspective. Think about: - Is it learnable? - Is it efficient? - What about errors and safety? 1 This lecture s candidate for the Hall of Fame & Shame is the Alt-Tab window switching interface in Microsoft Windows. This interface has been copied by a number of desktop systems, including KDE, Gnome,

More information

How we reached 0 technical debt in our Eclipse project

How we reached 0 technical debt in our Eclipse project How we reached 0 technical debt in our Eclipse project Lorenzo Bettini Dip. DISIA, University of Firenze, Italy Vincenzo Caselli, Francesco Guidieri RCP-Vision, Firenze, Italy EclipseCon Europe, 2016 Our

More information

Index. alt, 38, 57 class, 86, 88, 101, 107 href, 24, 51, 57 id, 86 88, 98 overview, 37. src, 37, 57. backend, WordPress, 146, 148

Index. alt, 38, 57 class, 86, 88, 101, 107 href, 24, 51, 57 id, 86 88, 98 overview, 37. src, 37, 57. backend, WordPress, 146, 148 Index Numbers & Symbols (angle brackets), in HTML, 47 : (colon), in CSS, 96 {} (curly brackets), in CSS, 75, 96. (dot), in CSS, 89, 102 # (hash mark), in CSS, 87 88, 99 % (percent) font size, in CSS,

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

DTP Help-Helper for Dynamic Context-Sensitive Help

DTP Help-Helper for Dynamic Context-Sensitive Help DTP Help-Helper for Dynamic Context-Sensitive Help This document introduces the Data Tools Platform (DTP) help-helper plug-in, which is provided in the Eclipse DTP project, since version 1.5 (released

More information

Lesson learned from using EMF to build Desktop & Web Applications. Ludwigsburg, Oct

Lesson learned from using EMF to build Desktop & Web Applications. Ludwigsburg, Oct Lesson learned from using EMF to build Desktop & Web Applications Ludwigsburg, Oct 26 2017 About us Lorenzo Bettini Dip. Informatica, Univ. Firenze, Italy bettini@disia.unifi.it @lorenzo_bettini www.lorenzobettini.it

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

Comparing graphical DSL editors

Comparing graphical DSL editors Comparing graphical DSL editors AToM 3 vs GMF & MetaEdit+ Nick Baetens Outline Introduction MetaEdit+ Specifications Workflow GMF Specifications Workflow Comparison 2 Introduction Commercial Written in

More information

CSE P 501 Compilers. Implementing ASTs (in Java) Hal Perkins Autumn /20/ Hal Perkins & UW CSE H-1

CSE P 501 Compilers. Implementing ASTs (in Java) Hal Perkins Autumn /20/ Hal Perkins & UW CSE H-1 CSE P 501 Compilers Implementing ASTs (in Java) Hal Perkins Autumn 2009 10/20/2009 2002-09 Hal Perkins & UW CSE H-1 Agenda Representing ASTs as Java objects Parser actions Operations on ASTs Modularity

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

Object-Oriented Design

Object-Oriented Design Object-Oriented Design Lecture 14: Design Workflow Department of Computer Engineering Sharif University of Technology 1 UP iterations and workflow Workflows Requirements Analysis Phases Inception Elaboration

More information

The Sun s Java Certification and its Possible Role in the Joint Teaching Material

The Sun s Java Certification and its Possible Role in the Joint Teaching Material The Sun s Java Certification and its Possible Role in the Joint Teaching Material Nataša Ibrajter Faculty of Science Department of Mathematics and Informatics Novi Sad 1 Contents Kinds of Sun Certified

More information

Introduction to Computation and Problem Solving

Introduction to Computation and Problem Solving Class 3: The Eclipse IDE Introduction to Computation and Problem Solving Prof. Steven R. Lerman and Dr. V. Judson Harward What is an IDE? An integrated development environment (IDE) is an environment in

More information

CS-Studio Display Builder

CS-Studio Display Builder CS-Studio Display Builder Tutorial presented: Spring 2017 EPICS Collaboration Meeting at KURRI, Osaka, Japan Megan Grodowitz, Kay Kasemir (kasemir@ornl.gov) Overview Display Builder replaces OPI Builder

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

More on Design. CSCI 5828: Foundations of Software Engineering Lecture 23 Kenneth M. Anderson

More on Design. CSCI 5828: Foundations of Software Engineering Lecture 23 Kenneth M. Anderson More on Design CSCI 5828: Foundations of Software Engineering Lecture 23 Kenneth M. Anderson Outline Additional Design-Related Topics Design Patterns Singleton Strategy Model View Controller Design by

More information

Talend Component tgoogledrive

Talend Component tgoogledrive Talend Component tgoogledrive Purpose and procedure This component manages files on a Google Drive. The component provides these capabilities: 1. Providing only the client for other tgoogledrive components

More information

Advanced Topics in Software Engineering (02265) Ekkart Kindler

Advanced Topics in Software Engineering (02265) Ekkart Kindler Advanced Topics in Software Engineering (02265) III. Meta-modelling 2 1. Background / Motivation Mid / end 90ties: CASE (Computer Aided Software Engineering) modelling tools become more popular code generation

More information

1. Installing R4E 1. 1) Provision Software Sites 2. 2) Install Version Control System Features 3. 3) Install R4E feature 4. 4) Install Versions

1. Installing R4E 1. 1) Provision Software Sites 2. 2) Install Version Control System Features 3. 3) Install R4E feature 4. 4) Install Versions R4E Documentation 1. Installing R4E 1. 1) Provision Software Sites 2. 2) Install Version Control System Features 3. 3) Install R4E feature 4. 4) Install Versions Connectors 2. Getting Started 1. Overview

More information

Eclipse (1/3) Deepak Dhungana Institute for System Engineering and Automation

Eclipse (1/3) Deepak Dhungana Institute for System Engineering and Automation Eclipse (1/3) Deepak Dhungana dhungana@ase.jku.at Institute for System Engineering and Automation Thomas Wuerthinger wuerthinger@ssw.jku.at Institute for System Software Johannes Kepler University Linz,

More information

Compositional Model Based Software Development

Compositional Model Based Software Development Compositional Model Based Software Development Prof. Dr. Bernhard Rumpe http://www.se-rwth.de/ Seite 2 Our Working Groups and Topics Automotive / Robotics Autonomous driving Functional architecture Variability

More information

Workpackage 15: DBE Business Modeling Language. Deliverable D15.5: BML Editor Final Release

Workpackage 15: DBE Business Modeling Language. Deliverable D15.5: BML Editor Final Release Contract n 507953 Workpackage 15: DBE Business Modeling Language Deliverable D15.5: BML Editor Final Release Project funded by the European Community under the Information Society Technology Programme

More information

Prototyping a Swing Interface with the Netbeans IDE GUI Editor

Prototyping a Swing Interface with the Netbeans IDE GUI Editor Prototyping a Swing Interface with the Netbeans IDE GUI Editor Netbeans provides an environment for creating Java applications including a module for GUI design. Here we assume that we have some existing

More information

Assignment 1. Application Development

Assignment 1. Application Development Application Development Assignment 1 Content Application Development Day 1 Lecture The lecture provides an introduction to programming, the concept of classes and objects in Java and the Eclipse development

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

BASIC COMPUTATION. public static void main(string [] args) Fundamentals of Computer Science I

BASIC COMPUTATION. public static void main(string [] args) Fundamentals of Computer Science I BASIC COMPUTATION x public static void main(string [] args) Fundamentals of Computer Science I Outline Using Eclipse Data Types Variables Primitive and Class Data Types Expressions Declaration Assignment

More information

At the shell prompt, enter idlde

At the shell prompt, enter idlde IDL Workbench Quick Reference The IDL Workbench is IDL s graphical user interface and integrated development environment. The IDL Workbench is based on the Eclipse framework; if you are already familiar

More information

UIMA Tools Guide and Reference

UIMA Tools Guide and Reference UIMA Tools Guide and Reference Written and maintained by the Apache UIMA Development Community Version 2.3.0-incubating Copyright 2004, 2006 International Business Machines Corporation Copyright 2006,

More information