You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+20-7
Original file line number
Diff line number
Diff line change
@@ -1,14 +1,16 @@
1
-
# Electrum
1
+
# Electrum Analyzer
2
2
3
-
This extension to the Alloy Analyzer by the [Institute for Systems and Computer Engineering, Technology and Science](https://www.inesctec.pt/en) and the [French Aerospace Lab](https://www.onera.fr/en) provides an analyzer for Electrum models, a temporal extension to the Alloy modeling language.
3
+
This extension to the Alloy Analyzer by [INESC TEC](https://www.inesctec.pt/en) (the Institute for Systems and Computer Engineering, Technology and Science) and [ONERA](https://www.onera.fr/en) (the French aerospace research center) provides an analyzer for Electrum models, a temporal extension to the Alloy modeling language.
4
4
5
5
[Alloy](http://alloy.mit.edu/) is a simple structural modeling language based on first-order logic developed at the [Software Design Group](http://sdg.csail.mit.edu/). Its Analyzer can generate instances of invariants, simulate the execution of operations, and check user-specified properties of a model.
6
6
7
-
Electrum is open-source and available under the [MIT license](LICENSE), as is the Alloy Analyzer. However, it utilizes several third-party packages whose code may be distributed under a different license (see the various LICENSE files in the distribution for details), including [Kodod](https://github.com/emina/kodkod)'s extension [Pardinus](https://github.com/nmacedo/Pardinus) and its underlying solvers ([SAT4J](http://www.sat4j.org), [MiniSat](http://minisat.se), [Glucose/Syrup](http://www.labri.fr/perso/lsimon/glucose/), [(P)Lingeling](http://fmv.jku.at/lingeling/), and [Yices](http://yices.csl.sri.com)), as well as [CUP](http://www2.cs.tum.edu/projects/cup/) and [JFlex](http://jflex.de/) to generate the parser. Electrum can also perform analyses on an unbounded time horizon: in this case, one needs to install the [Electrod program](https://github.com/grayswandyr/electrod/) too.
7
+
Electrum is open-source and available under the [MIT license](LICENSE), as is the Alloy Analyzer. However, it utilizes several third-party packages whose code may be distributed under a different license (see the various LICENSE files in the distribution for details), including [Kodod](https://github.com/emina/kodkod)'s extension [Pardinus](https://github.com/nmacedo/Pardinus) and its underlying solvers ([SAT4J](http://www.sat4j.org), [MiniSat](http://minisat.se), [Glucose/Syrup](http://www.labri.fr/perso/lsimon/glucose/), [(P)Lingeling](http://fmv.jku.at/lingeling/), and [Yices](http://yices.csl.sri.com)), as well as [CUP](http://www2.cs.tum.edu/projects/cup/) and [JFlex](http://jflex.de/) to generate the parser.
8
8
9
-
## Building Electrum
9
+
Electrum can also perform analyses on an unbounded time horizon: in this case, one needs to install the [Electrod](https://github.com/grayswandyr/electrod/) program as well as [NuSMV](http://nusmv.fbk.eu/) or [nuXmv](https://nuxmv.fbk.eu/).
10
10
11
-
Electrum needs Java 8 and can be built using Maven. The script will also build Kodkod/Pardinus, which uses the [Waf](https://github.com/waf-project/waf) build
11
+
## Building Electrum Analyzer
12
+
13
+
The Electrum Analyzer requires Java 8 and can be built using Maven. The script will also build Kodkod/Pardinus, which uses the [Waf](https://github.com/waf-project/waf) build
12
14
system, which requires Python 2.5 or later, and needs a C/C++ compiler for the underlying solvers.
13
15
14
16
* Clone the Electrum repository, as well as Pardinus' as a submodule
@@ -20,9 +22,15 @@ system, which requires Python 2.5 or later, and needs a C/C++ compiler for the u
20
22
21
23
`$ mvn clean package -DskipTests`
22
24
25
+
## Prototype: Electrum with actions
26
+
27
+
An [extension of Electrum](https://github.com/haslab/Electrum/releases/tag/v1.0-actions), with actions, is currently under study.
28
+
29
+
If you wish to build it, repeat the steps above, just replacing `-b master` in the first line by `-b actions`.
30
+
23
31
## Running
24
32
25
-
[Download](https://github.com/nmacedo/Electrum/releases/tag/v1.0) the executable ``jar`` (or [build](#building-electrum) it) and launch it simply as
33
+
[Download](https://github.com/nmacedo/Electrum/releases/tag/v1.0) the executable ``jar`` (or [build](#building-electrum-analyzer) it) and launch it simply as
26
34
27
35
`$ java -jar electrum-1.0.0-gui.jar`
28
36
@@ -36,9 +44,14 @@ This will launch Electrum's/Alloy Analyzer's simple GUI, which is packaged with
36
44
- Denis Kuperberg, TU Munich, Germany
37
45
- Eduardo Pessoa, HASLab, INESC TEC & Universidade do Minho, Portugal
38
46
47
+
## ERTMS Case Study
48
+
ERTMS models developed in response to the ABZ 2018 call for case study submissions:
49
+
* Electrum [model](http://haslab.github.io/Electrum/ertms.ele) and [theme](http://haslab.github.io/Electrum/ertms.thm)
50
+
* Alloy [model](http://haslab.github.io/Electrum/ertms.als) and [theme](http://haslab.github.io/Electrum/ertms_als.thm)
0 commit comments