Xtext Editor for EAST-ADL with Artifacts Relevant for the MODELSWARD'23 Position Paper "Exploiting Meta-Model Structures in the Generation of Xtext Editors"
This repository contains an Xtext-based editor for a textual concrete syntax of the EAST-ADL meta-model, called EATXT. The editor is used to explore what a textual syntax for EAST-ADL can look like and contains artifacts and examples as demonstrations means for the MODELSWARD'23 Position Paper "Exploiting Meta-Model Structures in the Generation of Xtext Editors".
- Download the Eclipse Modeling Tools, ideally using the Eclipse Installer.
- In the Eclipse installation, install the additional component "Xtext Complete SDK", either using "Update Software" or the Eclipse Marketplace.
- Clone this repository.
- Import
releng/org.bumble.eatxt.target
and load its target definitionorg.bumble.eatxt.target.target
. - Import all plugins in the folder
plugins
- If build paths of some of these plugins are not correct as folders like
src-gen
orxtend-gen
are missing, just create corresponding empty folders in these plugins via right-click -> New -> Folder. Their contents are generated later. - The project might still contain build errors at this point since some of the artifacts are created in the next steps. Please ignore these errors for now.
- If build paths of some of these plugins are not correct as folders like
- In the project
org.bumble.eatxt
, open the equally named source folder, right-click onEatxt.xtext
, and select "Run as" -> "Generate Xtext Artifacts" - After the Xtext infrastructure is generated, start the Eclipse runtime instance by right-clicking on
org.eclipse.eatxt.ide
and selection "Run as" -> "Eclipse Application"
- Import the project
examples/org.bumble.eatxt.examples
. - Experiment with the file
MODELSWARD23.eatxt
.
Artifacts Relevant for the MODELSWARD'23 Position Paper "Exploiting Meta-Model Structures in the Generation of Xtext Editors"
As explained in the paper, there are the following relevant artifacts in the project org.bumble.eatxt
:
src/org.bumble.eatxt.templates/EatextTemplateFragment.xtend
: Described in Section 4.1src/org.bumble.eatxt.contentassist/EatextContentAssistFragment.xtend
: Described in Section 4.2src/org.bumble.eatxt.formatting2/EatxtFormatter2Fragment.xtend
: Described in Section 4.3src/org.bumble.eatxt/Activator.java
: Described in Section 4.4