Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

VIATRA/Integration/DeveloperDocumentation/Xcore

Aim of the project

The Xcore project aims to provide a textual syntax for the definition of EMF metamodels. You can use it not only to specify the structure of your model, but also the behavior of your operations and derived features as well as the conversion logic of your data types. It eliminates the dividing line between modeling and programming, combining the advantages of each.

Integration with IncQuery means that we would like to make it possible to use the powerful pattern language of IncQuery in Xcore to define derived features. The integration aims to be as seamless as possible, that is, the original xcore editing functionalities are all available, only a new feature definition will be possible with editor support (validation, proposal provider, etc.)

Overview

Example

Further TODOs

- There are certain changes in the IncQuery codebase which should be investigated and if appropriate, applied to master.

(1) EPackage importing 
(2) MetaModelProviderService should consider the EPackage which is a child of the XcoreResource (in the ResourceSet)
(3) Custom JavaProjectProvider is needed: when the dynamic instance model is loaded the ResourceSet's type will be AdapterFactoryEditingDomainResourceSet, which will not be handled correctly by the default XtextResourceSetBasedProjectProvider class. 

- Xcore & EMF related changes

(1) EcoreEditor: the Xcore ResourceSet should be read only. The read only file extensions are hard coded at the moment into this class.

Back to the top