eclipsecon 2010 bernhard merkle textualmodelingtools penalty
DESCRIPTION
EclipseCon2010 Textual Modeling ToolsTRANSCRIPT
![Page 1: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/1.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 1
Bernhard Merkle
Research & Development
Software-Engineering
SICK-AG Waldkirch/DE
mailto: [email protected]
contact on linkedin.com or xing.com
Textual Modeling Tools
overview &
penalty shoot-out
![Page 2: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/2.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 3
SICK
![Page 3: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/3.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 4
Traffic and Luggage Control
![Page 4: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/4.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 5
![Page 5: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/5.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 6
![Page 6: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/6.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 7
![Page 7: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/7.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 8
Traffic and Luggage Control
![Page 8: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/8.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 9
Traffic and Luggage Control
![Page 9: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/9.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 10
DARPA: Urban/Grand Challenge
![Page 10: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/10.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 11
Google Street View
![Page 11: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/11.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 12
Catchy title ☺☺☺☺
![Page 12: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/12.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 13
Outline of talk:
– DSL overview and classification
• textual, graphical, tabular, external, internal
• a real world DSL
• classification/feature model
– Language Workbenches
• Xtext, TEF, TCS, EMFText
• Others: Monticore, Codeworker, IMP
• MPS
• Others: DSL2JDT, ETMOP, CAL
![Page 13: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/13.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 14
![Page 14: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/14.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 15
Textual DSL
SELECT firstname, lastName from employeewhere age = 42;
([+-]?[0-9]*) | ([A-Z][a-z]+)
public Collection<Student> findByNameAge (String name, int age, {
return em.createNamedQuery("Student.findByNameAge") .setParameter("name", name) .setParameter("age", age).setFirstResult(1) .setMaxResults(30) .setHint("hintName", "hintValue") .getResultList();
}
![Page 15: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/15.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 16
![Page 16: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/16.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 17
![Page 17: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/17.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 18
![Page 18: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/18.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 19
![Page 19: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/19.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 21
DSL: Chess
![Page 20: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/20.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 22
DSL: Chess P e2 – e4
p g7 – g5
Knight at b2 moves to c3
pawn at f7 moves to f5
Q d1 – h5
# 1-0
Concrete Syntax
Constraints !!!
Abstract Syntax
![Page 21: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/21.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 25
DSL Language
classification
![Page 22: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/22.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 26
Feature model for DSL
DSL
Language Transformation Tool Process
Mandatory Feature
Optional Feature
Alternative Features
Inclusive-or Features
Notation (FODA)
[1] Langlois 2007
![Page 23: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/23.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 27
Language Features
Abstract Syntax
ASG AST Dependency
Metamodel Composition
Language
Concrete Syntax
Text Graphic
AS2CS Style
Wizard Table SpecificRepresentation
Imperative DeclarativeRepresentation
DSL
Language Transformation Tool Process
[1] Langlois 2007
![Page 24: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/24.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 28
Criteria…
Language (abstract and concrete syntax)
– LA-AS1. abstract syntax tree or abstract syntax graph
– LA-AS2. grammar or meta-model
– LA-AS3. can be composed
– LA-CS1. technique to map abstract syntax to concrete syntax
– LA-CS2. representation (text, graphic, ...) for concrete syntax
– LA-CS3. declarative or imperative style
[2] Pichler
![Page 25: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/25.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 29
Transformation: Target AssetDSL
Language Transformation Tool Process
Specification Target Asset OperationalTransformation
Target Asset
Representation
Model Text Graphic Binary SpecificRepresentation
Asset Update AssetIntegration
Destructive Incremental
Asset Lifecycle
Software Artifact, result of the transformation
Assembling and Packaging
Target Assets
Destroyed & created at each
generation
Synchronization source/target
[1] Langlois 2007
![Page 26: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/26.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 30
Transformation: Operational Trafo
Specification
DSL
Language Transformation Tool Process
Target Asset OperationalTransformation
External
OperationalTransformation
Environment
Internal
TransformationExecution
Mode
Compilation Interpretation
Form
Implicit Explicit
TransformationScheduling
Phasing
Location
Internal External
Automation Level
Manual Automated
Ordering Transformation
TransformationTechnique
M2M M2T T2T T2M
Model/TextTechnique
Techniques realizing the
AS2TA transformation
Variability
Stage Technique
Specification,Generation /
interpretation, Compilation, Integration,
Deployment, Execution
[1] Langlois 2007
![Page 27: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/27.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 31
Criteria…
Transformation (target asset/operational translation)
– TR-TA1. target asset (model, text, graphic, binary)
– TR-TA2. destructive or incremental update
– TR-TA3. kind of support for integration of target assets
– TR-OT1. transformation techniques (M→M, M→T, T→T, T→M)
– TR-OT2. transformation by compilation or interpretation
– TR-OT3. internal or external environment for transformation
– TR-OT4. implicit or explicit scheduling
– TR-OT5. internal or external location
– TR-OT6. automation level (manual or automated)
[2] Pichler
![Page 28: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/28.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 32
Tool FeaturesDSL
Language Transformation Tool Process
DSL Tool
Respect of Abstraction
Intrusivetransformation
Seamlesstransformation
Quality Factor
Functionality
Usability
Reliability
Efficiency
Maintainability
Portability
Assistance
Process Guidance
Step Workflow
Adaptive Checking
Completeness Consistency
Static
User has to be aware of internal transformation mechanisms & details
or/and solution
Transformation and solutions mechanisms &
details are completely encapsulated
Guiding the DSL Tool user during definition and
transformation of domain data
Non-Functional aspects of the DSL Tool
[1] Langlois 2007
![Page 29: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/29.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 33
Criteria…
Tool (respect of abstraction, assistance)
– TO-RA1. respect of abstraction (intrusive or seamless)
– TO-AS1. kind of assistance (static or adaptive)
– TO-AS2. process guidance (step or workflow)
– TO-AS3. checking (completeness or consistency)
Omitted
– Quality factors
– Process features
[2] Pichler
![Page 30: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/30.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 34
Language
Workbench
![Page 31: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/31.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 35
DSL Tools with textual modeling
Xtext
TEF (Textual Editing Framework)
TCS (Textual Concrete Syntax)
EMFText
JetBrains MPS
MontiCore, CodeWorker, IMP
DSL2JDT, ETMOP, CAL
![Page 32: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/32.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 36
DSL Tools with textual modeling
TMF Xtext (predessor oAW Xtext)
– http://xtext.org
– http://wiki.eclipse.org/TMF
TEF Textual Editing Framework
– http://www2.informatik.hu-berlin.de/sam/meta-tools/tef
– http://developer.berlios.de/projects/tef/
TCS Textual Concrete Syntax
– http://wiki.eclipse.org/index.php/TCS
– http://www.sciences.univ-nantes.fr/lina/atl/www/
EMFText
– http://emftext.org
– http://st.inf.tu-dresden.de/reuseware/index.php/EMFText
![Page 33: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/33.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 37
DSL Tools with textual modeling
JetBrains MPS
– http://www.jetbrains.com/mps
– Konstantin Solomatov
MontiCore
– http://www.monticore.de
– RWTH Aachen, Academic
CodeWorker
– http://www.codeworker.org/
– Cédric Lemaire
IMP
– http://eclipse-imp.sourceforge.net/
– Robert M. Fuhrer
![Page 34: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/34.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 38
White: “Mayfield”
Black: “Trinks”
P e2 – e4
p g7 – g5
Knight at b2 moves to c3
pawn at f7 moves to f5
Q d1 – h5
# 1-0
Chess for…
![Page 35: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/35.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 39
Xtext
![Page 36: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/36.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 40
Catchy title ☺☺☺☺
![Page 37: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/37.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 42
Xtext: Chess Language
![Page 38: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/38.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 43
Xtext + Demo
– TMF/Xtext precusor (oAW/Xtext)
– Itemis, 6 fulltime committers
– AS+CS in xtext file � ecore
– Import existing MM, (multiple)
– Used for buckminster, b3, …
– Editor for each language is MM aware
– Languages for
• Validation (java, chk)
• Template (xPand) (JET, Accello)
• Workflow (mwe)
– Generated Editor fully customizable
Grammar+Model
Xtext Grammarchess.xtext
MWE WorkflowGenerateChess.mwe
ASGchess.ecore
ANTRL gen Scanner+Parser
CSchess.xmi
Run workflow
Editor
Workflow generated:
Outline, contentassistLabeling, Extensions,
etc
Developer modifiable:
Outline, contentassistLabeling, Extensions,
etc
Generator
Workflow ChessGenerator.mwe
xPand TemplatesTemplate.xpt
Extensions.ext
Formatting, Scoping, validation
![Page 39: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/39.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 44
Xtext: Chess Editor + Demo
![Page 40: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/40.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 45
Xtext
– Several eclipse projects based on Xtext
• B3, buckminster, …
– Tons of useful features
• Language: Validation + Scoping
• Editor: Formatting, Syntax highlighting, Code completion,
Navigation, Reference, Decorators, Folding, Bracket maching,
Auto editing, Styled Label Providers, Find References, Open Xtext
Element, Error Tick, Quickfix support, Case-insensitive keywords
Duplicate name validation, Content Assist in Grammar (great !),
Splitting ANTLR generated parser, API adoptions to EMF style,
referencing java elements, etc…
![Page 41: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/41.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 46
Xtext
Technical properties
– Currently one of the leading Eclipse TMF
Documentation
– Newsgroup, mailing list
– Screencasts, Tutorials,
– Book forthcoming ?
Status
– Actively developed by itemis
– Commercial training and support available
– NO language Zoo (yet ;-)
![Page 42: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/42.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 47
TEF
![Page 43: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/43.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 49
![Page 44: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/44.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 52
TEF: Chess Language
![Page 45: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/45.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 53
TEF + Demo
– Humboldt University Berlin
– PhD. of Markus Scheidgen
– Low activity ATM
– AS in ecore, CS in etslt
– Import existing MM
– EMF Impl+Edit+Editor
– 3 extension points
– EMF VF
Grammar+Model
TEF Grammarchess.etslt
ASGChess.ecore
EMFChess ImplChess Edit
Chess Editor
RunCCScanner+Parser
(interpret RUNTIME)
EMF/genmodel
Editor
Extension Points:
Text Editor
Model EditorPopup Editor (embedded)
Generator
![Page 46: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/46.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 54
TEF: Chess Editor + (Text + Model)
![Page 47: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/47.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 55
TEF
Highlight (personal)
– The first with converging editors (graphical+textual)
– RunCC, parser generator at runtime
– 3 editors: textual, modelbased+embedded
Specification features
– syntax defintion language TSL
Editor:
– Syntax highlighting
– Context sensitive code assists
– Occurrences and navigation
– Context information
– Error annotation
![Page 48: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/48.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 56
TCS
![Page 49: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/49.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 57
![Page 50: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/50.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 60
TCS: Chess Language (AS)
![Page 51: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/51.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 61
TCS: Chess Language (CS)
![Page 52: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/52.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 62
TCS
– Univ. Nantes
– ATLAS project
– AS in km3, CS in tcs
– Import existing MM
– No EMF Impl+Edit+Editor
– Interpret as much aspossible, avoid CG
– Used in ATL2
Grammar+Model
TCS Grammarchess.tcs
ASGChess.km3
ASGChess.ecore
ANTLR Scanner+Parser
chess.g
“on save…”
Editor
Generic Editor TGE
Generator
![Page 53: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/53.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 63
TCS: Chess Editor + Demo
![Page 54: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/54.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 64
TCS
Highlight (personal)
– Avoid code generation if possible
– Very flexible, short turnaround as avoids codegen
– Abstract Syntax also textual (KM3)
Specification features
– KM3, TCS
– ATL is based on TCS
![Page 55: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/55.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 65
TCS
Documentation
– TCS User Manual
– Lots of papers (but no getting started)
Status
– Large Language Zoo (About 30)
– http://wiki.eclipse.org/TCS/Zoo
– Tool is selfhosting
![Page 56: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/56.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 66
EMFtext
![Page 57: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/57.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 67
![Page 58: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/58.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 69
EMFText: Chess Language (AS)
![Page 59: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/59.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 70
EMFText: Chess Language (CS)
![Page 60: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/60.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 71
EMFText
– Univ. Dresden
– reuse.org project
– AS in ecore3, CS in cs
– Import multiple existing AS
– Import multiple existing CS
– EMF Impl+Edit+Editor
– Valiation
Grammar+Model
EMFText Grammarchess.cs
ASGChess.ecore
ANTLR Scanner+Parser
chess.g
ANT, partially automated in cs
Editor
Generated Editor:Resolver,Analysis,MOPP,UI, Util
Generator
Developer can overwrite
![Page 61: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/61.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 72
EMFText: Chess Editor + Demo
![Page 62: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/62.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 73
EMFText
Highlight (personal)
– Generated code does not contain dependencies to EMFText
Specification features
– Automatic generation of default syntaxes
– Modular specification
(Support for abstract syntaxes and syntax imports)
– Default reference resolving mechanisms
– Comprehensive syntax analysis
![Page 63: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/63.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 74
EMFTextEditors:
– Outline View
– Customizable Syntax Highlighting
– Occurence Highlighting
– Code Completion
– Advanced bracket handling
– Hyperlinks
– Texthovers
– Instant error reporting
Documentation
– Mailing list
– Documentation, tutorials
Status
– Actively developed by Univ. Dresden
– Large language Zoo (about 50 syntax)
![Page 64: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/64.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 75
MPS
![Page 65: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/65.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 77
MPS
– “Language Oriented Programming”
– AS: specified by concepts
– CS: specified by editor
– No parsing problem: cell based editing
– Base Languages for Java, C#
– mpscmindstorms for NXT
– YouTrack (+other IntelliJ products)
Grammar+Model
CS“Editor”
AST“Structure”
Editor
Generated Editor:used in “solution”
Generator
Constraint,Typesystem
Etc.
Generated Generator:used in “solution”
CTRL-F9
![Page 66: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/66.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 78
MPS: Chess Editor + Demo
![Page 67: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/67.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 79
MPS
Tool:
– Cell based editor on AST, no parser errors ☺
– Higher learning curve, but once used to amazingly fast
Documentation
– Newsgroup
– Documentation, tutorials
Status
– Actively developed Jetbrains
– Future Jetbrains products based on, new Bugtracker
(YouTrack) based on
![Page 68: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/68.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 80
Others…
![Page 69: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/69.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 81
![Page 70: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/70.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 82
Additional: DSL2JDT
![Page 71: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/71.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 83
Additional: DSL2JDT
![Page 72: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/72.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 84
Additional: ETMOP
![Page 73: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/73.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 85
Additional: CAL
![Page 74: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/74.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 86
Compare…
![Page 75: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/75.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 87
Catchy title ☺☺☺☺
![Page 76: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/76.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 88
Language: AS/CS
![Page 77: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/77.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 89
Transformation: TA / OT
![Page 78: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/78.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 90
Additional Aspects…
![Page 79: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/79.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 91
(Generated) Language Editor
Note: additional features on roadmap ;-)
![Page 80: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/80.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 92
Open
Fast turnaround
Editor++
Combine views
(text/graph)
Workflow
Validation ! (EVF, OCL)
Proprietary but powerful
Debugging Interpreter is…
Large models
Distributed models
UUID vs. Names
Evolution
![Page 81: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/81.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 93
Catchy title ☺☺☺☺
![Page 82: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/82.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 98
Pictures under CC license from flickr:
1191285966_d701fcb1c3_b_flickr_bluemeat.jpg
3425532267_bd74526b23_b_flickr_tiwo.jpg
1813471845_5a4be999dc_o_flickr_thatcanadiangrrl.jpg
2401122677_c25dea1233_b_flickr_EnglishGirlAbroad.jpg
501709581_f3729ceaeb_b_flickr.jpg
and pictures from istockphoto.com
![Page 83: EclipseCon 2010 Bernhard Merkle Textualmodelingtools penalty](https://reader034.vdocument.in/reader034/viewer/2022052618/554fa3b3b4c90586258b4b28/html5/thumbnails/83.jpg)
Bernhard Merkle Eclipse Textual Modeling Tools: Page: 99
Textual Modeling Tools
overview &
penalty shoot-out
Bernhard Merkle
Research & Development
Software-Engineering
SICK-AG Waldkirch/DE
mailto: [email protected]
contact on linkedin.com or xing.com