First commit
This commit is contained in:
commit
b7a1213f91
29 changed files with 1312 additions and 0 deletions
23
Spec/GNUmakefile
Normal file
23
Spec/GNUmakefile
Normal file
|
@ -0,0 +1,23 @@
|
|||
TARGET = tank.spe
|
||||
|
||||
SOURCE_SPE = System.spe
|
||||
|
||||
DIFF_SPE =
|
||||
|
||||
all: $(TARGET) $(DIFF_SPE)
|
||||
|
||||
clean:
|
||||
rm -f *~
|
||||
|
||||
cleandir : clean
|
||||
rm -f $(TARGET) $(DIFF_SPE) test.spe
|
||||
|
||||
|
||||
$(TARGET) : $(SOURCE_SPE)
|
||||
rm -f $(TARGET)
|
||||
for d in $(SOURCE_SPE); do \
|
||||
cat $$d >> $(TARGET);\
|
||||
done
|
||||
|
||||
|
||||
$(DIFF_SPE) : $(SOURCE_SPE)
|
8
Spec/Graphs.spe
Normal file
8
Spec/Graphs.spe
Normal file
|
@ -0,0 +1,8 @@
|
|||
with Valve, ValveVirtual do
|
||||
dot(any_s, any_t - self_epsilon) > 'Graphs/$NODENAME.dot';
|
||||
modes() > 'Graphs/$NODENAME-modes.dot';
|
||||
quot() > 'Graphs/$NODENAME-quot.dot';
|
||||
done
|
||||
with SystemNbPannesFNomDuControleur do
|
||||
dot(any_s, any_t - self_epsilon) > 'Graphs/$NODENAME.dot';
|
||||
done
|
40
Spec/System-2.spe
Normal file
40
Spec/System-2.spe
Normal file
|
@ -0,0 +1,40 @@
|
|||
with SystemNbPannesFNomDuControleur do
|
||||
deadlock := any_s - src(any_t - self_epsilon);
|
||||
notResettable := any_s -coreach(initial,any_t);
|
||||
/* output */
|
||||
out0 := any_s & [V[2].rate=0];
|
||||
out1 := any_s & [V[2].rate=1];
|
||||
out2 := any_s & [V[2].rate=2];
|
||||
dec21 := any_t & label V[2].dec & rsrc(out2);
|
||||
dec10 := any_t & label V[2].dec & rsrc(out1);
|
||||
/* Niveaux critiques et Situations redoutees */
|
||||
NC := any_s & [T.level=0 | T.level=nbSensors];
|
||||
SR := deadlock | NC;
|
||||
EPerdu := any_s - SR;
|
||||
CGagne := any_s - SR;
|
||||
/* systeme d'equation au point fixe
|
||||
* CGagnant = CGagne & src(CCoupGagnant)
|
||||
* CCoupGagnant = CCoup & rtgt(EPerdant)
|
||||
* EPerdant = EPerdu & (src(ECoupPerdant) - src(ECoupNonPerdant))
|
||||
* ECoupPerdant = ECoup & rtgt(CGgagnant)
|
||||
* ECoupNonPerdant = ECoup & rtgt(any_s - CGagnant)
|
||||
*/
|
||||
CCoup := any_t & label cmd;
|
||||
ECoup := any_t & label env;
|
||||
CCoupGagnant -= CCoup & rtgt(EPerdu & (src(ECoup & rtgt(CGagne & src(CCoupGagnant))) - src(ECoup & rtgt(any_s - (CGagne & src(CCoupGagnant))))));
|
||||
/* Controller projection */
|
||||
/* Syntax and semantic of the "project" command
|
||||
* param 1 : les configurations projetees
|
||||
* param 2 : les transitions projetees
|
||||
* - arg1 : projection existentielle
|
||||
* - arg2 : projection universelle
|
||||
* param 3 : nom du noeud AltaRica genere
|
||||
* param 4 : simplification ou non des expressions booleennes
|
||||
* param 5 (optionel) : noeud de la hierarchie servant a la projection
|
||||
*/
|
||||
/* Universal projection is use */
|
||||
project(any_s, (empty_t,CCoupGagnant), 'CtrlInitialNbPannesFNumIter', true,C)
|
||||
> 'Controleurs/CtrlInitialNbPannesFNumIter.alt';
|
||||
/* record results */
|
||||
show(any_s, any_t, deadlock, NC, SR , out0, out1, out2, dec21, dec10, CCoupGagnant) > 'Res/$NODENAME.res';
|
||||
done
|
40
Spec/System.spe
Normal file
40
Spec/System.spe
Normal file
|
@ -0,0 +1,40 @@
|
|||
with SystemNbPannesFNomDuControleur do
|
||||
deadlock := any_s - src(any_t - self_epsilon);
|
||||
notResettable := any_s -coreach(initial,any_t);
|
||||
/* output */
|
||||
out0 := any_s & [V[2].rate=0];
|
||||
out1 := any_s & [V[2].rate=1];
|
||||
out2 := any_s & [V[2].rate=2];
|
||||
dec21 := any_t & label V[2].dec & rsrc(out2);
|
||||
dec10 := any_t & label V[2].dec & rsrc(out1);
|
||||
/* Niveaux critiques et Situations redoutees */
|
||||
NC := any_s & [T.level=0 | T.level=nbSensors];
|
||||
SR := deadlock | NC;
|
||||
EPerdu := any_s - SR;
|
||||
CGagne := any_s - SR;
|
||||
/* systeme d'equation au point fixe
|
||||
* CGagnant = CGagne & src(CCoupGagnant)
|
||||
* CCoupGagnant = CCoup & rtgt(EPerdant)
|
||||
* EPerdant = EPerdu & (src(ECoupPerdant) - src(ECoupNonPerdant))
|
||||
* ECoupPerdant = ECoup & rtgt(CGgagnant)
|
||||
* ECoupNonPerdant = ECoup & rtgt(any_s - CGagnant)
|
||||
*/
|
||||
CCoup := any_t & label cmd;
|
||||
ECoup := any_t & label env;
|
||||
CCoupGagnant -= CCoup & rtgt(EPerdu & (src(ECoup & rtgt(CGagne & src(CCoupGagnant))) - src(ECoup & rtgt(any_s - (CGagne & src(CCoupGagnant))))));
|
||||
/* Controller projection */
|
||||
/* Syntax and semantic of the "project" command
|
||||
* param 1 : les configurations projetees
|
||||
* param 2 : les transitions projetees
|
||||
* - arg1 : projection existentielle
|
||||
* - arg2 : projection universelle
|
||||
* param 3 : nom du noeud AltaRica genere
|
||||
* param 4 : simplification ou non des expressions booleennes
|
||||
* param 5 (optionel) : noeud de la hierarchie servant a la projection
|
||||
*/
|
||||
/* Universal projection is use */
|
||||
project(any_s, (empty_t,CCoupGagnant), 'CtrlInitialNbPannesFNumIter', true,C)
|
||||
> 'Controleurs/CtrlInitialNbPannesFNumIter.alt';
|
||||
/* record results */
|
||||
show(any_s, any_t, deadlock, NC, SR , out0, out1, out2, dec21, dec10, CCoupGagnant) > 'Res/$NODENAME.res';
|
||||
done
|
Loading…
Add table
Add a link
Reference in a new issue