Spray A Quick way of Creating Graphiti A (very) short Introduction Jos Warmer

Slides:



Advertisements
Similar presentations
Project Analysis Course ( ) Final Project Report Overview.
Advertisements

Java Graphical User Interface (GUI) using Visual Editor in eclipse CSI 1390 – Java Programming Instructor: Saeid Nourian University.
Dreamweaver MX 2004 “Viewing the Workspace” Mrs. Wilson.
IAAnalyzer: Towards a Model-Driven Modeling and Analysis Framework for C ONNECT(ors) Massimo Tivoli, University of L’Aquila (UNIVAQ)
Copyright  Oracle Corporation, All rights reserved. 1 Creating an Application: The AppBuilder for Java IDE.
© 2008 by Borland Software Corp; made available under the EPL v1.0 | 17 March 2008 Introduction to the Graphical Modeling Framework Artem Tikhomirov, Borland.
Elevator Simulator DSL Project Presented by Miguel Garzón and Stéphane Leblanc 1.
MMDE5011 – INTERACTIVE MEDIA PRACTICE 1 WEEK 1: INTRODUCTION TO HTML5
An Introduction to Nonfiction Text Features
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.
Java Integrated Development Environments: ECLIPSE Part1 Installation.
1 Introduction to the Visual Studio.NET IDE Powerpoint slides modified from Deitel & Deitel.
IBM Software Group © 2005 IBM Corporation University of Nantes Eclipse dayMarch 2005 The Eclipse Modeling Framework and the IBM Model Transformation Framework.
Glencoe Digital Communication Tools Create a Web Page with HTML Chapter Contents Lesson 4.1Lesson 4.1 Get Started with HTML (85) Lesson 4.2Lesson 4.2 Format.
ANDROID PROGRAMMING MODULE 1 – GETTING STARTED
WorkPad 4 Quick Start WorkPad 4 Quick Start  Business Optix brings the rigor and discipline of business modelling and design into.
Component-Based Software Engineering Introduction to Java Beans Paul Krause and Sotiris Moschoyiannis.
11 Games and Content Session 4.1. Session Overview  Show how games are made up of program code and content  Find out about the content management system.
WaveMaker Visual AJAX Studio 4.0 Training Studio Overview.
GUI for development of REMES models REMES GUI group.
Copyright © Texas Education Agency, All rights reserved. 1 Web Technologies Website Development with Dreamweaver.
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
Spraying The Natural Way of Creating Graphiti Jos Warmer, Independent Karsten Thoms,
An Introduction to Visual Basic
Website Development with Dreamweaver
Programming in HTML.  Programming Language  Used to design/create web pages  Hyper Text Markup Language  Markup Language  Series of Markup tags 
Tools for Diagrammatic Specifications Stian Skjerveggen Supervisors: Yngve Lamo, Adrian Rutle, Uwe Egbert Wolter.
Introduction to Eclipse Plug-in Development. Who am I? Scott Kellicker Java, C++, JNI, Eclipse.
Workbench Overview Dwight Deugo Nesa Matic
Committed to Shaping the Next Generation of IT Experts. Exploring Microsoft Office Word 2007 Chapter 4: Share, Compare and Document Robert Grauer, Keith.
Integrated Development Environment (IDE)
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.
1 NORMA Lab. 5 Duplicating Object Type and Predicate Shapes Finding Displayed Shapes Using the Diagram Spy Using Multiple Windows Using the Context Window.
Welcome To Eclipse. Basic Concepts Workspace – directory where your projects are stored –Projects grouping of related works –Resources generic term to.
Unit 1: Java and Eclipse The Eclipse Development Environment.
Copyright (c) 2004 Prentice-Hall. All rights reserved. 1 Committed to Shaping the Next Generation of IT Experts. Adding Graphical Elements Essentials for.
Mrs. Knopp Library Media Specialist.  The term wiki comes from the phrase Wiki- Wiki which is the Hawaiian word for quick.  A wiki is a website that.
Chapter 2 – Introduction to the Visual Studio .NET IDE
Selena Extension Christian Brand Eckart Langhuth Matthias Metzler
Copyright © IBM Corp., | March | Creating Robust Scalable DSLs with UML Tutorial (172) James Bruck, Christian Damus IBM Rational Software.
INFORMATION NETWORKING MODEL DSL James McAvoy and Yifeng Li CSI Information Networking Model DSL 1 Winter Term
TOS / TIS Code Architecture Copyright © 2008 Talend. All rights reserved.
Wizards for the OMNeT++ IDE András Varga OMNeT++ Workshop March 19, 2010 Malaga, Spain.
® IBM Software Group © 2007 IBM Corporation Module 1: Getting Started with Rational Software Architect Essentials of Modeling with IBM Rational Software.
Committed to Shaping the Next Generation of IT Experts. Exploring Microsoft Office Word 2007 Chapter 4: Share, Compare and Document Robert Grauer, Keith.
Lecture Set 2 Part A: Creating an Application with Visual Studio – Solutions, Projects, Files 8/10/ :35 PM.
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.
COMPUTER III. Fundamental Concepts of Programming Control Structures Sequence Selection Iteration Flowchart Construction Introduction to Visual Basic.
Easy WP Guide V2.6 for WordPress 3.8. easywpguide.com Adding Tags within your Post Adding Tags whilst editing your Post, will automatically assign those.
Inserting an Image Using the WordPress media manager, it’s extremely simple to insert, align and link your individual images and image galleries. To insert.
Intoduction to Andriod studio Environment With a hello world program.
 2002 Prentice Hall. All rights reserved. 1 Introduction to the Visual Studio.NET IDE Outline Introduction Visual Studio.NET Integrated Development Environment.
CHAPTER 4 Fragments ActionBar Menus. Explore how to build applications that use an ActionBar and Fragments Understand the Fragment lifecycle Learn to.
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.
C Copyright © 2009, Oracle. All rights reserved. Using SQL Developer.
ETrice Release Review | © Protos Software GmbH, Made available under the EPL v 1.0 eTrice Release Review Planned Review Date: Communcation.
Java SWING and Model View Controller (MVC)
eTrice Release Review Planned Review Date:
Chapter 2 – Introduction to the Visual Studio .NET IDE
Embedding the Reporting Engine Version 3.5
Microsoft Word 2003 Illustrated Complete
Hands-on Introduction to Visual Basic .NET
SwE 455 Tutorial.
© 2016 Blackboard Inc. All rights reserved..
NORMA Lab. 5 Duplicating Object Type and Predicate Shapes
Web Page Design CIS 300.
Presentation transcript:

Spray A Quick way of Creating Graphiti A (very) short Introduction Jos Warmer

©SAP AG All rights reserved. / Page 2 Open Modeling Adapted from presentation at Code Generation 2011, Cambridge Graphiti Approach No code generation but: Uses a runtime engine Programmed using a Java API Easy (relatively) to understand code Easy to keep up with evolving metamodel But … Programming the editor in Java is much (simple and repetitive) work

©SAP AG All rights reserved. / Page 3 Open Modeling Adapted from presentation at Code Generation 2011, Cambridge The Spray Graphiti Generator Started out as generic generator Had to be adapted to the PMW project Is currently partly generic, partly project specific Used by non IT users in production Works well (at least for PMW )

©SAP AG All rights reserved. / Page 4 Open Modeling Adapted from presentation at Code Generation 2011, Cambridge The Spray DSL class Product icon "Product16.png": container (figure="PmwProduct“) [ text ( bold ) "Product“ ; text ( italic) name ; text ( normal) "V" version ; ] [ reference attributeSpecs : connection ( ) reference note : connection ( ) ] behavior [ create palette “PartPalette” openVersionedPartEditor "Open Part“ ; selectInExplorer "Select In Explorer“; deletePart "Delete Part" ; refresh "Refresh Diagram“ ; ] Define visualization for metaclass Product Definition of shape Contents of the container References to properties of Product References of product shown as connections Behaviour for Product shape Popup menu Will be in palette to create in named compartment Icon shown in palette

©SAP AG All rights reserved. / Page 5 Open Modeling Adapted from presentation at Code Generation 2011, Cambridge The Spray DSL class ConceptComposition icon "connection16.gif“ : connection (width=2) [ from part to concept toText multiplicity ] Define visualization for metaclass ConceptComposition Shown as a connection (line) Part and concept are references in class ConceptComposition Text to show at the “to” side, also options for “from” and middle of connection

©SAP AG All rights reserved. / Page 6 Open Modeling Adapted from presentation at Code Generation 2011, Cambridge Spray Generator Using textual model to define graphical editor Xtext, Xtend, Xpand Mixing generated and handwritten code by design Uses Generation Gap pattern 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 7 Open Modeling Adapted from presentation at Code Generation 2011, Cambridge Spray Future Spray will become open source later this year Oops, already there at: Version 0.1 will be the version used for PMW Need to generalize PMW specific generator code and then … first contribution expected a.s.a.p. EPL License Might become an Eclipse project (or part of an existing Eclipse project) Plans Growing Spray by adding more features as we go …..