Single Domain Development guide
This aggregate of components is in charge of offering a dedicated language for a domain expert in order to modelize the system she want to validate against attack trees.
Each domain is developed independently but they all follows the same scheme.
Domains developped using the Single domain approach
1. Building
This aggregate of components is in charge of offering user facilities to model buildings.
1.1. Model
This plugins defines the concepts for defining a building. Its main source is the ecore file.
1.2. Tree editor
These plugins define the editing support and a basic tree editor for building.
The edit support is mainly used to offer an improved outline when editing building models.
The editor is usually not used.
1.3. Xtext editor
These plugins define the text editor for building.
The main file is the xtext file in fr.irisa.atsyra.building.xtext.
Some customization has been applied to offer better user support, however most of the code is generated from the xtext file.
1.4. Sirius editor
This plugin defines the graphical editor for building.
1.5. GAL Compiler
This plugin defines the transformation that implements a building behavior by compiling it into a GAL model.
2. IDE
These components are specific to the building domain. They add to Eclipse IDE (Integrated Development Environment) the dedicated user interface elements.
-
fr.irisa.atsyra.building.ide.ui defines the following:
-
a project nature
-
a project builder; its automatically generates:
-
a *_definition.atg file from a building file (containing the declarations related to this building that can be used in the goals of atg files)
-
a gal file corresponding to the building to be used by reachability check
-
a plantuml file corresponding to a witness file (Ie. draw a sequence diagram)
-
-
a new building project wizard
-
a set of popup actions (handlers )
-
TODO provide a list or find a way to infer it automatically from source ?
-
-
an Eclipse perspective that customize the views and actions to be displayed by default
-
-
fr.irisa.atsyra.building.ide.ui.templates provides template projects for the new building project wizard
-
fr.irisa.atsyra.building.example.deployer provides ready to use examples available through the File → new → Examples… menu.
-
fr.irisa.atsyra.building.doc provides documentation available in Eclipse help system.
2.1. Necessary item usage and location graph
2.2. Topoplan integration
-
Sketchup is an external tool used to draw the building map.
-
fr.irisa.atsyra.topoplan.win32 embeds a customized version of topoplan executable. It is used to extract the building structure from the map.
-
fr.irisa.atsyra.topoplan.infos.tpi is a model used to help to map building structure to an actual building model.
-
fr.irisa.atsyra.topoplan.infos.tpi.ide and fr.irisa.atsyra.topoplan.infos.tpi.ui textual editor eclipse integration for tpi models.
3. Netspec
TODO indicates location of current plugins
4. Tree Specification
4.1. Model
5. Tree analysis
5.1. ResultStore model
5.2. ResultStore tree editor
5.3. Witness XText editor and model
The ecore model for witness is directly inferred from the grammar and located in fr.irisa.atsyra.witness.xtext.