textbe project and issues jgs. current pipeline implementation t2m parser generator kit (emftext)...
TRANSCRIPT
![Page 1: TextBe Project and Issues JGS. Current Pipeline Implementation T2M Parser Generator Kit (EMFText) EMF model of BT (‘.bt’) M2M Atlas Transformation Language](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649db45503460f94aa59d7/html5/thumbnails/1.jpg)
TextBe Project and Issues
JGS
![Page 2: TextBe Project and Issues JGS. Current Pipeline Implementation T2M Parser Generator Kit (EMFText) EMF model of BT (‘.bt’) M2M Atlas Transformation Language](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649db45503460f94aa59d7/html5/thumbnails/2.jpg)
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
![Page 3: TextBe Project and Issues JGS. Current Pipeline Implementation T2M Parser Generator Kit (EMFText) EMF model of BT (‘.bt’) M2M Atlas Transformation Language](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649db45503460f94aa59d7/html5/thumbnails/3.jpg)
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
![Page 4: TextBe Project and Issues JGS. Current Pipeline Implementation T2M Parser Generator Kit (EMFText) EMF model of BT (‘.bt’) M2M Atlas Transformation Language](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649db45503460f94aa59d7/html5/thumbnails/4.jpg)
Other Issues
• Complex Installation• Difficult Manual Build
![Page 5: TextBe Project and Issues JGS. Current Pipeline Implementation T2M Parser Generator Kit (EMFText) EMF model of BT (‘.bt’) M2M Atlas Transformation Language](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649db45503460f94aa59d7/html5/thumbnails/5.jpg)
ProblemsIssue Consequence To Address…
Difficult to Install Hard to start using Installation Package
Difficult to Build Hard to start improving Build Process
Threading Unreliable Function Replace Batik
External Process Unreliable Function Replace Graphviz
Weak Metamodel Hard to integrate/reuse Replace Meta model
![Page 6: TextBe Project and Issues JGS. Current Pipeline Implementation T2M Parser Generator Kit (EMFText) EMF model of BT (‘.bt’) M2M Atlas Transformation Language](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649db45503460f94aa59d7/html5/thumbnails/6.jpg)
Batik / Graphviz
• Create .dot
Eclipse
• Convert to SVG
Graphviz • Pass to viewer
Eclipse
• Generate Image
Batik • Display Image
Eclipse
![Page 7: TextBe Project and Issues JGS. Current Pipeline Implementation T2M Parser Generator Kit (EMFText) EMF model of BT (‘.bt’) M2M Atlas Transformation Language](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649db45503460f94aa59d7/html5/thumbnails/7.jpg)
Revised Design
• BT• ModelT2M
• Model• DOTM2T
• DOT• ZestT2G
![Page 8: TextBe Project and Issues JGS. Current Pipeline Implementation T2M Parser Generator Kit (EMFText) EMF model of BT (‘.bt’) M2M Atlas Transformation Language](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649db45503460f94aa59d7/html5/thumbnails/8.jpg)
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
![Page 9: TextBe Project and Issues JGS. Current Pipeline Implementation T2M Parser Generator Kit (EMFText) EMF model of BT (‘.bt’) M2M Atlas Transformation Language](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649db45503460f94aa59d7/html5/thumbnails/9.jpg)
Dot4zest … as it should be
![Page 10: TextBe Project and Issues JGS. Current Pipeline Implementation T2M Parser Generator Kit (EMFText) EMF model of BT (‘.bt’) M2M Atlas Transformation Language](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649db45503460f94aa59d7/html5/thumbnails/10.jpg)
HTML labels
![Page 11: TextBe Project and Issues JGS. Current Pipeline Implementation T2M Parser Generator Kit (EMFText) EMF model of BT (‘.bt’) M2M Atlas Transformation Language](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649db45503460f94aa59d7/html5/thumbnails/11.jpg)
HTML labels<?xml version="1.0" encoding="UTF-8"?><table border="0" cellborder="0" cellpadding="3" bgcolor="white">
<tr><td bgcolor="black" align="center" colspan="2">
<font color="white">State #1</font></td>
</tr><tr>
<td align="left" port="r3">(3) l -> •'*'r
</td></tr><tr>
<td align="left" port="r3">(3) l -> '*' •r
</td></tr><tr>
<td align="left" port="r4">(4) l -> •'n'
</td></tr><tr>
<td align="left" port="r5">(5) r -> •l
</td></tr>
</table>
![Page 12: TextBe Project and Issues JGS. Current Pipeline Implementation T2M Parser Generator Kit (EMFText) EMF model of BT (‘.bt’) M2M Atlas Transformation Language](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649db45503460f94aa59d7/html5/thumbnails/12.jpg)
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
![Page 13: TextBe Project and Issues JGS. Current Pipeline Implementation T2M Parser Generator Kit (EMFText) EMF model of BT (‘.bt’) M2M Atlas Transformation Language](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649db45503460f94aa59d7/html5/thumbnails/13.jpg)
Batik Squiggle EmbeddedDescription ‘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: 1187629 If I right-click on an SVG file within Eclipse, and choose "Open With > SVGBrowser", nothing visible happens in Eclipse. Running Eclipse from the command line, I see the following trace:
java.lang.Error atorg.apache.batik.util.ApplicationSecurityEnforcer.setDevBase(Unknown Source)
![Page 14: TextBe Project and Issues JGS. Current Pipeline Implementation T2M Parser Generator Kit (EMFText) EMF model of BT (‘.bt’) M2M Atlas Transformation Language](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649db45503460f94aa59d7/html5/thumbnails/14.jpg)
The Revised Design Strikes Back
• BT• ModelT2M
• Model• ZestM2T
![Page 15: TextBe Project and Issues JGS. Current Pipeline Implementation T2M Parser Generator Kit (EMFText) EMF model of BT (‘.bt’) M2M Atlas Transformation Language](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649db45503460f94aa59d7/html5/thumbnails/15.jpg)
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
![Page 16: TextBe Project and Issues JGS. Current Pipeline Implementation T2M Parser Generator Kit (EMFText) EMF model of BT (‘.bt’) M2M Atlas Transformation Language](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649db45503460f94aa59d7/html5/thumbnails/16.jpg)
Custom Figure for BT
![Page 17: TextBe Project and Issues JGS. Current Pipeline Implementation T2M Parser Generator Kit (EMFText) EMF model of BT (‘.bt’) M2M Atlas Transformation Language](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649db45503460f94aa59d7/html5/thumbnails/17.jpg)
![Page 18: TextBe Project and Issues JGS. Current Pipeline Implementation T2M Parser Generator Kit (EMFText) EMF model of BT (‘.bt’) M2M Atlas Transformation Language](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649db45503460f94aa59d7/html5/thumbnails/18.jpg)
![Page 19: TextBe Project and Issues JGS. Current Pipeline Implementation T2M Parser Generator Kit (EMFText) EMF model of BT (‘.bt’) M2M Atlas Transformation Language](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649db45503460f94aa59d7/html5/thumbnails/19.jpg)
![Page 20: TextBe Project and Issues JGS. Current Pipeline Implementation T2M Parser Generator Kit (EMFText) EMF model of BT (‘.bt’) M2M Atlas Transformation Language](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649db45503460f94aa59d7/html5/thumbnails/20.jpg)
![Page 21: TextBe Project and Issues JGS. Current Pipeline Implementation T2M Parser Generator Kit (EMFText) EMF model of BT (‘.bt’) M2M Atlas Transformation Language](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649db45503460f94aa59d7/html5/thumbnails/21.jpg)
![Page 22: TextBe Project and Issues JGS. Current Pipeline Implementation T2M Parser Generator Kit (EMFText) EMF model of BT (‘.bt’) M2M Atlas Transformation Language](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649db45503460f94aa59d7/html5/thumbnails/22.jpg)
Revised Model
![Page 23: TextBe Project and Issues JGS. Current Pipeline Implementation T2M Parser Generator Kit (EMFText) EMF model of BT (‘.bt’) M2M Atlas Transformation Language](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649db45503460f94aa59d7/html5/thumbnails/23.jpg)
So,this is better?
![Page 24: TextBe Project and Issues JGS. Current Pipeline Implementation T2M Parser Generator Kit (EMFText) EMF model of BT (‘.bt’) M2M Atlas Transformation Language](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649db45503460f94aa59d7/html5/thumbnails/24.jpg)
![Page 25: TextBe Project and Issues JGS. Current Pipeline Implementation T2M Parser Generator Kit (EMFText) EMF model of BT (‘.bt’) M2M Atlas Transformation Language](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649db45503460f94aa59d7/html5/thumbnails/25.jpg)
![Page 26: TextBe Project and Issues JGS. Current Pipeline Implementation T2M Parser Generator Kit (EMFText) EMF model of BT (‘.bt’) M2M Atlas Transformation Language](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649db45503460f94aa59d7/html5/thumbnails/26.jpg)
![Page 27: TextBe Project and Issues JGS. Current Pipeline Implementation T2M Parser Generator Kit (EMFText) EMF model of BT (‘.bt’) M2M Atlas Transformation Language](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649db45503460f94aa59d7/html5/thumbnails/27.jpg)
![Page 28: TextBe Project and Issues JGS. Current Pipeline Implementation T2M Parser Generator Kit (EMFText) EMF model of BT (‘.bt’) M2M Atlas Transformation Language](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649db45503460f94aa59d7/html5/thumbnails/28.jpg)
BT Semantic MysteriesItem Issue
Relations What 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?)
NOPs Is 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!)
![Page 29: TextBe Project and Issues JGS. Current Pipeline Implementation T2M Parser Generator Kit (EMFText) EMF model of BT (‘.bt’) M2M Atlas Transformation Language](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649db45503460f94aa59d7/html5/thumbnails/29.jpg)
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.