Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
verimag
synchrone
lutin
Commits
fcca9b09
Commit
fcca9b09
authored
Dec 13, 2010
by
Pascal Raymond
Browse files
Abstract module Value.OfIdent for manipulating var/value association
parent
3a2d6f89
Changes
63
Hide whitespace changes
Inline
Side-by-side
examples/Makefile
View file @
fcca9b09
...
...
@@ -43,4 +43,3 @@ test-lutin:
test
:
test-lucky test-lutin
# cd ocaml/crazy-rabbit/ && make test ;
examples/luckyDraw/ocaml/draw-ex.out
View file @
fcca9b09
...
...
@@ -24,4 +24,4 @@ Z=6398 y=-82 x=53 z=79
Z=9741 y=-147 x=99 z=98
Z=10000 x=99 y=99 z=-148
Z=-10000 x=99 y=99 z=-148
Z=f
y=f x=t
Z=f
x=t y=f
examples/luckyDraw/ocaml/draw-ex.out.exp
View file @
fcca9b09
...
...
@@ -24,4 +24,4 @@ Z=6398 y=-82 x=53 z=79
Z=9741 y=-147 x=99 z=98
Z=10000 x=99 y=99 z=-148
Z=-10000 x=99 y=99 z=-148
Z=f
y=f x=t
Z=f
x=t y=f
examples/lutin/xlurette/test.rif.exp
View file @
fcca9b09
...
...
@@ -14,403 +14,403 @@
#oracle_outputs T
#step 1
8.98 8.48 8.99 8.49 #outs T
#locs
1
6845.23
#locs 6845.23
1
#oracle_outputs T
#step 2
6.04 6.20 6.53 6.54 #outs T
#locs
2
2727.98
#locs 2727.98
2
#oracle_outputs T
#step 3
5.86 5.53 5.94 6.31 #outs T
#locs
0
6.04
#locs 6.04
0
#oracle_outputs T
#step 4
5.87 6.13 5.50 6.20 #outs T
#locs
0
5.86
#locs 5.86
0
#oracle_outputs T
#step 5
6.05 5.82 6.08 6.54 #outs T
#locs
0
5.87
#locs 5.87
0
#oracle_outputs T
#step 6
6.17 6.56 6.37 6.05 #outs T
#locs
0
6.05
#locs 6.05
0
#oracle_outputs T
#step 7
6.35 6.28 5.86 5.96 #outs T
#locs
0
6.17
#locs 6.17
0
#oracle_outputs T
#step 8
6.54 6.05 6.08 7.03 #outs T
#locs
0
6.35
#locs 6.35
0
#oracle_outputs T
#step 9
6.61 6.23 6.74 6.73 #outs T
#locs
0
6.54
#locs 6.54
0
#oracle_outputs T
#step 10
6.67 6.64 6.30 6.35 #outs T
#locs
0
6.61
#locs 6.61
0
#oracle_outputs T
#step 11
6.69 7.19 6.67 6.67 #outs T
#locs
0
6.67
#locs 6.67
0
#oracle_outputs T
#step 12
6.88 6.78 7.35 7.18 #outs T
#locs
0
6.69
#locs 6.69
0
#oracle_outputs T
#step 13
6.90 7.01 7.05 6.85 #outs T
#locs
0
6.88
#locs 6.88
0
#oracle_outputs T
#step 14
6.91 6.92 6.67 6.65 #outs T
#locs
0
6.90
#locs 6.90
0
#oracle_outputs T
#step 15
6.92 6.75 6.43 6.59 #outs T
#locs
0
6.91
#locs 6.91
0
#oracle_outputs T
#step 16
7.05 7.31 7.28 7.09 #outs T
#locs
0
6.92
#locs 6.92
0
#oracle_outputs T
#step 17
7.19 7.04 7.55 6.82 #outs T
#locs
0
7.05
#locs 7.05
0
#oracle_outputs T
#step 18
7.23 7.31 7.17 7.37 #outs T
#locs
0
7.19
#locs 7.19
0
#oracle_outputs T
#step 19
7.39 6.93 7.86 7.48 #outs T
#locs
0
7.23
#locs 7.23
0
#oracle_outputs T
#step 20
7.58 7.94 8.08 7.61 #outs T
#locs
0
7.39
#locs 7.39
0
#oracle_outputs T
#step 21
7.64 7.72 7.44 7.33 #outs T
#locs
0
7.58
#locs 7.58
0
#oracle_outputs T
#step 22
7.70 7.79 8.03 7.24 #outs T
#locs
0
7.64
#locs 7.64
0
#oracle_outputs T
#step 23
7.84 8.31 7.54 7.80 #outs T
#locs
0
7.70
#locs 7.70
0
#oracle_outputs T
#step 24
8.01 8.13 8.14 8.08 #outs T
#locs
0
7.84
#locs 7.84
0
#oracle_outputs T
#step 25
8.12 8.12 7.90 8.46 #outs T
#locs
0
8.01
#locs 8.01
0
#oracle_outputs T
#step 26
8.13 8.21 7.66 8.55 #outs T
#locs
0
8.12
#locs 8.12
0
#oracle_outputs T
#step 27
8.19 7.98 8.41 8.25 #outs T
#locs
0
8.13
#locs 8.13
0
#oracle_outputs T
#step 28
8.31 8.70 7.89 8.06 #outs T
#locs
0
8.19
#locs 8.19
0
#oracle_outputs T
#step 29
8.50 8.55 8.18 8.79 #outs T
#locs
0
8.31
#locs 8.31
0
#oracle_outputs T
#step 30
8.51 8.56 8.52 8.90 #outs T
#locs
0
8.50
#locs 8.50
0
#oracle_outputs T
#step 31
8.54 8.73 8.24 8.40 #outs T
#locs
0
8.51
#locs 8.51
0
#oracle_outputs T
#step 32
8.67 8.91 8.79 8.79 #outs T
#locs
0
8.54
#locs 8.54
0
#oracle_outputs T
#step 33
8.77 8.57 8.60 8.48 #outs T
#locs
0
8.67
#locs 8.67
0
#oracle_outputs T
#step 34
8.84 8.48 9.15 8.65 #outs T
#locs
0
8.77
#locs 8.77
0
#oracle_outputs T
#step 35
9.02 9.49 8.77 9.10 #outs F
#locs
0
8.84
#locs 8.84
0
#oracle_outputs T
#step 36
8.93 9.43 9.40 9.40 #outs F
#locs
0
9.02
#locs 9.02
0
#oracle_outputs T
#step 37
8.75 8.72 9.17 8.34 #outs F
#locs
0
8.93
#locs 8.93
0
#oracle_outputs T
#step 38
8.67 8.75 8.64 8.95 #outs F
#locs
0
8.75
#locs 8.75
0
#oracle_outputs T
#step 39
8.58 8.43 8.41 8.25 #outs F
#locs
0
8.67
#locs 8.67
0
#oracle_outputs T
#step 40
8.57 8.20 9.05 8.91 #outs F
#locs
0
8.58
#locs 8.58
0
#oracle_outputs T
#step 41
8.38 7.92 8.15 8.53 #outs F
#locs
0
8.57
#locs 8.57
0
#oracle_outputs T
#step 42
8.22 8.33 8.09 8.27 #outs F
#locs
0
8.38
#locs 8.38
0
#oracle_outputs T
#step 43
8.13 7.79 8.38 8.24 #outs F
#locs
0
8.22
#locs 8.22
0
#oracle_outputs T
#step 44
7.99 7.62 7.70 8.21 #outs F
#locs
0
8.13
#locs 8.13
0
#oracle_outputs T
#step 45
7.97 7.97 8.44 8.28 #outs F
#locs
0
7.99
#locs 7.99
0
#oracle_outputs T
#step 46
7.79 7.71 7.93 7.92 #outs F
#locs
0
7.97
#locs 7.97
0
#oracle_outputs T
#step 47
7.78 7.88 8.15 8.27 #outs F
#locs
0
7.79
#locs 7.79
0
#oracle_outputs T
#step 48
7.59 7.68 7.51 7.56 #outs F
#locs
0
7.78
#locs 7.78
0
#oracle_outputs T
#step 49
7.53 7.97 7.94 7.45 #outs F
#locs
0
7.59
#locs 7.59
0
#oracle_outputs T
#step 50
7.41 7.71 7.21 7.27 #outs F
#locs
0
7.53
#locs 7.53
0
#oracle_outputs T
#step 51
7.22 7.72 7.22 7.23 #outs F
#locs
0
7.41
#locs 7.41
0
#oracle_outputs T
#step 52
7.18 7.44 7.48 6.77 #outs F
#locs
0
7.22
#locs 7.22
0
#oracle_outputs T
#step 53
7.16 7.13 7.65 7.14 #outs F
#locs
0
7.18
#locs 7.18
0
#oracle_outputs T
#step 54
7.03 6.78 6.77 7.12 #outs F
#locs
0
7.16
#locs 7.16
0
#oracle_outputs T
#step 55
6.95 7.15 6.75 7.15 #outs F
#locs
0
7.03
#locs 7.03
0
#oracle_outputs T
#step 56
6.80 6.73 6.43 6.73 #outs F
#locs
0
6.95
#locs 6.95
0
#oracle_outputs T
#step 57
6.74 6.36 6.29 6.24 #outs F
#locs
0
6.80
#locs 6.80
0
#oracle_outputs T
#step 58
6.61 6.46 6.92 6.55 #outs F
#locs
0
6.74
#locs 6.74
0
#oracle_outputs T
#step 59
6.59 6.14 6.87 7.06 #outs F
#locs
0
6.61
#locs 6.61
0
#oracle_outputs T
#step 60
6.41 6.23 6.11 6.42 #outs F
#locs
0
6.59
#locs 6.59
0
#oracle_outputs T
#step 61
6.40 6.81 6.40 6.86 #outs F
#locs
0
6.41
#locs 6.41
0
#oracle_outputs T
#step 62
6.23 6.26 6.09 6.65 #outs F
#locs
0
6.40
#locs 6.40
0
#oracle_outputs T
#step 63
6.09 6.47 6.36 6.57 #outs F
#locs
0
6.23
#locs 6.23
0
#oracle_outputs T
#step 64
5.93 6.26 6.00 5.51 #outs F
#locs
0
6.09
#locs 6.09
0
#oracle_outputs T
#step 65
6.07 5.78 6.40 6.39 #outs F
#locs
0
5.93
#locs 5.93
0
#oracle_outputs T
#step 66
6.10 5.67 6.07 6.38 #outs T
#locs
0
6.07
#locs 6.07
0
#oracle_outputs T
#step 67
6.28 6.07 6.64 5.99 #outs T
#locs
0
6.10
#locs 6.10
0
#oracle_outputs T
#step 68
6.34 5.91 6.25 5.87 #outs T
#locs
0
6.28
#locs 6.28
0
#oracle_outputs T
#step 69
6.45 6.22 6.38 6.81 #outs T
#locs
0
6.34
#locs 6.34
0
#oracle_outputs T
#step 70
6.46 6.46 6.46 6.78 #outs T
#locs
0
6.45
#locs 6.45
0
#oracle_outputs T
#step 71
6.57 6.31 6.31 6.35 #outs T
#locs
0
6.46
#locs 6.46
0
#oracle_outputs T
#step 72
6.58 6.92 6.46 6.35 #outs T
#locs
0
6.57
#locs 6.57
0
#oracle_outputs T
#step 73
6.61 6.63 6.46 6.81 #outs T
#locs
0
6.58
#locs 6.58
0
#oracle_outputs T
#step 74
6.63 6.57 6.69 6.63 #outs T
#locs
0
6.61
#locs 6.61
0
#oracle_outputs T
#step 75
6.68 6.28 6.68 7.05 #outs T
#locs
0
6.63
#locs 6.63
0
#oracle_outputs T
#step 76
6.72 7.16 7.17 6.45 #outs T
#locs
0
6.68
#locs 6.68
0
#oracle_outputs T
#step 77
6.77 6.78 6.32 6.91 #outs T
#locs
0
6.72
#locs 6.72
0
#oracle_outputs T
#step 78
6.89 6.83 6.62 7.13 #outs T
#locs
0
6.77
#locs 6.77
0
#oracle_outputs T
#step 79
7.05 7.10 6.84 6.71 #outs T
#locs
0
6.89
#locs 6.89
0
#oracle_outputs T
#step 80
7.17 7.18 6.87 7.42 #outs T
#locs
0
7.05
#locs 7.05
0
#oracle_outputs T
#step 81
7.28 7.19 6.85 6.98 #outs T
#locs
0
7.17
#locs 7.17
0
#oracle_outputs T
#step 82
7.39 7.14 7.54 7.70 #outs T
#locs
0
7.28
#locs 7.28
0
#oracle_outputs T
#step 83
7.43 6.99 7.46 7.46 #outs T
#locs
0
7.39
#locs 7.39
0
#oracle_outputs T
#step 84
7.52 7.84 7.69 7.35 #outs T
#locs
0
7.43
#locs 7.43
0
#oracle_outputs T
#step 85
7.65 7.59 7.90 7.31 #outs T
#locs
0
7.52
#locs 7.52
0
#oracle_outputs T
#step 86
7.77 7.47 7.79 7.56 #outs T
#locs
0
7.65
#locs 7.65
0
#oracle_outputs T
#step 87
7.85 7.54 7.59 8.05 #outs T
#locs
0
7.77
#locs 7.77
0
#oracle_outputs T
#step 88
8.04 8.04 8.32 8.40 #outs T
#locs
0
7.85
#locs 7.85
0
#oracle_outputs T
#step 89
8.08 8.48 8.33 7.93 #outs T
#locs
0
8.04
#locs 8.04
0
#oracle_outputs T
#step 90
8.27 8.40 7.86 8.02 #outs T
#locs
0
8.08
#locs 8.08
0
#oracle_outputs T
#step 91
8.44 8.05 8.16 8.06 #outs T
#locs
0
8.27
#locs 8.27
0
#oracle_outputs T
#step 92
8.58 8.17 8.33 8.94 #outs T
#locs
0
8.44
#locs 8.44
0
#oracle_outputs T
#step 93
8.66 9.06 9.12 8.88 #outs F
#locs
0
8.58
#locs 8.58
0
#oracle_outputs T
#step 94
8.82 9.08 8.44 9.16 #outs F
#locs
0
8.66
#locs 8.66
0
#oracle_outputs T
#step 95
8.88 8.74 8.85 8.86 #outs F
#locs
0
8.82
#locs 8.82
0
#oracle_outputs T
#step 96
8.98 8.70 8.57 8.86 #outs F
#locs
0
8.88
#locs 8.88
0
#oracle_outputs T
#step 97
9.13 8.75 9.63 8.82 #outs F
#locs
0
8.98
#locs 8.98
0
#oracle_outputs T
#step 98
9.10 8.82 9.01 9.31 #outs F
#locs
0
9.13
#locs 9.13
0
#oracle_outputs T
#step 99
8.94 9.22 9.26 9.06 #outs F
#locs
0
9.10
#locs 9.10
0
#oracle_outputs T
#step 100
8.93 8.87 9.36 8.46 #outs F
#locs
0
8.94
#locs 8.94
0
#
# ==> The test completed; no property has been violated.
#
...
...
examples/ocaml/xlurette/heat_ctrl.ml
View file @
fcca9b09
...
...
@@ -18,23 +18,21 @@ let (get_output_var_name_and_type : unit -> (string * var_type) list) =
let
tbl
=
Hashtbl
.
create
0
open
Value
let
(
step
:
(
string
*
Value
.
t
)
list
->
(
string
,
Value
.
t
)
Hashtbl
.
t
)
=
let
(
step
:
Value
.
OfIdent
.
t
->
Value
.
OfIdent
.
t
)
=
fun
inputs
->
let
t
=
List
.
assoc
"T"
inputs
in
let
t
=
Value
.
OfIdent
.
get
inputs
"T"
in
let
res
=
match
t
with
N
(
F
(
f
))
->
if
f
>
9
.
0
then
false
else
if
f
<
6
.
00
then
true
else
!
pre_res
|
_
->
assert
false
in
pre_res
:=
res
;
Hashtbl
.
replace
tbl
"Heat_on"
(
B
(
res
));
tbl
Value
.
OfIdent
.
from_list
[
(
"Heat_on"
,
B
(
res
))
]
let
(
step_try
:
(
string
*
Value
.
t
)
list
->
(
string
,
Value
.
t
)
Hashtbl
.
t
)
=
let
(
step_try
:
Value
.
OfIdent
.
t
->
Value
.
OfIdent
.
t
)
=
fun
l
->
step
l
...
...
examples/ocaml/xlurette/not_a_sauna.ml
View file @
fcca9b09
...
...
@@ -17,14 +17,15 @@ let (get_output_var_name_and_type : unit -> (string * var_type) list) =
open
Value
let
(
step
:
(
string
*
Value
.
t
)
list
->
(
string
,
Value
.
t
)
Hashtbl
.
t
->
bool
*
Va
r
.
subst
lis
t
)
=
let
(
step
:
Value
.
OfIdent
.
t
->
Value
.
OfIdent
.
t
->
bool
*
Va
lue
.
OfIdent
.
t
)
=
fun
inputs
outputs
->
let
t
=
try
List
.
assoc
"T"
inputs
Value
.
OfIdent
.
get
inputs
"T"
with
Not_found
->
print_string
(
"oracle.ml: can not find variable T in the list of sut inputs
\n
"
);
print_string
(
"Available variables are: "
^
(
String
.
concat
", "
(
fst
(
List
.
split
inputs
))));
let
inlist
=
Value
.
OfIdent
.
content
inputs
in
print_string
(
"Available variables are: "
^
(
String
.
concat
", "
(
fst
(
List
.
split
inlist
))));
print_string
(
"
\n
"
);
flush
stdout
;
exit
2
...
...
@@ -34,8 +35,8 @@ let (step : (string * Value.t) list -> (string, Value.t) Hashtbl.t -> bool* Va
N
(
F
(
f
))
->
f
<
10
.
0
|
_
->
assert
false
in
ok
,
[
"ok"
,
(
B
(
ok
))]
(
ok
,
Value
.
OfIdent
.
from_list
[(
"ok"
,
B
(
ok
))]
)
let
(
step_try
:
(
string
*
Value
.
t
)
list
->
(
string
,
Value
.
t
)
Hashtbl
.
t
->
bool
*
Va
r
.
subst
lis
t
)
=
let
(
step_try
:
Value
.
OfIdent
.
t
->
Value
.
OfIdent
.
t
->
bool
*
Va
lue
.
OfIdent
.
t
)
=
fun
inputs
outputs
->
step
inputs
outputs
install/Makefile.lurette.in
View file @
fcca9b09
...
...
@@ -117,8 +117,9 @@ ocaml: sut.ml sut.mli oracle.ml oracle.mli lurette_exec.ml $(SUT) $(ORACLE)
$(EXTRA_INCLUDEDIRS)
\
$(EXTRA_LIBSDIRS)
\
$(EXTRA_LIBS)
\
str.cmxa unix.cmxa nums.cmxa polka.cmxa bdd.cmxa
\
$(SOURCES_ML)
lurette_ml_exec.cmxa lurette_exec.ml
\
str.cmxa unix.cmxa nums.cmxa polka.cmxa bdd.cmxa
\
lurette_ml_exec_I.cmxa
\
$(SOURCES_ML)
lurette_ml_exec_II.cmxa lurette_exec.ml
\
-o
lurette
...
...
source/Lucky/Makefile.gen_fake_lucky
View file @
fcca9b09
...
...
@@ -6,7 +6,8 @@ include $(LURETTE_PATH)/source/Makefile.ln
OCAMLNCFLAGS
=
-inline
10
ifndef
OCAMLFLAGS
OCAMLFLAGS
:=
-noassert
-unsafe
#OCAMLFLAGS := -noassert -unsafe
OCAMLFLAGS
:=
-unsafe
endif
OCAMLFLAGS
+=
-I
$(OBJDIR)
-I
$(OCAMLLIB)
-I
$(PREFIX)
/
$(HOSTTYPE)
/lib
...
...
source/Lucky/Makefile.luc2c
View file @
fcca9b09
...
...
@@ -8,7 +8,8 @@ include $(LURETTE_PATH)/source/Makefile.ln
OCAMLNCFLAGS
=
-inline
10
ifndef
OCAMLFLAGS
OCAMLFLAGS
:=
-noassert
-unsafe
#OCAMLFLAGS := -noassert -unsafe
OCAMLFLAGS
:=
-unsafe
endif
OCAMLFLAGS
+=
-I
$(OBJDIR)
-I
$(OCAMLLIB)
-I
$(PREFIX)
/
$(HOSTTYPE)
/lib
...
...
source/Lucky/Makefile.luc2luciole
View file @
fcca9b09
...
...
@@ -6,7 +6,8 @@ include $(LURETTE_PATH)/source/Makefile.ln
OCAMLNCFLAGS
=
-inline
10
ifndef
OCAMLFLAGS
OCAMLFLAGS
:=
-noassert
-unsafe
#OCAMLFLAGS := -noassert -unsafe
OCAMLFLAGS
:=
-unsafe
endif
OCAMLFLAGS
+=
-I
$(OBJDIR)
-I
$(OCAMLLIB)
-I
$(PREFIX)
/
$(HOSTTYPE)
/lib
...
...
source/Lucky/Makefile.luc4c
View file @
fcca9b09
...
...
@@ -9,7 +9,8 @@ include $(LURETTE_PATH)/source/Makefile.ln
OCAMLNCFLAGS
=
-inline
10