Spraying The Natural Way of Creating Graphiti Jos Warmer, Independent Karsten Thoms,

Slides:



Advertisements
Similar presentations
Java Graphical User Interface (GUI) using Visual Editor in eclipse CSI 1390 – Java Programming Instructor: Saeid Nourian University.
Advertisements

1.
© 2008 by Borland Software Corp; made available under the EPL v1.0 | 17 March 2008 Introduction to the Graphical Modeling Framework Artem Tikhomirov, Borland.
Objective Understand web-based digital media production methods, software, and hardware. Course Weight : 10%
Ivan Towlson Mindscape.  What are DSLs and why should I care?  What are the Visual Studio DSL Tools?  Building a DSL  Vocabulary and grammar  Spiffing.
TAC Vista Security. Target  TAC Vista & Security Integration  Key customer groups –Existing TAC Vista users Provide features and hardware for security.
© by Pearson Education, Inc. All Rights Reserved.
Welcome to E-Prime E-Prime refers to the Experimenter’s Prime (best) development studio for the creation of computerized behavioral research. E-Prime is.
Martin Flügge Berlin, Germany Let the sunshine in! News from the Dawn side of.
HTML tags Skills: adding HTML tags, text editor IT concepts: plain text, computer components – storage versus memory, separation of content and format.
Java Applets A lab course by Dr. Junaid Ahmed Zubairi SUNY Fredonia.
Web-based Control Interface For a model train control system By: Kevin Sendra.
By: Zaiba Mustafa Copyright ©
Introducing JavaBeans Identify the features of a JavaBean Create and add a bean to an application Manipulate bean properties using accessor and mutator.
Kanban Task Manager for SharePoint ‒ Introduction
® IBM Software Group © 2006 IBM Corporation Creating JSF/EGL Template Pages This section describes how to create.JTPL (Java Template Pages) using the Page.
Copyright © Texas Education Agency, All rights reserved. 1 Web Technologies Website Development with Dreamweaver.
Basics of Web Databases With the advent of Web database technology, Web pages are no longer static, but dynamic with connection to a back-end database.
Web Technologies Website Development Trade & Industrial Education
© 2005 by IBM; made available under the EPL v1.0 | March 1, 2005 Tim deBoer Gorkem Ercan Extend WTP Server Tools for your.
® IBM Software Group © 2009 IBM Corporation Rational Publishing Engine RQM Multi Level Report Tutorial David Rennie, IBM Rational Services A/NZ
DEVELOPMENT QA REPORTS A Series of Reports to Enforce Compliance with Your PeopleSoft Development Standards Leandro Baca.
4 HTML Basics Section 4.1 Format HTML tags Identify HTML guidelines Section 4.2 Organize Web site files and folder Use a text editor Use HTML tags and.
Deutsches Elektronen-Synchrotron DESY Helmholtz Association of German Research Centres Hamburg, Germany The European X-Ray Laser Project.
IE 411/511: Visual Programming for Industrial Applications
Dreamweaver – Dreamweaver Extras Web Design Section 8-4 Part or all of this lesson was adapted from the University of Washington’s “Web Design & Development.
University of Sunderland CDM105 Session 5 Web Authoring Tools The past and present A history of web authoring tools and an overview of Macromedia Dreamweaver.
Website Development with Dreamweaver
© 2011 Autodesk CP5239 Demand-Loading AutoCAD®.NET Plug-ins James E. Johnson Synergis Software Sr. CAD Developer.
Spray A Quick way of Creating Graphiti A (very) short Introduction Jos Warmer
Chapter 10 Fireworks: Part II The Web Warrior Guide to Web Design Technologies.
Session 1 SESSION 1 Working with Dreamweaver 8.0.
Domain-Specific Development Stuart Kent, Senior Program Manager, DSL Tools, Visual Studio Team System, Microsoft.
Selected Topics in Software Engineering - Distributed Software Development.
HTML Structure & syntax. Introduction This presentation introduces the following: Doctype declaration HTML Tags, Elements and Attributes Sections of a.
Creating Web Pages Chapter 5 Learn how to… Identify Web page creation strategies. Define HTML Web page elements. Describe the principles of good screen.
Copyright (c) 2004 Prentice-Hall. All rights reserved. 1 Committed to Shaping the Next Generation of IT Experts. Adding Graphical Elements Essentials for.
Chapter 2 – Introduction to the Visual Studio .NET IDE
Creating a navigation bar in Fireworks. Setting up the canvas Open Fireworks and choose a canvas size big enough to fit the buttons on you are going to.
4 HTML Basics Section 4.1 Format HTML tags Identify HTML guidelines Section 4.2 Organize Web site files and folder Use a text editor Use HTML tags and.
Taking Control of Visual Studio through Extensions and Extensibility Anthony Cangialosi Senior Program Manager Lead Microsoft Corporation DEV311.
© 2010 by Boeing; made available under the EPL v1.0 | March 23, 2010 | Xtext and GEF deliver editors for the Open System Engineering Environment Ryan Brooks.
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
HTML Basics. HTML Coding HTML Hypertext markup language The code used to create web pages.
Kevin Murphy Images and Web Pages Masters Project CS 490.
Modern Programming Language. Web Container & Web Applications Web applications are server side applications The most essential requirement.
SwE 455 Tutorial. What is Evolve? Evolve is a tool for defining components and connecting them together to form new components. Also provides a runtime.
Understanding Web-Based Digital Media Production Methods, Software, and Hardware Objective
 2002 Prentice Hall. All rights reserved. 1 Introduction to the Visual Studio.NET IDE Outline Introduction Visual Studio.NET Integrated Development Environment.
 Lesson 6: App Design. Objectives Introduce concepts such as splash screen, logo, marketing, and branding Understand how color is used to emote specific.
Generating ADL Descriptions ADL Module for Together 6.x Massimo Marino Lawrence Berkeley National Laboratory.
Editing and Debugging Mumps with VistA and the Eclipse IDE Joel L. Ivey, Ph.D. Dept. of Veteran Affairs OI&T, Veterans Health IT Infrastructure & Security.
HTML 5 (Part 1) – Start from SCRATCH. HTML 5 – Start from SCRATCH.
Information Screen Different options to realize. Idea one – You want this if: It should be easy to provide information ◦ Even for non-technical advanced.
ETrice Release Review | © Protos Software GmbH, Made available under the EPL v 1.0 eTrice Release Review Planned Review Date: Communcation.
SVG Accessibility Basics
eTrice Release Review Planned Review Date:
Chapter 2 – Introduction to the Visual Studio .NET IDE
Let the sunshine in! News from the Dawn side of life
PHP Image Manipulation
Kanban Task Manager SharePoint Editions ‒ Introduction
Define phase Interview the client to understand goals, audience, content, design, and delivery requirements. Organize and outline interview information.
Create your Benner - intro
KELLER WILLIAMS REALTY
12 Product Configurator
Welcome to E-Prime E-Prime refers to the Experimenter’s Prime (best) development studio for the creation of computerized behavioral research. E-Prime is.
SwE 455 Tutorial.
Objective Understand web-based digital media production methods, software, and hardware. Course Weight : 10%
Android Developer Fundamentals V2 Lesson 1
Presentation transcript:

Spraying The Natural Way of Creating Graphiti Jos Warmer, Independent Karsten Thoms,

©SAP AG All rights reserved. / Page 2 EclipseCon Europe 2011, Ludwigsburg Graphiti Approach No code generation but: Uses a runtime engine Programmed using a Java API Easy (relatively) to understand code

©SAP AG All rights reserved. / Page 3 EclipseCon Europe 2011, Ludwigsburg But … Programming the editor in Java is much (often simple but repetitive) work. E.g. for one shape for one metaclass: At least five feature classes: AddFeature, CreateFeature, DeleteFeature, LayoutFeature, UpdateFeature Features all need to be configured in the FeatureProvider Need to configure palette in the ToolBehaviourProvider Need to configure used images in ImageProvider Repeat this for e.g. ten metaclasses ……….

©SAP AG All rights reserved. / Page 4 EclipseCon Europe 2011, Ludwigsburg The Spray Graphiti Generator Started a research project Got a government grant Became useful before being finished Project for Visual Insurance Product Modeling language Spray had to be adapted to the PMW project Became partly generic, partly project specific Resulting Editors are used by non IT users in production Works well (at least for PMW )

©SAP AG All rights reserved. / Page 5 EclipseCon Europe 2011, Ludwigsburg The Spray Graphiti Generator Spray has become open source in July At: Version 0.1 was the generalized version used for PMW EPL License Current status Spray is in startup phase Much work done on infrastructure Plans … growing Spray by adding more features as we go ….. … getting more users and more feedback …..

©SAP AG All rights reserved. / Page 6 EclipseCon Europe 2011, Ludwigsburg The Spray DSL class BusinessClass icon “class.gif": container ( fill = dark_green ) [ text ( ) { " > " + name}; line (color = black width = 2); reference properties attribute dataType; line (color = RGB(255,138,141)); text ( ) "::" + description; ] references [ superclass : connection(); ] behavior[ create palette "Shapes" ; doWithBusinessClass "Do It With“ ; ] Define visualization for metaclass BusinessClass Contents of the container References to properties of metaclass References of businessclass shown as connections Behaviour for Product shape Will be in palette to create in named compartment Icon shown in palette List of referred objects Custom behavior

©SAP AG All rights reserved. / Page 7 EclipseCon Europe 2011, Ludwigsburg The Spray DSL class Association icon “association.gif“ : connection (width = 2) [ from source to target fromText text() source.name toText text() targetMultiplicity.name ] Define visualization for metaclass Association Shown as a connection (line) Source and target are references in class Association Text to show at the “’from’ and ‘to’ to” side, also options for middle of connection

©SAP AG All rights reserved. / Page 8 EclipseCon Europe 2011, Ludwigsburg Spray Generator Using textual model to define graphical editor Xtext 2, Xtend 2, Xbase Mixing generated and handwritten code by design Uses Generation Gap pattern Allows full access to Graphiti API Managed by simply moving a generated file from “src-gen” to “src” folder Generation of code from Spray DSL remains possible in full project life-cycle.

©SAP AG All rights reserved. / Page 9 EclipseCon Europe 2011, Ludwigsburg Spray Vision Making developing graphical DSL’s as easy as it is to develop textual DSL’s with e.g. Xtext.

©SAP AG All rights reserved. / Page 10 EclipseCon Europe 2011, Ludwigsburg Demo Karsten will show a short demo by creating a simple Graphiti editor from scratch