TextBe Project and Issues JGS. Current Pipeline Implementation T2M Parser Generator Kit (EMFText) EMF model of BT (‘.bt’) M2M Atlas Transformation Language.

Slides:



Advertisements
Similar presentations
® IBM Software Group Copyright © 2005 IBM Corporation AJAX Toolkit Framework Emerging Internet Technologies Group.
Advertisements

© 2008 by Borland Software Corp; made available under the EPL v1.0 | 17 March 2008 Introduction to the Graphical Modeling Framework Artem Tikhomirov, Borland.
Introduction to Eclipse plugin development for CSU 670 course project, Selector language (Xaspect) editor plugin implementation.
Visual Designer for JasperReports
Chapter 10 Database Applications Copyright © 2011 by The McGraw-Hill Companies, Inc. All Rights Reserved. McGraw-Hill.
Introduction To Java Objectives For Today â Introduction To Java â The Java Platform & The (JVM) Java Virtual Machine â Core Java (API) Application Programming.
 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. The Web Services Modeling Toolkit Mick Kerrigan.
 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. The WSML Editor Plugin to the Web Services Modeling Toolkit Mick.
Goals Give you a feeling of what Eclipse is.
Telecom and Informatics :: INF5120 :: Mansur Abbasi & Svein Melby Assignment 1 – First aid - Clarifications, issues and insight.
1 Chapter 12 Working With Access 2000 on the Internet.
Java Integrated Development Environments: ECLIPSE Part1 Installation.
Introduction to SVG & Batik Presented by Shang-Ming Huang.
Create slices and hotspots Create links in Web pages Create rollovers from slices Create basic animation Add tweening symbol instances to create animation.
A Guide to Oracle9i1 Creating an Integrated Database Application Chapter 8.
Whole Platform Tesi di Dottorato di: RICCARDO SOLMI Università degli Studi di Bologna Facoltà di scienze matematiche, fisiche e naturali Corso di Dottorato.
Hello Vaadin! CS 3130 Summer 2015.
FIRST COURSE Creating Web Pages with Microsoft Office 2007.
4.01B Authoring Languages and Web Authoring Software 4.01 Examine webpage development and design.
Eclipse IDE. 2 IDE Overview An IDE is an Interactive Development Environment Different IDEs meet different needs BlueJ and DrJava are designed as teaching.
03 Using Eclipse. 2 IDE Overview An IDE is an Interactive Development Environment Different IDEs meet different needs BlueJ and DrJava are designed as.
LEARN THE QUICK AND EASY WAY! VISUAL QUICKSTART GUIDE HTML and CSS 8th Edition Chapter 2: Working with Webpage Files.
CH07: Writing the Programs Does not teach you how to program, but point out some software engineering practices that you should should keep in mind as.
PLUG INS flash, quicktime, java applets, etc. Browser Plug-ins Netscape wanted a method to extend features of the browser became an unofficial standard.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
CS413: Java Programming language Applications Applets
Java Programming, 3e Concepts and Techniques Chapter 2 - Part 2 Creating a Java Application and Applet.
Eclipse Overview Introduction to Web Programming Kirkwood Continuing Education Fred McClurg © Copyright 2015, Fred McClurg, All Rights Reserved.
GumTree The Scientific Workbench ~Technology Showcase~ Tony Lam Australian Nuclear Science and Technology Organisation.
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
London April 2005 London April 2005 Creating Eyeblaster Ads The Rich Media Platform The Rich Media Platform Eyeblaster.
Deutsches Elektronen-Synchrotron DESY Helmholtz Association of German Research Centres Hamburg, Germany The European X-Ray Laser Project.
CHAPTER FOUR COMPUTER SOFTWARE.
Tools for Diagrammatic Specifications Stian Skjerveggen Supervisors: Yngve Lamo, Adrian Rutle, Uwe Egbert Wolter.
Tutorial 121 Creating a New Web Forms Page You will find that creating Web Forms is similar to creating traditional Windows applications in Visual Basic.
JBoss Developer Studio BIRT Plugin. BIRT - Business Intelligence and Reporting Tools. BIRT plugin for JBoss Developer Studio is an Eclipse-based open.
1 Module Objective & Outline Module Objective: After completing this Module, you will be able to, appreciate java as a programming language, write java.
Chapter 8 Introduction to HTML and Applets Fundamentals of Java.
Ontology Engineering and Plugin Development with the NeOn Toolkit Plug-in Development for the NeOn Toolkit June 1st, 2008 Michael Erdmann, Peter Haase,
POS 406 Java Technology And Beginning Java Code
Introducing the Eclipse Visual Editor David Gallardo.
BT Trace Animation Ferdiansyah Dolot / Depok, April 7 th 2011 FMSE.
Selected Topics in Software Engineering - Distributed Software Development.
1 Creating Windows GUIs with Visual Studio. 2 Creating the Project New Project Visual C++ Projects Windows Forms Application Give the Project a Name and.
ModelPedia Model Driven Engineering Graphical User Interfaces for Web 2.0 Sites Centro de Informática – CIn/UFPe ORCAS Group Eclipse GMF Fábio M. Pereira.
Graphical Modeling Framework (GMF) Richard C. Gronback Project Lead.
TOS / TIS Code Architecture Copyright © 2008 Talend. All rights reserved.
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
Unit 1 – Web Concepts Instructor: Brent Presley.
Developing GUIs With the Eclipse Visual Editor, SWT Edition David Gallardo.
CHAPTER 7 LESSON C Creating Database Reports. Lesson C Objectives  Display image data in a report  Manually create queries and data links  Create summary.
Developing GUIs With the Eclipse Visual Editor, Swing/AWT Edition David Gallardo.
Plug-In Architecture Pattern. Problem The functionality of a system needs to be extended after the software is shipped The set of possible post-shipment.
Introduction to ASP.NET development. Background ASP released in 1996 ASP supported for a minimum 10 years from Windows 8 release ASP.Net 1.0 released.
Creating Web Pages in Word. Sharing Office Files Online Many Web pages are created using the HTML programming language. Web page editors are software.
ECLIPSE RICH CLIENT PLATFORM Part 1 Introduction.
TK-UI – Toolkit for User Interface CSS Engine. Akrogen TK-UI CSS Engine – Goal Try to improve Matt work ge=sub/&id=3631.
Introduction to Algorithm. What is Algorithm? an algorithm is any well-defined computational procedure that takes some value, or set of values, as input.
Goals Give you a feeling of what Eclipse is.
ATS Application Programming: Java Programming
Improving Scilab’s Xcos User Interface
Developing Composition Tree Visualizer for TextBE
Execute your Processes
AJAX Toolkit Framework
Review of Previous Lesson
15/09/2019 BT Trace Animation Ferdiansyah Dolot Ferdiansyah Dolot / )
Plug-In Architecture Pattern
Software Architecture & Design
Presentation transcript:

TextBe Project and Issues JGS

Current Pipeline Implementation T2M Parser Generator Kit (EMFText) EMF model of BT (‘.bt’) M2M Atlas Transformation Language (ATL) EMF model of Graphviz (never stored) M2T Java Emitter Templates 2 (JET2) Graphviz source code (‘.dot’) T2G Graphviz Visualisation Compiler (dot) Standard Vector Graphics format (SVG) G2G SVG Display Component (Apache Batik) Eclipse Standard Windowing Toolkit (SWT) embedded viewer

Challenges T2M Parser Generator Kit (EMFText) EMF model of BT (‘.bt’) M2M Atlas Transformation Language (ATL) EMF model of Graphviz (never stored) M2T Java Emitter Templates 2 (JET2) Graphviz source code (‘.dot’) T2G Graphviz Visualisation Compiler (dot) Standard Vector Graphics format (SVG) G2G SVG Display Component (Apache Batik) Eclipse SWT embedded viewer External Process Bad Threading Weak Metamodel

Other Issues Complex Installation Difficult Manual Build

Problems IssueConsequenceTo Address… Difficult to InstallHard to start usingInstallation Package Difficult to BuildHard to start improvingBuild Process ThreadingUnreliable FunctionReplace Batik External ProcessUnreliable FunctionReplace Graphviz Weak MetamodelHard to integrate/reuseReplace Meta model

Batik / Graphviz Create.dot Eclipse Convert to SVG Pass to viewer Eclipse Generate Image Display Image Eclipse

Revised Design BT Model T2M Model DOT M2T DOT Zest T2G

Current Pipeline Implementation T2M Parser Generator Kit (EMFText) EMF model of BT (‘.bt’) M2M Atlas Transformation Language (ATL) EMF model of Graphviz (never stored) M2T Java Emitter Templates 2 (JET2) Graphviz source code (‘.dot’) T2G Graphviz Visualisation Compiler (dot) Standard Vector Graphics format (SVG) G2G SVG Display Component (Apache Batik) Eclipse Standard Windowing Toolkit (SWT) embedded viewer

Dot4zest … as it should be

HTML labels

State #1 (3) l -> •'*' r (3) l -> '*' •r (4) l -> •'n' (5) r -> •l

Challenges T2M Parser Generator Kit (EMFText) EMF model of BT (‘.bt’) M2M Atlas Transformation Language (ATL) EMF model of Graphviz (never stored) M2T Java Emitter Templates 2 (JET2) Graphviz source code (‘.dot’) T2G Graphviz Visualisation Compiler (dot) Standard Vector Graphics format (SVG) G2G SVG Display Component (Apache Batik) Eclipse SWT embedded viewer External Process Bad Threading

Batik Squiggle Embedded Description ‘Eclipse SVG Plugin’: “The project goal is to develop an Eclipse plugin for the Apache SVG framework 'Batik'. The plugin adds editors, views and wizards to deal with scaleable vector graphics.” SVG Browser does not work ID: If I right-click on an SVG file within Eclipse, and choose "Open With > SVG Browser", nothing visible happens in Eclipse. Running Eclipse from the command line, I see the following trace: java.lang.Error at org.apache.batik.util.ApplicationSecurityEnfo rcer.setDevBase(Unknown Source)

The Revised Design Strikes Back BT Model T2M Model Zest M2T

Solution Components IFigureProvider – Interface defined by Zest (actually GEF) – Generates structured nodes Visitor – Generated by Ecore by default – Follows the containment structure, unless advised to to do things differently

Custom Figure for BT

Revised Model

BT Semantic Mysteries ItemIssue RelationsWhat are they? What is their structure? What are their arguments? The source code has some sort of path notation, but the documentation does not define it. Component Sets What are they? What legal behaviors can they exhibit? (Type?) NOPsIs there such a thing as a ‘non-behaviour’? (The example source code has it!) Variable Binding Is there such a thing as a “Behavior Match” (The example source code has it!)

Linked Projects Semantic Checker – Written in C++ (Version??? Interface???) – Semantic Check through Graph Grammar Reduction – Recommendation: Re-implement using VIATRA Animator – Script-based decoration of dot file with colors – Limitations: No semantic checks, disconnected from model – Recommendation: Implement a BT VM using an execution instance model. – Then add painter to new GEF visualizer Visual Debugger – Hooks are added to SVG via Java-Script injection – Limitations: Brittle, potentially not portable, security issues – Recommendation: Implement as hooks into GEF visualizer or using Eclipse debugger infrastructure.