validation of component architectures (veca-ide)
THIS PROJECT IS UNDER HEAVY EVOLUTION. To the time being, the automatic build of the plugin repository site (used in step 2a) is failing.
This is the Eclipse IDE plugin for the DSL of the VECA project (DSL edition and transformation from the DSL to the VECA JSON format).
-
for an overview of the VECA project features and objectives, see VECA project.
-
for the transformation of the VECA JSON format into timed automata in XTA format for formal verification, see veca-haskell.
To use this plugin your installation must fulfil the requirements given in 1. Requirements and then you may choose either to use the available update-site following 2a. Update-site (recommended) or build a local one using 2b. Building from source. Some details on the use of the plugin are given in 3. Using the plugin.
1. Requirements
To use the DSL
Get the Eclipse IDE for Java and DSL Developers Photon or higher (it has been tested with Eclipse Photon) from the Eclipse IDE Downloads page.
To generate the JSON representation from the DSL
Nothing more is required.
To generate a set of temporal automata from the DSL
You must install veca-haskell.
If you follow the intructions given in its README, it will be installed in $HOME/.local/bin
.
If you choose to install it somewhere else, the $VECA_HOME
environment variable should be set to this place.
Further, the temporal automata generation takes for granted that the generated JSON files are in the src-gen
subdirectory of your project.
This is the default so you have nothing more to do.
Please do not change the setting of the generation directory in Eclipse Preferences -> VecaDsl -> Compiler / Directory
.
2a. Update-site
You can get the VECA plugin directly from the update-site:
-
in Eclipse, Help -> Install New Software ... -> Add a new repository from
https://pascalpoizat.github.io/veca-ide/
(you can name itveca dsl (update site)
for example) -
from this repository, select VecaDsl / VecaDsl Feature for installation
If Eclipse warns you that you are installing software that contains unsigned content, click Install anyway
.
2b. Building from source
You can build the plugin on your system and use it as an update site. First clone the project:
git clone https://github.com/pascalpoizat/veca-ide
This creates a directory .../veca-ide
(where ...
stands for the place where you ran the git
command). In the sequel we will use $VECA_IDE_SOURCE
to refer to .../veca-ide
.
To build the plugin:
cd $VECA_IDE_SOURCE
mvn clean install
In Eclipse, Help -> Install New Software ... -> Add this local update site : $VECA_IDE_SOURCE/fr.lip6.veca.ide.parent/fr.lip6.veca.ide.repository/target/repository/
.
3. Using the plugin
The plugin is activated once you edit a .veca
file. The first time you use the plugin on a project, the IDE may ask you whether you want to convert it to an XText project. Answer yes.
The syntax of a model in the VECA DSL format is available in the VECA project documentation.
The plugin provides you with:
-
IDE capabilities such as syntax highlighting and renaming.
-
templates (available upon smart completion using Ctrl+Space)
-
model verifications that can be performed directly on the VECA model (see Syntactic verification, in the VECA projet documentation)
-
transformation from the VECA DSL format (
.veca
files) to the VECA JSON format (.json
files) and to sets of timed automata (.xta
files).Transformations are performed upon saving a syntactically correct model that has been edited. The generated files can be found in the
src-gen
directory. Log files are also there.
For the time being, verification is achieved from outside the plugin using the ITS-Tools or UPPAAL verification tools on the .xta
files.