EMF Views is an Eclipse plugin that brings the concept of database views to the modeling world. You can create views that focus on only part of a model, or views that combine several models from different metamodels. Views can be navigated and queried as regular models are, and they can used as inputs to model transformations.
The simplest option is to add our update site to Eclipse, and to install the EMF Views feature from there. You need to install Epsilon first if you want to use the ECL builder. To get started after the installation, see our user manual.
$ git clone https://github.com/atlanmod/emfviews.git $ cd emfviews $ mvn install
You can then install the plugins by pointing to the generated update site in your local m2 repository.
If you want to contribute to EMF Views, you can either use the Maven setup as above, or you can import the projects in Eclipse.
With the Maven setup, you should be able to build and run the tests locally. This is the same setup that is used by our Travis integration.
For playing with the plugins inside an actual Eclipse, you should first import the projects of this repository inside Eclipse. You'll need the following dependencies installed for all the plugins to build:
Then you can test them by launching a guest Eclipse with all the plugins from
the workspace (right-click on the EMF Views plugin in the package explorer
Building the manual
The EMF Views manual is available online, and in the Eclipse Help if you have the EMF Views plugin installed.
$ cask install $ make
The first line installs the dependencies, and the second builds both the HTML
standalone and the Eclipse help plugin versions. The
doc/html contains the
standalone HTML manual, which you can browse locally.
Building the update site
You can build the Eclipse update site locally using Maven. For that, you need
to Build the manual first. Then, use the
$ mvn -P update-site package
What can you find in this repository?
org.atlanmod.emfviews: This is the main component of the tool. It includes the core logic behind viewpoints and views.
org.atlanmod.emfviews.virtuallinks: An Ecore-based model of links used to construct viewpoints and views.
org.atlanmod.emfviews.virtuallinks.delegator: This package delegates the creation of virtual links to concrete implementations.
org.atlanmod.emfviews.virtuallinksepsilondelegate: This project generate virtual links from the Epsilon Comparison Language (ECL).
We have also defined two DSLs, VPDL and MEL, which have accompanying Eclipse plugins for edition:
org.atlanmod.emfviews.vpdl: ViewPoint Description Language; useful for creating a viewpoint by filtering multiple metamodels, with a syntax inspired by the
SELECTquery in SQL.
org.atlanmod.emfviews.mel: Metamodel Extension Language; can extend metamodel with new classes, attributes, relations.
examples folder contains ideas of how to use EMF Views and the DSLs. The
examples ending with
-tutorial are documented in the manual.
emfviews-tutorial: Create your first Viewpoint and View.
vpdl-tutorial: Define a viewpoint with VPDL.
view-to-html-tutorial: Use a view as input to an EGL template.
traceability-demo: A view encompassing four models from the design time to the runtime of a Java project. Navigating between the four models is made easier with an interactive HTML report generated from the view.
Who is behind this project?
The following people have made significant contributions to the project:
- fmdkdd (primary contact)
- Hugo Bruneliere
- Jokin Garcia Perez (former contributor)
- Juan David Villa Calle (former contributor)
This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which is available at https://www.eclipse.org/legal/epl-2.0/
This Source Code may also be made available under the following Secondary Licenses when the conditions for such availability set forth in the Eclipse Public License, v. 2.0 are satisfied: GNU General Public License, version 3 which is available at https://www.gnu.org/licenses/gpl-3.0.txt