Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Rick Smetsers
z3gi
Commits
b58b7920
Commit
b58b7920
authored
Oct 02, 2017
by
Paul Fiterau Brostean
Browse files
Simulation for Mealy Machine, importer for .dot Mealy Machine, basic tests
parent
23a50ad7
Changes
9
Hide whitespace changes
Inline
Side-by-side
example_runs.py
View file @
b58b7920
...
...
@@ -6,9 +6,11 @@ from learn.algorithm import learn
from
learn.algorithm
import
learn_mbt
from
learn.fa
import
FALearner
from
learn.ra
import
RALearner
from
parse.importer
import
build_automaton_from_dot
from
sut
import
SUTType
from
sut.fifoset
import
FIFOSetClass
from
sut.login
import
new_login_sut
,
LoginClass
from
sut.simulation
import
MealyMachineSimulation
from
test
import
IORATest
from
test.rwalk
import
IORARWalkFromState
,
MealyRWalkFromState
,
DFARWalkFromState
,
RARWalkFromState
from
tests.iora_testscenario
import
*
...
...
@@ -16,7 +18,7 @@ from encode.iora import IORAEncoder
# some example runs
def
sc
rap
_learn_iora
():
def
sc
alable
_learn_iora
():
learner
=
RALearner
(
IORAEncoder
())
test_type
=
IORATest
exp
=
sut_m5
...
...
@@ -24,7 +26,7 @@ def scrap_learn_iora():
print
(
model
)
print
(
statistics
)
def
sc
rap
_learn_mbt_iora
():
def
sc
alable
_learn_mbt_iora
():
learner
=
RALearner
(
IORAEncoder
())
learner
.
set_timeout
(
10000
)
sut
=
new_login_sut
(
1
)
...
...
@@ -33,7 +35,7 @@ def scrap_learn_mbt_iora():
print
(
model
)
print
(
statistics
)
def
sc
rap
_learn_mbt_mealy
():
def
sc
alable
_learn_mbt_mealy
():
learner
=
FALearner
(
MealyEncoder
())
learner
.
set_timeout
(
1000
)
login
=
LoginClass
()
...
...
@@ -43,7 +45,7 @@ def scrap_learn_mbt_mealy():
print
(
model
)
print
(
statistics
)
def
sc
rap
_learn_mbt_dfa
():
def
sc
alable
_learn_mbt_dfa
():
learner
=
FALearner
(
DFAEncoder
())
learner
.
set_timeout
(
100000
)
login
=
LoginClass
()
...
...
@@ -53,7 +55,7 @@ def scrap_learn_mbt_dfa():
print
(
model
)
print
(
statistics
)
def
sc
rap
_learn_mbt_ra
():
def
sc
alable
_learn_mbt_ra
():
learner
=
RALearner
(
RAEncoder
())
learner
.
set_timeout
(
600000
)
login
=
FIFOSetClass
()
...
...
@@ -63,5 +65,20 @@ def scrap_learn_mbt_ra():
print
(
model
)
print
(
statistics
)
scrap_learn_mbt_mealy
()
#scrap_learn_mbt_iora()
def
sim_learn_mbt_ra
():
learner
=
FALearner
(
MealyEncoder
())
learner
.
set_timeout
(
10000
)
import
os.path
maestro_aut
=
build_automaton_from_dot
(
"MealyMachine"
,
os
.
path
.
join
(
"resources"
,
"bankcards"
,
"MAESTRO.dot"
))
print
(
maestro_aut
)
#exit(2)
maestro_sut
=
MealyMachineSimulation
(
maestro_aut
)
mbt
=
MealyRWalkFromState
(
maestro_sut
,
3
,
0.2
)
(
model
,
statistics
)
=
learn_mbt
(
learner
,
mbt
,
10000
)
print
(
model
)
print
(
statistics
)
sim_learn_mbt_ra
()
#scalable_learn_mbt_mealy()
#scalable_learn_mbt_iora()
resources/bankcards/MAESTRO.dot
0 → 100644
View file @
b58b7920
digraph
G
{
label
=
""
s0
[
color
=
"red"
]
s1
s2
s3
s4
s5
s0
[
label
=
"s0"
]
;
s0
->
s0
[
label
=
"generateACSecondARQC/6D00"
]
s0
->
s0
[
label
=
"generateACSecondTC/6D00"
]
s0
->
s0
[
label
=
"generateACFirstAAC/6D00"
]
s0
->
s0
[
label
=
"getValidData/6A88"
]
s0
->
s0
[
label
=
"getProcessingOptionsInvalid/6D00"
]
s0
->
s0
[
label
=
"generateACSecondAAC/6D00"
]
s0
->
s0
[
label
=
"generateACFirstTC/6D00"
]
s0
->
s0
[
label
=
"getInvalidData/6A88"
]
s0
->
s1
[
label
=
"selectApplication/9000"
]
s0
->
s0
[
label
=
"generateACFirstARQC/6D00"
]
s0
->
s0
[
label
=
"readValidRecord/6E00"
]
s0
->
s0
[
label
=
"getProcessingOptions/6D00"
]
s0
->
s0
[
label
=
"readInvalidRecord/6E00"
]
s0
->
s0
[
label
=
"internalAuthenticate/6E00"
]
s1
[
label
=
"s1"
]
;
s1
->
s1
[
label
=
"generateACSecondARQC/6985"
]
s1
->
s1
[
label
=
"generateACSecondTC/6985"
]
s1
->
s1
[
label
=
"generateACFirstAAC/6985"
]
s1
->
s1
[
label
=
"getValidData/9000"
]
s1
->
s1
[
label
=
"getProcessingOptionsInvalid/6985"
]
s1
->
s1
[
label
=
"generateACSecondAAC/6985"
]
s1
->
s1
[
label
=
"generateACFirstTC/6985"
]
s1
->
s1
[
label
=
"getInvalidData/6A88"
]
s1
->
s1
[
label
=
"selectApplication/9000"
]
s1
->
s1
[
label
=
"generateACFirstARQC/6985"
]
s1
->
s1
[
label
=
"readValidRecord/9000"
]
s1
->
s2
[
label
=
"getProcessingOptions/9000"
]
s1
->
s1
[
label
=
"readInvalidRecord/6A82"
]
s1
->
s1
[
label
=
"internalAuthenticate/6985"
]
s2
[
label
=
"s2"
]
;
s2
->
s1
[
label
=
"generateACSecondARQC/6700"
]
s2
->
s1
[
label
=
"generateACSecondTC/6700"
]
s2
->
s3
[
label
=
"generateACFirstAAC/900000"
]
s2
->
s2
[
label
=
"getValidData/9000"
]
s2
->
s1
[
label
=
"getProcessingOptionsInvalid/6985"
]
s2
->
s1
[
label
=
"generateACSecondAAC/6700"
]
s2
->
s4
[
label
=
"generateACFirstTC/900080"
]
s2
->
s1
[
label
=
"getInvalidData/6A88"
]
s2
->
s1
[
label
=
"selectApplication/9000"
]
s2
->
s4
[
label
=
"generateACFirstARQC/900080"
]
s2
->
s2
[
label
=
"readValidRecord/9000"
]
s2
->
s1
[
label
=
"getProcessingOptions/6985"
]
s2
->
s1
[
label
=
"readInvalidRecord/6A82"
]
s2
->
s5
[
label
=
"internalAuthenticate/9000"
]
s3
[
label
=
"s3"
]
;
s3
->
s1
[
label
=
"generateACSecondARQC/6985"
]
s3
->
s1
[
label
=
"generateACSecondTC/6985"
]
s3
->
s1
[
label
=
"generateACFirstAAC/6985"
]
s3
->
s1
[
label
=
"getValidData/6985"
]
s3
->
s1
[
label
=
"getProcessingOptionsInvalid/6985"
]
s3
->
s1
[
label
=
"generateACSecondAAC/6985"
]
s3
->
s1
[
label
=
"generateACFirstTC/6985"
]
s3
->
s1
[
label
=
"getInvalidData/6985"
]
s3
->
s1
[
label
=
"selectApplication/9000"
]
s3
->
s1
[
label
=
"generateACFirstARQC/6985"
]
s3
->
s1
[
label
=
"readValidRecord/6985"
]
s3
->
s1
[
label
=
"getProcessingOptions/6985"
]
s3
->
s1
[
label
=
"readInvalidRecord/6985"
]
s3
->
s1
[
label
=
"internalAuthenticate/6985"
]
s4
[
label
=
"s4"
]
;
s4
->
s1
[
label
=
"generateACSecondARQC/6A86"
]
s4
->
s3
[
label
=
"generateACSecondTC/900000"
]
s4
->
s1
[
label
=
"generateACFirstAAC/6700"
]
s4
->
s1
[
label
=
"getValidData/6985"
]
s4
->
s1
[
label
=
"getProcessingOptionsInvalid/6985"
]
s4
->
s3
[
label
=
"generateACSecondAAC/900000"
]
s4
->
s1
[
label
=
"generateACFirstTC/6700"
]
s4
->
s1
[
label
=
"getInvalidData/6985"
]
s4
->
s1
[
label
=
"selectApplication/9000"
]
s4
->
s1
[
label
=
"generateACFirstARQC/6A86"
]
s4
->
s1
[
label
=
"readValidRecord/6985"
]
s4
->
s1
[
label
=
"getProcessingOptions/6985"
]
s4
->
s1
[
label
=
"readInvalidRecord/6985"
]
s4
->
s1
[
label
=
"internalAuthenticate/6985"
]
s5
[
label
=
"s5"
]
;
s5
->
s1
[
label
=
"generateACSecondARQC/6700"
]
s5
->
s1
[
label
=
"generateACSecondTC/6700"
]
s5
->
s3
[
label
=
"generateACFirstAAC/900000"
]
s5
->
s5
[
label
=
"getValidData/9000"
]
s5
->
s1
[
label
=
"getProcessingOptionsInvalid/6985"
]
s5
->
s1
[
label
=
"generateACSecondAAC/6700"
]
s5
->
s4
[
label
=
"generateACFirstTC/900080"
]
s5
->
s1
[
label
=
"getInvalidData/6A88"
]
s5
->
s1
[
label
=
"selectApplication/9000"
]
s5
->
s4
[
label
=
"generateACFirstARQC/900080"
]
s5
->
s5
[
label
=
"readValidRecord/9000"
]
s5
->
s1
[
label
=
"getProcessingOptions/6985"
]
s5
->
s1
[
label
=
"readInvalidRecord/6A82"
]
s5
->
s1
[
label
=
"internalAuthenticate/6985"
]
}
resources/bankcards/MasterCard.dot
0 → 100644
View file @
b58b7920
digraph
G
{
label
=
""
s0
[
color
=
"red"
]
s1
s2
s3
s4
s5
s0
[
label
=
"s0"
]
;
s0
->
s0
[
label
=
"generateACSecondARQC/6D00"
]
s0
->
s0
[
label
=
"generateACSecondTC/6D00"
]
s0
->
s0
[
label
=
"generateACFirstAAC/6D00"
]
s0
->
s0
[
label
=
"getValidData/9000"
]
s0
->
s0
[
label
=
"getProcessingOptionsInvalid/6D00"
]
s0
->
s0
[
label
=
"generateACSecondAAC/6D00"
]
s0
->
s0
[
label
=
"generateACFirstTC/6D00"
]
s0
->
s0
[
label
=
"getInvalidData/6A86"
]
s0
->
s1
[
label
=
"selectApplication/9000"
]
s0
->
s0
[
label
=
"generateACFirstARQC/6D00"
]
s0
->
s0
[
label
=
"readValidRecord/9000"
]
s0
->
s0
[
label
=
"getProcessingOptions/6D00"
]
s0
->
s0
[
label
=
"readInvalidRecord/6A82"
]
s0
->
s0
[
label
=
"internalAuthenticate/6D00"
]
s1
[
label
=
"s1"
]
;
s1
->
s1
[
label
=
"generateACSecondARQC/6985"
]
s1
->
s1
[
label
=
"generateACSecondTC/6985"
]
s1
->
s1
[
label
=
"generateACFirstAAC/6985"
]
s1
->
s1
[
label
=
"getValidData/9000"
]
s1
->
s1
[
label
=
"getProcessingOptionsInvalid/6985"
]
s1
->
s1
[
label
=
"generateACSecondAAC/6985"
]
s1
->
s1
[
label
=
"generateACFirstTC/6985"
]
s1
->
s1
[
label
=
"getInvalidData/6A88"
]
s1
->
s1
[
label
=
"selectApplication/9000"
]
s1
->
s1
[
label
=
"generateACFirstARQC/6985"
]
s1
->
s1
[
label
=
"readValidRecord/9000"
]
s1
->
s2
[
label
=
"getProcessingOptions/9000"
]
s1
->
s1
[
label
=
"readInvalidRecord/6A82"
]
s1
->
s1
[
label
=
"internalAuthenticate/6985"
]
s2
[
label
=
"s2"
]
;
s2
->
s1
[
label
=
"generateACSecondARQC/6700"
]
s2
->
s1
[
label
=
"generateACSecondTC/6700"
]
s2
->
s3
[
label
=
"generateACFirstAAC/900000"
]
s2
->
s2
[
label
=
"getValidData/9000"
]
s2
->
s1
[
label
=
"getProcessingOptionsInvalid/6985"
]
s2
->
s1
[
label
=
"generateACSecondAAC/6700"
]
s2
->
s4
[
label
=
"generateACFirstTC/900080"
]
s2
->
s1
[
label
=
"getInvalidData/6A88"
]
s2
->
s1
[
label
=
"selectApplication/9000"
]
s2
->
s4
[
label
=
"generateACFirstARQC/900080"
]
s2
->
s2
[
label
=
"readValidRecord/9000"
]
s2
->
s1
[
label
=
"getProcessingOptions/6985"
]
s2
->
s1
[
label
=
"readInvalidRecord/6A82"
]
s2
->
s5
[
label
=
"internalAuthenticate/9000"
]
s3
[
label
=
"s3"
]
;
s3
->
s1
[
label
=
"generateACSecondARQC/6985"
]
s3
->
s1
[
label
=
"generateACSecondTC/6985"
]
s3
->
s1
[
label
=
"generateACFirstAAC/6985"
]
s3
->
s1
[
label
=
"getValidData/6985"
]
s3
->
s1
[
label
=
"getProcessingOptionsInvalid/6985"
]
s3
->
s1
[
label
=
"generateACSecondAAC/6985"
]
s3
->
s1
[
label
=
"generateACFirstTC/6985"
]
s3
->
s1
[
label
=
"getInvalidData/6A88"
]
s3
->
s1
[
label
=
"selectApplication/9000"
]
s3
->
s1
[
label
=
"generateACFirstARQC/6985"
]
s3
->
s1
[
label
=
"readValidRecord/6985"
]
s3
->
s1
[
label
=
"getProcessingOptions/6985"
]
s3
->
s1
[
label
=
"readInvalidRecord/6985"
]
s3
->
s1
[
label
=
"internalAuthenticate/6985"
]
s4
[
label
=
"s4"
]
;
s4
->
s1
[
label
=
"generateACSecondARQC/6A86"
]
s4
->
s3
[
label
=
"generateACSecondTC/900000"
]
s4
->
s1
[
label
=
"generateACFirstAAC/6700"
]
s4
->
s1
[
label
=
"getValidData/6985"
]
s4
->
s1
[
label
=
"getProcessingOptionsInvalid/6985"
]
s4
->
s3
[
label
=
"generateACSecondAAC/900000"
]
s4
->
s1
[
label
=
"generateACFirstTC/6700"
]
s4
->
s1
[
label
=
"getInvalidData/6A88"
]
s4
->
s1
[
label
=
"selectApplication/9000"
]
s4
->
s1
[
label
=
"generateACFirstARQC/6A86"
]
s4
->
s1
[
label
=
"readValidRecord/6985"
]
s4
->
s1
[
label
=
"getProcessingOptions/6985"
]
s4
->
s1
[
label
=
"readInvalidRecord/6985"
]
s4
->
s1
[
label
=
"internalAuthenticate/6985"
]
s5
[
label
=
"s5"
]
;
s5
->
s1
[
label
=
"generateACSecondARQC/6700"
]
s5
->
s1
[
label
=
"generateACSecondTC/6700"
]
s5
->
s3
[
label
=
"generateACFirstAAC/900000"
]
s5
->
s5
[
label
=
"getValidData/9000"
]
s5
->
s1
[
label
=
"getProcessingOptionsInvalid/6985"
]
s5
->
s1
[
label
=
"generateACSecondAAC/6700"
]
s5
->
s4
[
label
=
"generateACFirstTC/900080"
]
s5
->
s1
[
label
=
"getInvalidData/6A88"
]
s5
->
s1
[
label
=
"selectApplication/9000"
]
s5
->
s4
[
label
=
"generateACFirstARQC/900080"
]
s5
->
s5
[
label
=
"readValidRecord/9000"
]
s5
->
s1
[
label
=
"getProcessingOptions/6985"
]
s5
->
s1
[
label
=
"readInvalidRecord/6A82"
]
s5
->
s1
[
label
=
"internalAuthenticate/6985"
]
}
resources/bankcards/PIN.dot
0 → 100644
View file @
b58b7920
digraph
G
{
label
=
""
s0
[
color
=
"red"
]
s1
s2
s3
s4
s5
s0
[
label
=
"s0"
]
;
s0
->
s0
[
label
=
"generateACSecondARQC/6D00"
]
s0
->
s0
[
label
=
"generateACSecondTC/6D00"
]
s0
->
s0
[
label
=
"generateACFirstAAC/6D00"
]
s0
->
s0
[
label
=
"getValidData/6A88"
]
s0
->
s0
[
label
=
"getProcessingOptionsInvalid/6D00"
]
s0
->
s0
[
label
=
"generateACSecondAAC/6D00"
]
s0
->
s0
[
label
=
"generateACFirstTC/6D00"
]
s0
->
s0
[
label
=
"getInvalidData/6A88"
]
s0
->
s1
[
label
=
"selectApplication/9000"
]
s0
->
s0
[
label
=
"generateACFirstARQC/6D00"
]
s0
->
s0
[
label
=
"readValidRecord/6E00"
]
s0
->
s0
[
label
=
"getProcessingOptions/6D00"
]
s0
->
s0
[
label
=
"readInvalidRecord/6E00"
]
s0
->
s0
[
label
=
"internalAuthenticate/6E00"
]
s1
[
label
=
"s1"
]
;
s1
->
s1
[
label
=
"generateACSecondARQC/6985"
]
s1
->
s1
[
label
=
"generateACSecondTC/6985"
]
s1
->
s1
[
label
=
"generateACFirstAAC/6985"
]
s1
->
s1
[
label
=
"getValidData/9000"
]
s1
->
s1
[
label
=
"getProcessingOptionsInvalid/6985"
]
s1
->
s1
[
label
=
"generateACSecondAAC/6985"
]
s1
->
s1
[
label
=
"generateACFirstTC/6985"
]
s1
->
s1
[
label
=
"getInvalidData/6A88"
]
s1
->
s1
[
label
=
"selectApplication/9000"
]
s1
->
s1
[
label
=
"generateACFirstARQC/6985"
]
s1
->
s1
[
label
=
"readValidRecord/9000"
]
s1
->
s2
[
label
=
"getProcessingOptions/9000"
]
s1
->
s1
[
label
=
"readInvalidRecord/6A82"
]
s1
->
s1
[
label
=
"internalAuthenticate/6985"
]
s2
[
label
=
"s2"
]
;
s2
->
s1
[
label
=
"generateACSecondARQC/6700"
]
s2
->
s1
[
label
=
"generateACSecondTC/6700"
]
s2
->
s3
[
label
=
"generateACFirstAAC/900000"
]
s2
->
s2
[
label
=
"getValidData/9000"
]
s2
->
s1
[
label
=
"getProcessingOptionsInvalid/6985"
]
s2
->
s1
[
label
=
"generateACSecondAAC/6700"
]
s2
->
s4
[
label
=
"generateACFirstTC/900080"
]
s2
->
s1
[
label
=
"getInvalidData/6A88"
]
s2
->
s1
[
label
=
"selectApplication/9000"
]
s2
->
s4
[
label
=
"generateACFirstARQC/900080"
]
s2
->
s2
[
label
=
"readValidRecord/9000"
]
s2
->
s1
[
label
=
"getProcessingOptions/6985"
]
s2
->
s1
[
label
=
"readInvalidRecord/6A82"
]
s2
->
s5
[
label
=
"internalAuthenticate/9000"
]
s3
[
label
=
"s3"
]
;
s3
->
s1
[
label
=
"generateACSecondARQC/6985"
]
s3
->
s1
[
label
=
"generateACSecondTC/6985"
]
s3
->
s1
[
label
=
"generateACFirstAAC/6985"
]
s3
->
s1
[
label
=
"getValidData/6985"
]
s3
->
s1
[
label
=
"getProcessingOptionsInvalid/6985"
]
s3
->
s1
[
label
=
"generateACSecondAAC/6985"
]
s3
->
s1
[
label
=
"generateACFirstTC/6985"
]
s3
->
s1
[
label
=
"getInvalidData/6985"
]
s3
->
s1
[
label
=
"selectApplication/9000"
]
s3
->
s1
[
label
=
"generateACFirstARQC/6985"
]
s3
->
s1
[
label
=
"readValidRecord/6985"
]
s3
->
s1
[
label
=
"getProcessingOptions/6985"
]
s3
->
s1
[
label
=
"readInvalidRecord/6985"
]
s3
->
s1
[
label
=
"internalAuthenticate/6985"
]
s4
[
label
=
"s4"
]
;
s4
->
s1
[
label
=
"generateACSecondARQC/6A86"
]
s4
->
s3
[
label
=
"generateACSecondTC/900000"
]
s4
->
s1
[
label
=
"generateACFirstAAC/6700"
]
s4
->
s1
[
label
=
"getValidData/6985"
]
s4
->
s1
[
label
=
"getProcessingOptionsInvalid/6985"
]
s4
->
s3
[
label
=
"generateACSecondAAC/900000"
]
s4
->
s1
[
label
=
"generateACFirstTC/6700"
]
s4
->
s1
[
label
=
"getInvalidData/6985"
]
s4
->
s1
[
label
=
"selectApplication/9000"
]
s4
->
s1
[
label
=
"generateACFirstARQC/6A86"
]
s4
->
s1
[
label
=
"readValidRecord/6985"
]
s4
->
s1
[
label
=
"getProcessingOptions/6985"
]
s4
->
s1
[
label
=
"readInvalidRecord/6985"
]
s4
->
s1
[
label
=
"internalAuthenticate/6985"
]
s5
[
label
=
"s5"
]
;
s5
->
s1
[
label
=
"generateACSecondARQC/6700"
]
s5
->
s1
[
label
=
"generateACSecondTC/6700"
]
s5
->
s3
[
label
=
"generateACFirstAAC/900000"
]
s5
->
s5
[
label
=
"getValidData/9000"
]
s5
->
s1
[
label
=
"getProcessingOptionsInvalid/6985"
]
s5
->
s1
[
label
=
"generateACSecondAAC/6700"
]
s5
->
s4
[
label
=
"generateACFirstTC/900080"
]
s5
->
s1
[
label
=
"getInvalidData/6A88"
]
s5
->
s1
[
label
=
"selectApplication/9000"
]
s5
->
s4
[
label
=
"generateACFirstARQC/900080"
]
s5
->
s5
[
label
=
"readValidRecord/9000"
]
s5
->
s1
[
label
=
"getProcessingOptions/6985"
]
s5
->
s1
[
label
=
"readInvalidRecord/6A82"
]
s5
->
s1
[
label
=
"internalAuthenticate/6985"
]
}
resources/bankcards/SecureCode.dot
0 → 100644
View file @
b58b7920
digraph
G
{
label
=
""
s0
[
color
=
"red"
]
s1
s2
s3
s0
[
label
=
"s0"
]
;
s0
->
s0
[
label
=
"generateACSecondARQC/6D00"
]
s0
->
s0
[
label
=
"generateACSecondTC/6D00"
]
s0
->
s0
[
label
=
"generateACFirstAAC/6D00"
]
s0
->
s0
[
label
=
"getValidData/6A88"
]
s0
->
s0
[
label
=
"getProcessingOptionsInvalid/6D00"
]
s0
->
s0
[
label
=
"generateACSecondAAC/6D00"
]
s0
->
s0
[
label
=
"generateACFirstTC/6D00"
]
s0
->
s0
[
label
=
"getInvalidData/6A88"
]
s0
->
s1
[
label
=
"selectApplication/9000"
]
s0
->
s0
[
label
=
"generateACFirstARQC/6D00"
]
s0
->
s0
[
label
=
"readValidRecord/6E00"
]
s0
->
s0
[
label
=
"getProcessingOptions/6D00"
]
s0
->
s0
[
label
=
"readInvalidRecord/6E00"
]
s0
->
s0
[
label
=
"internalAuthenticate/6E00"
]
s1
[
label
=
"s1"
]
;
s1
->
s1
[
label
=
"generateACSecondARQC/6985"
]
s1
->
s1
[
label
=
"generateACSecondTC/6985"
]
s1
->
s1
[
label
=
"generateACFirstAAC/6985"
]
s1
->
s1
[
label
=
"getValidData/9000"
]
s1
->
s1
[
label
=
"getProcessingOptionsInvalid/6985"
]
s1
->
s1
[
label
=
"generateACSecondAAC/6985"
]
s1
->
s1
[
label
=
"generateACFirstTC/6985"
]
s1
->
s1
[
label
=
"getInvalidData/6A88"
]
s1
->
s1
[
label
=
"selectApplication/9000"
]
s1
->
s1
[
label
=
"generateACFirstARQC/6985"
]
s1
->
s1
[
label
=
"readValidRecord/9000"
]
s1
->
s2
[
label
=
"getProcessingOptions/9000"
]
s1
->
s1
[
label
=
"readInvalidRecord/6A82"
]
s1
->
s1
[
label
=
"internalAuthenticate/6985"
]
s2
[
label
=
"s2"
]
;
s2
->
s1
[
label
=
"generateACSecondARQC/6700"
]
s2
->
s1
[
label
=
"generateACSecondTC/6700"
]
s2
->
s3
[
label
=
"generateACFirstAAC/900000"
]
s2
->
s2
[
label
=
"getValidData/9000"
]
s2
->
s1
[
label
=
"getProcessingOptionsInvalid/6985"
]
s2
->
s1
[
label
=
"generateACSecondAAC/6700"
]
s2
->
s3
[
label
=
"generateACFirstTC/900000"
]
s2
->
s1
[
label
=
"getInvalidData/6A88"
]
s2
->
s1
[
label
=
"selectApplication/9000"
]
s2
->
s3
[
label
=
"generateACFirstARQC/900000"
]
s2
->
s2
[
label
=
"readValidRecord/9000"
]
s2
->
s1
[
label
=
"getProcessingOptions/6985"
]
s2
->
s1
[
label
=
"readInvalidRecord/6A82"
]
s2
->
s1
[
label
=
"internalAuthenticate/6987"
]
s3
[
label
=
"s3"
]
;
s3
->
s1
[
label
=
"generateACSecondARQC/6985"
]
s3
->
s1
[
label
=
"generateACSecondTC/6985"
]
s3
->
s1
[
label
=
"generateACFirstAAC/6985"
]
s3
->
s1
[
label
=
"getValidData/6985"
]
s3
->
s1
[
label
=
"getProcessingOptionsInvalid/6985"
]
s3
->
s1
[
label
=
"generateACSecondAAC/6985"
]
s3
->
s1
[
label
=
"generateACFirstTC/6985"
]
s3
->
s1
[
label
=
"getInvalidData/6985"
]
s3
->
s1
[
label
=
"selectApplication/9000"
]
s3
->
s1
[
label
=
"generateACFirstARQC/6985"
]
s3
->
s1
[
label
=
"readValidRecord/6985"
]
s3
->
s1
[
label
=
"getProcessingOptions/6985"
]
s3
->
s1
[
label
=
"readInvalidRecord/6985"
]
s3
->
s1
[
label
=
"internalAuthenticate/6985"
]
}
resources/bankcards/VISA.dot
0 → 100644
View file @
b58b7920
digraph
G
{
label
=
""
s0
[
color
=
"red"
]
s1
s2
s3
s4
s5
s6
s7
s8
s0
[
label
=
"s0"
]
;
s0
->
s0
[
label
=
"generateACSecondTC/6D00"
]
s0
->
s0
[
label
=
"generateACSecondARQC/6D00"
]
s0
->
s0
[
label
=
"generateACFirstAAC/6D00"
]
s0
->
s0
[
label
=
"getValidData/6A88"
]
s0
->
s0
[
label
=
"getProcessingOptionsInvalid/6D00"
]
s0
->
s0
[
label
=
"generateACSecondAAC/6D00"
]
s0
->
s0
[
label
=
"generateACFirstTC/6D00"
]
s0
->
s0
[
label
=
"getInvalidData/6A88"
]
s0
->
s1
[
label
=
"selectApplication/9000"
]
s0
->
s0
[
label
=
"generateACFirstARQC/6D00"
]
s0
->
s0
[
label
=
"readValidRecord/6D00"
]
s0
->
s0
[
label
=
"getProcessingOptions/6D00"
]
s0
->
s0
[
label
=
"readInvalidRecord/6D00"
]
s0
->
s0
[
label
=
"verifyPINPlaintextCorrect/6D00"
]
s0
->
s0
[
label
=
"internalAuthenticate/6D00"
]
s1
[
label
=
"s1"
]
;
s1
->
s1
[
label
=
"generateACSecondTC/6985"
]
s1
->
s1
[
label
=
"generateACSecondARQC/6985"
]
s1
->
s1
[
label
=
"generateACFirstAAC/6985"
]
s1
->
s1
[
label
=
"getValidData/9000"
]
s1
->
s1
[
label
=
"getProcessingOptionsInvalid/6A80"
]
s1
->
s1
[
label
=
"generateACSecondAAC/6985"
]
s1
->
s1
[
label
=
"generateACFirstTC/6985"
]
s1
->
s1
[
label
=
"getInvalidData/6A81"
]
s1
->
s1
[
label
=
"selectApplication/9000"
]
s1
->
s1
[
label
=
"generateACFirstARQC/6985"
]
s1
->
s1
[
label
=
"readValidRecord/9000"
]
s1
->
s2
[
label
=
"getProcessingOptions/9000"
]
s1
->
s1
[
label
=
"readInvalidRecord/6A83"
]
s1
->
s1
[
label
=
"verifyPINPlaintextCorrect/9000"
]
s1
->
s3
[
label
=
"internalAuthenticate/9000"
]
s2
[
label
=
"s2"
]
;
s2
->
s6
[
label
=
"generateACSecondTC/90008001"
]
s2
->
s6
[
label
=
"generateACSecondARQC/90008001"
]
s2
->
s5
[
label
=
"generateACFirstAAC/90000001"
]
s2
->
s2
[
label
=
"getValidData/9000"
]
s2
->
s2
[
label
=
"getProcessingOptionsInvalid/6985"
]
s2
->
s5
[
label
=
"generateACSecondAAC/9000001"
]
s2
->
s6
[
label
=
"generateACFirstTC/90008001"
]
s2
->
s2
[
label
=
"getInvalidData/6A81"
]
s2
->
s1
[
label
=
"selectApplication/9000"
]
s2
->
s6
[
label
=
"generateACFirstARQC/90008001"
]
s2
->
s2
[
label
=
"readValidRecord/9000"
]
s2
->
s2
[
label
=
"getProcessingOptions/6985"
]
s2
->
s2
[
label
=
"readInvalidRecord/6A83"
]
s2
->
s2
[
label
=
"verifyPINPlaintextCorrect/9000"
]
s2
->
s4
[
label
=
"internalAuthenticate/9000"
]
s3
[
label
=
"s3"
]
;
s3
->
s3
[
label
=
"generateACSecondTC/6985"
]
s3
->
s3
[
label
=
"generateACSecondARQC/6985"
]
s3
->
s3
[
label
=
"generateACFirstAAC/6985"
]
s3
->
s3
[
label
=
"getValidData/9000"
]
s3
->
s3
[
label
=
"getProcessingOptionsInvalid/6A80"
]
s3
->
s3
[
label
=
"generateACSecondAAC/6985"
]
s3
->
s3
[
label
=
"generateACFirstTC/6985"
]
s3
->
s3
[
label
=
"getInvalidData/6A81"
]
s3
->
s1
[
label
=
"selectApplication/9000"
]
s3
->
s3
[
label
=
"generateACFirstARQC/6985"
]
s3
->
s3
[
label
=
"readValidRecord/9000"
]
s3
->
s4
[
label
=
"getProcessingOptions/9000"
]
s3
->
s3
[
label
=
"readInvalidRecord/6A83"
]
s3
->
s3
[
label
=
"verifyPINPlaintextCorrect/9000"
]
s3
->
s3
[
label
=
"internalAuthenticate/6985"
]
s4
[
label
=
"s4"
]
;
s4
->
s8
[
label
=
"generateACSecondTC/90008001"
]
s4
->
s8
[
label
=
"generateACSecondARQC/90008001"
]
s4
->
s7
[
label
=
"generateACFirstAAC/90000001"
]
s4
->
s4
[
label
=
"getValidData/9000"
]
s4
->
s4
[
label
=
"getProcessingOptionsInvalid/6985"
]
s4
->
s7
[
label
=
"generateACSecondAAC/9000001"
]
s4
->
s8
[
label
=
"generateACFirstTC/90008001"
]
s4
->
s4
[
label
=
"getInvalidData/6A81"
]
s4
->
s1
[
label
=
"selectApplication/9000"
]
s4
->
s8
[
label
=
"generateACFirstARQC/90008001"
]
s4
->
s4
[
label
=
"readValidRecord/9000"
]
s4
->
s4
[
label
=
"getProcessingOptions/6985"
]
s4
->
s4
[
label
=
"readInvalidRecord/6A83"
]
s4
->
s4
[
label
=
"verifyPINPlaintextCorrect/9000"
]
s4
->
s4
[
label
=
"internalAuthenticate/6985"
]
s5
[
label
=
"s5"
]
;
s5
->
s5
[
label
=
"generateACSecondTC/6985"
]
s5
->
s5
[
label
=
"generateACSecondARQC/6985"
]
s5
->
s5
[
label
=
"generateACFirstAAC/6985"
]
s5
->
s5
[
label
=
"getValidData/9000"
]
s5
->
s5
[
label
=
"getProcessingOptionsInvalid/6985"
]
s5
->
s5
[
label
=
"generateACSecondAAC/6985"
]
s5
->
s5
[
label
=
"generateACFirstTC/6985"
]
s5
->
s5
[
label
=
"getInvalidData/6A81"
]
s5
->
s1
[
label
=
"selectApplication/9000"
]
s5
->
s5
[
label
=
"generateACFirstARQC/6985"
]
s5
->
s5
[
label
=
"readValidRecord/9000"
]
s5
->
s5
[
label
=
"getProcessingOptions/6985"
]
s5
->
s5
[
label
=
"readInvalidRecord/6A83"
]
s5
->
s5
[
label
=
"verifyPINPlaintextCorrect/9000"
]
s5
->
s7
[
label
=
"internalAuthenticate/9000"
]
s6
[
label
=
"s6"
]
;
s6
->
s5
[
label
=
"generateACSecondTC/90000001"
]
s6
->
s6
[
label
=
"generateACSecondARQC/6A86"
]
s6
->
s5
[
label
=
"generateACFirstAAC/90000001"
]
s6
->
s6
[
label
=
"getValidData/9000"
]
s6
->
s6
[
label
=
"getProcessingOptionsInvalid/6985"
]
s6
->
s5
[
label
=
"generateACSecondAAC/9000001"
]
s6
->
s5
[
label
=
"generateACFirstTC/90000001"
]
s6
->
s6
[
label
=
"getInvalidData/6A81"
]
s6
->
s1
[
label
=
"selectApplication/9000"
]
s6
->
s6
[
label
=
"generateACFirstARQC/6A86"
]
s6
->
s6
[
label
=
"readValidRecord/9000"
]
s6
->
s6
[
label
=
"getProcessingOptions/6985"
]
s6
->
s6
[
label
=
"readInvalidRecord/6A83"
]
s6
->
s6
[
label
=
"verifyPINPlaintextCorrect/9000"
]
s6
->
s8
[
label
=
"internalAuthenticate/9000"
]
s7
[
label
=
"s7"
]
;
s7
->
s7
[
label
=
"generateACSecondTC/6985"
]
s7
->
s7
[
label
=
"generateACSecondARQC/6985"
]
s7
->
s7
[
label
=
"generateACFirstAAC/6985"
]
s7
->
s7
[
label
=
"getValidData/9000"
]
s7
->
s7
[
label
=
"getProcessingOptionsInvalid/6985"
]
s7
->
s7
[
label
=
"generateACSecondAAC/6985"
]
s7
->
s7
[
label
=
"generateACFirstTC/6985"
]
s7
->
s7
[
label
=
"getInvalidData/6A81"
]
s7
->
s1
[
label
=
"selectApplication/9000"
]
s7
->
s7
[
label
=
"generateACFirstARQC/6985"
]
s7
->
s7
[
label
=
"readValidRecord/9000"
]
s7
->
s7
[
label
=
"getProcessingOptions/6985"
]
s7
->
s7
[
label
=
"readInvalidRecord/6A83"
]
s7
->
s7
[
label
=
"verifyPINPlaintextCorrect/9000"
]
s7
->
s7
[
label
=
"internalAuthenticate/6985"
]
s8
[
label
=
"s8"
]
;
s8
->
s7
[
label
=
"generateACSecondTC/90000001"
]