Xtext meets e4: Developing an editor for the e4 workbench model
Heiko Behrens, Jan Koehnlein (itemis AG ), Moritz Eysholdt (itemis AG )
Making With Eclipse · Extended tutorial (180 mins)
Tags: e4 , Modeling , pc_top_5
Monday, 09:00, 3 hours | Cypress
Xtext is a framework for defining textual languages for a vast range of different scenarios. One of them is e4 where developing applications implies a lot of declarative programming such as defining UI styles or the workbench. The structure of these declarative parts is in most cases defined by an Ecore model that comes with generic default tooling. While this is already superior to traditional "XML programming", Xtext not only can improve the tooling but can offer an even more expressive way to describe the very same information. It allows you to design a language exclusively for this purpose. And you will do so within 180 minutes :)
In this tutorial we will choose the workbench of e4 as an example and demonstrate how Xtext can be used to implement high-quality tooling for its models. We will create a language for the workbench model complemented by an editor with elaborated support for cross references within the model and to external Java elements instead of just plain string matching. That editor will provide syntax highlighting, content assist and validation with immediate feedback while describing true EMF models that can be consumed by e4. We will build a language and tooling that feels more natural to Java developers, thus lowering the barrier for developing e4 applications.
This is the outline of the tutorial:
- Brief introduction of the Xtext framework
- Extract and describe a syntax for a chosen e4 concept
- Build a first version of a parser and editor
- Let e4 work with this input
- Bind the tooling to the JDT
- Implement advanced validation for the language
After this, we will finish the tutorial with an outlook. With high speed we will show advanced features of Xtext that complement the concepts we explained before.
Heiko Behrens works as a software architect and consultant for itemis AG in Kiel (Germany). His current focus is on domain-specific languages where he is involved with the design and implementation of Xtext. He is a commiter for the Eclipse Modeling Project and openArchitectureWare.
Dr. Jan Köhnlein is working as software architect and consultant for itemis AG in Kiel (Germany). He has earned several years of experience in developing tools for model-driven software development. He leads the EMF Index project and commits to several other Eclipse Modeling Projects.
Moritz Eysholdt is a developer and software architect at itemis AG in northern Germany where he develops tools and frameworks related to model-driven software development. Current fields of activity are textual DSLs, patching models and co-adapting models to their evolving meta models. Moritz gives talks on this topics at software conferences and is a committer on the Eclipse projects TMF Xtext, M2T Xpand, EMF Compare and openArchitectureWare.