About the Execution of ITS-Tools for Angiogenesis-PT-15
Execution Summary | |||||
Max Memory Used (MB) |
Time wait (ms) | CPU Usage (ms) | I/O Wait (ms) | Computed Result | Execution Status |
548.550 | 14830.00 | 29618.00 | 114.40 | FFFFFFFFFFFFFFFF | normal |
Execution Chart
We display below the execution chart for this examination (boot time has been removed).
Trace from the execution
Waiting for the VM to be ready (probing ssh)
.......
=====================================================================
Generated by BenchKit 2-3254
Executing tool itstools
Input is Angiogenesis-PT-15, examination is LTLFireability
Time confinement is 3600 seconds
Memory confinement is 16384 MBytes
Number of cores is 4
Run identifier is r010-csrt-149436129300123
=====================================================================
--------------------
content from stdout:
=== Data for post analysis generated by BenchKit (invocation template)
The expected result is a vector of booleans
BOOL_VECTOR
here is the order used to build the result vector(from text file)
FORMULA_NAME Angiogenesis-PT-15-LTLFireability-0
FORMULA_NAME Angiogenesis-PT-15-LTLFireability-1
FORMULA_NAME Angiogenesis-PT-15-LTLFireability-10
FORMULA_NAME Angiogenesis-PT-15-LTLFireability-11
FORMULA_NAME Angiogenesis-PT-15-LTLFireability-12
FORMULA_NAME Angiogenesis-PT-15-LTLFireability-13
FORMULA_NAME Angiogenesis-PT-15-LTLFireability-14
FORMULA_NAME Angiogenesis-PT-15-LTLFireability-15
FORMULA_NAME Angiogenesis-PT-15-LTLFireability-2
FORMULA_NAME Angiogenesis-PT-15-LTLFireability-3
FORMULA_NAME Angiogenesis-PT-15-LTLFireability-4
FORMULA_NAME Angiogenesis-PT-15-LTLFireability-5
FORMULA_NAME Angiogenesis-PT-15-LTLFireability-6
FORMULA_NAME Angiogenesis-PT-15-LTLFireability-7
FORMULA_NAME Angiogenesis-PT-15-LTLFireability-8
FORMULA_NAME Angiogenesis-PT-15-LTLFireability-9
=== Now, execution of the tool begins
BK_START 1496247176546
Using solver YICES2 to compute partial order matrices.
Built C files in :
/home/mcc/execution
its-ltl command run as :
/home/mcc/BenchKit/eclipse/plugins/fr.lip6.move.gal.itstools.binaries_1.0.0.201705302212/bin/its-ltl-linux64 --gc-threshold 2000000 -i /home/mcc/execution/LTLFireability.pnml.gal -t CGAL -LTL /home/mcc/execution/LTLFireability.ltl -c -stutter-deadlock
Read 16 LTL properties
Checking formula 0 : !((X(("KdStarPgStarP2>=1")U(X(X(("KdStarGStarPgStarP3>=1")&&("Pip2>=1")))))))
Formula 0 simplified : !X("KdStarPgStarP2>=1" U XX("KdStarGStarPgStarP3>=1" & "Pip2>=1"))
Presburger conditions satisfied. Using coverability to approximate state space in K-Induction.
// Phase 1: matrix 64 rows 39 cols
invariant : 1'GStarP3kP3 + 1'KdStarGStarP3k + 1'KdStarGStarP3kP3 + 1'KdStarGStarP3kStar + 1'KdStarGStarP3kStarP2 + 1'KdStarGStarP3kStarP3 + 1'KdStarGStarP3kStarP3P2 + 1'P3k= 15
invariant : 1'GStarPgP3 + -1'KdStar + -1'KdStarG + -1'KdStarGP3 + -1'KdStarGStar + -1'KdStarGStarP3 + -1'KdStarGStarP3k + -1'KdStarGStarP3kP3 + -1'KdStarGStarP3kStar + -1'KdStarGStarP3kStarP2 + -1'KdStarGStarP3kStarP3 + -1'KdStarGStarP3kStarP3P2 + 1'Pg= 0
invariant : -1'AktP3 + -1'DAG + -1'DAGE + 1'Gab1 + 1'KdStar + 2'KdStarG + 1'KdStarGP3 + 2'KdStarGStar + 1'KdStarGStarP3 + 2'KdStarGStarP3k + 1'KdStarGStarP3kP3 + 2'KdStarGStarP3kStar + 1'KdStarGStarP3kStarP2 + 1'KdStarGStarP3kStarP3 + 2'KdStarGStarPg + 1'KdStarGStarPgP3 + 2'KdStarGStarPgStar + 1'KdStarGStarPgStarP2 + 1'KdStarGStarPgStarP3 + 1'KdStarPg + 1'KdStarPgStar + -1'Pip2 + -1'Pip3 + 2'Pten + 1'PtP2 + 1'PtP3= 45
invariant : 1'Akt + 1'AktP3 + 1'AktStar= 15
invariant : 1'DAGE + 1'Enz= 15
invariant : -1'Gab1 + -1'GP3 + -1'GStarP3 + -1'GStarP3kP3 + -1'GStarPgP3 + 1'KdStar + 1'KdStarPg + 1'KdStarPgStar + 1'KdStarPgStarP2= 0
invariant : 1'AktP3 + 1'DAG + 1'DAGE + -1'Gab1 + -1'KdStar + -2'KdStarG + -1'KdStarGP3 + -2'KdStarGStar + -1'KdStarGStarP3 + -2'KdStarGStarP3k + -1'KdStarGStarP3kP3 + -2'KdStarGStarP3kStar + -1'KdStarGStarP3kStarP2 + -1'KdStarGStarP3kStarP3 + -2'KdStarGStarPg + -1'KdStarGStarPgP3 + -2'KdStarGStarPgStar + -1'KdStarGStarPgStarP2 + -1'KdStarGStarPgStarP3 + -1'KdStarPg + -1'KdStarPgStar + 1'Pip2 + 1'Pip3 + -1'Pten + 1'PtP3P2= -30
invariant : 1'Gab1 + 1'GP3 + 1'GStarP3 + 1'GStarP3kP3 + 1'GStarPgP3 + 1'KdStarG + 1'KdStarGP3 + 1'KdStarGStar + 1'KdStarGStarP3 + 1'KdStarGStarP3k + 1'KdStarGStarP3kP3 + 1'KdStarGStarP3kStar + 1'KdStarGStarP3kStarP2 + 1'KdStarGStarP3kStarP3 + 1'KdStarGStarP3kStarP3P2 + 1'KdStarGStarPg + 1'KdStarGStarPgP3 + 1'KdStarGStarPgStar + 1'KdStarGStarPgStarP2 + 1'KdStarGStarPgStarP3 + 1'KdStarGStarPgStarP3P2= 15
Running compilation step : CommandLine [args=[gcc, -c, -I/home/mcc/BenchKit//lts_install_dir//include, -I., -std=c99, -fPIC, -O3, model.c], workingDir=/home/mcc/execution]
Exit code :0
Running link step : CommandLine [args=[gcc, -shared, -o, gal.so, model.o], workingDir=/home/mcc/execution]
Exit code :0
Exit code :1
FORMULA Angiogenesis-PT-15-LTLFireability-0 FALSE TECHNIQUES PARTIAL_ORDER EXPLICIT LTSMIN SAT_SMT
Exit code :1
FORMULA Angiogenesis-PT-15-LTLFireability-1 FALSE TECHNIQUES PARTIAL_ORDER EXPLICIT LTSMIN SAT_SMT
Exit code :1
FORMULA Angiogenesis-PT-15-LTLFireability-2 FALSE TECHNIQUES PARTIAL_ORDER EXPLICIT LTSMIN SAT_SMT
Exit code :1
FORMULA Angiogenesis-PT-15-LTLFireability-3 FALSE TECHNIQUES PARTIAL_ORDER EXPLICIT LTSMIN SAT_SMT
Exit code :1
FORMULA Angiogenesis-PT-15-LTLFireability-4 FALSE TECHNIQUES PARTIAL_ORDER EXPLICIT LTSMIN SAT_SMT
Exit code :1
FORMULA Angiogenesis-PT-15-LTLFireability-5 FALSE TECHNIQUES PARTIAL_ORDER EXPLICIT LTSMIN SAT_SMT
Exit code :1
FORMULA Angiogenesis-PT-15-LTLFireability-6 FALSE TECHNIQUES PARTIAL_ORDER EXPLICIT LTSMIN SAT_SMT
Exit code :1
FORMULA Angiogenesis-PT-15-LTLFireability-7 FALSE TECHNIQUES PARTIAL_ORDER EXPLICIT LTSMIN SAT_SMT
Exit code :1
FORMULA Angiogenesis-PT-15-LTLFireability-8 FALSE TECHNIQUES PARTIAL_ORDER EXPLICIT LTSMIN SAT_SMT
Exit code :1
FORMULA Angiogenesis-PT-15-LTLFireability-9 FALSE TECHNIQUES PARTIAL_ORDER EXPLICIT LTSMIN SAT_SMT
Exit code :1
FORMULA Angiogenesis-PT-15-LTLFireability-10 FALSE TECHNIQUES PARTIAL_ORDER EXPLICIT LTSMIN SAT_SMT
Exit code :1
FORMULA Angiogenesis-PT-15-LTLFireability-11 FALSE TECHNIQUES PARTIAL_ORDER EXPLICIT LTSMIN SAT_SMT
Exit code :1
FORMULA Angiogenesis-PT-15-LTLFireability-12 FALSE TECHNIQUES PARTIAL_ORDER EXPLICIT LTSMIN SAT_SMT
Exit code :1
FORMULA Angiogenesis-PT-15-LTLFireability-13 FALSE TECHNIQUES PARTIAL_ORDER EXPLICIT LTSMIN SAT_SMT
Exit code :1
FORMULA Angiogenesis-PT-15-LTLFireability-14 FALSE TECHNIQUES PARTIAL_ORDER EXPLICIT LTSMIN SAT_SMT
Exit code :1
FORMULA Angiogenesis-PT-15-LTLFireability-15 FALSE TECHNIQUES PARTIAL_ORDER EXPLICIT LTSMIN SAT_SMT
Detected timeout of ITS tools.
BK_STOP 1496247191376
--------------------
content from stderr:
+ export BINDIR=/home/mcc/BenchKit/
+ BINDIR=/home/mcc/BenchKit/
++ pwd
+ export MODEL=/home/mcc/execution
+ MODEL=/home/mcc/execution
+ [[ LTLFireability = StateSpace ]]
+ /home/mcc/BenchKit//runeclipse.sh /home/mcc/execution LTLFireability -its -ltsminpath /home/mcc/BenchKit//lts_install_dir/ -smt
+ ulimit -s 65536
+ java -Dosgi.requiredJavaVersion=1.6 -Xss8m -Xms40m -Xmx8192m -Declipse.pde.launch=true -Dfile.encoding=UTF-8 -classpath /home/mcc/BenchKit//eclipse/plugins/org.eclipse.equinox.launcher_1.3.201.v20161025-1711.jar org.eclipse.equinox.launcher.Main -application fr.lip6.move.gal.application.pnmcc -data /home/mcc/BenchKit//workspace -os linux -ws gtk -arch x86_64 -nl en_US -consoleLog -pnfolder /home/mcc/execution -examination LTLFireability -yices2path /home/mcc/BenchKit//yices/bin/yices -its -ltsminpath /home/mcc/BenchKit//lts_install_dir/ -smt
May 31, 2017 4:12:58 PM fr.lip6.move.gal.application.MccTranslator transformPNML
INFO: Parsing pnml file : /home/mcc/execution/model.pnml
May 31, 2017 4:12:58 PM fr.lip6.move.gal.nupn.PTNetReader loadFromXML
INFO: Load time of PNML (sax parser for PT used): 47 ms
May 31, 2017 4:12:58 PM fr.lip6.move.gal.pnml.togal.PTGALTransformer handlePage
INFO: Transformed 39 places.
May 31, 2017 4:12:58 PM fr.lip6.move.gal.pnml.togal.PTGALTransformer handlePage
INFO: Transformed 64 transitions.
May 31, 2017 4:12:58 PM fr.lip6.move.gal.instantiate.GALRewriter flatten
INFO: Flatten gal took : 33 ms
May 31, 2017 4:12:58 PM fr.lip6.move.serialization.SerializationUtil systemToFile
INFO: Time to serialize gal into /home/mcc/execution/LTLFireability.pnml.gal : 8 ms
May 31, 2017 4:12:58 PM fr.lip6.move.serialization.SerializationUtil serializePropertiesForITSLTLTools
INFO: Time to serialize properties into /home/mcc/execution/LTLFireability.ltl : 0 ms
May 31, 2017 4:12:58 PM fr.lip6.move.gal.gal2smt.bmc.KInductionSolver computeAndDeclareInvariants
INFO: Computed 8 place invariants in 19 ms
May 31, 2017 4:12:58 PM fr.lip6.move.gal.gal2smt.bmc.KInductionSolver init
INFO: Proved 39 variables to be positive in 78 ms
May 31, 2017 4:12:58 PM fr.lip6.move.gal.gal2smt.bmc.NecessaryEnablingsolver computeAblingMatrix
INFO: Computing symmetric may disable matrix : 64 transitions.
May 31, 2017 4:12:58 PM fr.lip6.move.gal.gal2smt.bmc.NecessaryEnablingsolver printStats
INFO: Computation of Completed :0/64 took 18 ms. Total solver calls (SAT/UNSAT): 16(8/8)
May 31, 2017 4:12:59 PM fr.lip6.move.gal.gal2smt.bmc.NecessaryEnablingsolver printStats
INFO: Computation of Complete disable matrix. took 363 ms. Total solver calls (SAT/UNSAT): 506(230/276)
May 31, 2017 4:12:59 PM fr.lip6.move.gal.gal2smt.bmc.NecessaryEnablingsolver computeAblingMatrix
INFO: Computing symmetric may enable matrix : 64 transitions.
May 31, 2017 4:12:59 PM fr.lip6.move.gal.gal2smt.bmc.NecessaryEnablingsolver printStats
INFO: Computation of Complete enable matrix. took 219 ms. Total solver calls (SAT/UNSAT): 506(258/248)
May 31, 2017 4:12:59 PM fr.lip6.move.gal.gal2smt.bmc.NecessaryEnablingsolver computeCoEnablingMatrix
INFO: Computing symmetric co enabling matrix : 64 transitions.
May 31, 2017 4:13:00 PM fr.lip6.move.gal.gal2smt.bmc.NecessaryEnablingsolver printStats
INFO: Computation of Finished enabling matrix. took 857 ms. Total solver calls (SAT/UNSAT): 2080(2080/0)
May 31, 2017 4:13:00 PM fr.lip6.move.gal.gal2smt.bmc.NecessaryEnablingsolver computeDoNotAccord
INFO: Computing Do-Not-Accords matrix : 64 transitions.
May 31, 2017 4:13:09 PM fr.lip6.move.gal.gal2smt.bmc.NecessaryEnablingsolver printStats
INFO: Computation of Completed DNA matrix. took 9307 ms. Total solver calls (SAT/UNSAT): 375(0/375)
May 31, 2017 4:13:09 PM fr.lip6.move.gal.gal2pins.Gal2PinsTransformerNext transform
INFO: Built C files in 10988ms conformant to PINS in folder :/home/mcc/execution
May 31, 2017 4:13:10 PM fr.lip6.move.gal.itstools.Runner runTool
INFO: Standard error output from running tool CommandLine [args=[/home/mcc/BenchKit//lts_install_dir//bin/pins2lts-seq, ./gal.so, --when, --ltl, X(((LTLAP0==true))U(X(X((LTLAP1==true)))))], workingDir=/home/mcc/execution]
pins2lts-seq, 0.000: Registering PINS so language module
pins2lts-seq, 0.001: Loading model from ./gal.so
pins2lts-seq, 0.001: library has no initializer
pins2lts-seq, 0.001: loading model GAL
pins2lts-seq, 0.002: completed loading model GAL
pins2lts-seq, 0.002: LTL layer: formula: X(((LTLAP0==true))U(X(X((LTLAP1==true)))))
pins2lts-seq, 0.002: Expression is: (X ((LTLAP0 == true ) U (X (X (LTLAP1 == true )))))
pins2lts-seq, 0.003: buchi has 8 states
pins2lts-seq, 0.003: state 0: accepting
pins2lts-seq, 0.003: -> 1, | true
pins2lts-seq, 0.003: state 1: accepting
pins2lts-seq, 0.003: -> 2, | true
pins2lts-seq, 0.003: -> 7, | !(LTLAP0 == true )
pins2lts-seq, 0.003: state 2: accepting
pins2lts-seq, 0.003: -> 3, | true
pins2lts-seq, 0.003: -> 4, | !(LTLAP0 == true )
pins2lts-seq, 0.003: state 3: accepting
pins2lts-seq, 0.003: -> 3, | !(LTLAP1 == true )
pins2lts-seq, 0.003: -> 4, | !(LTLAP1 == true ) && !(LTLAP0 == true )
pins2lts-seq, 0.003: state 4: accepting
pins2lts-seq, 0.003: -> 5, | !(LTLAP1 == true )
pins2lts-seq, 0.003: state 5: accepting
pins2lts-seq, 0.003: -> 6, | !(LTLAP1 == true )
pins2lts-seq, 0.003: state 6: accepting
pins2lts-seq, 0.003: -> 6, | true
pins2lts-seq, 0.003: state 7: accepting
pins2lts-seq, 0.003: -> 5, | true
pins2lts-seq, 0.004: There are 80 state labels and 1 edge labels
pins2lts-seq, 0.004: State length is 40, there are 75 groups
pins2lts-seq, 0.004: Running scc search strategy
pins2lts-seq, 0.004: Using a tree for state storage
pins2lts-seq, 0.005: accepting cycle found!
pins2lts-seq, 0.005: exiting now
May 31, 2017 4:13:10 PM fr.lip6.move.gal.itstools.Runner runTool
INFO: Standard error output from running tool CommandLine [args=[/home/mcc/BenchKit//lts_install_dir//bin/pins2lts-seq, ./gal.so, -p, --pins-guards, --when, --ltl, (LTLAP2==true)], workingDir=/home/mcc/execution]
pins2lts-seq, 0.000: Registering PINS so language module
pins2lts-seq, 0.000: Loading model from ./gal.so
pins2lts-seq, 0.000: library has no initializer
pins2lts-seq, 0.000: loading model GAL
pins2lts-seq, 0.000: completed loading model GAL
pins2lts-seq, 0.000: Initializing POR dependencies: labels 79, guards 64
pins2lts-seq, 0.003: LTL layer: formula: (LTLAP2==true)
pins2lts-seq, 0.004: Expression is: (LTLAP2 == true )
pins2lts-seq, 0.004: buchi has 2 states
pins2lts-seq, 0.004: state 0: accepting
pins2lts-seq, 0.004: -> 1, | !(LTLAP2 == true )
pins2lts-seq, 0.004: state 1: accepting
pins2lts-seq, 0.004: -> 1, | true
pins2lts-seq, 0.004: Forcing the use of a cycle proviso. For best results use --proviso=color.
pins2lts-seq, 0.004: There are 80 state labels and 1 edge labels
pins2lts-seq, 0.004: State length is 40, there are 66 groups
pins2lts-seq, 0.004: Running scc search strategy
pins2lts-seq, 0.004: Using a tree for state storage
pins2lts-seq, 0.004: Visible groups: 0 / 66, labels: 1 / 80
pins2lts-seq, 0.004: POR cycle proviso: stack (ltl)
pins2lts-seq, 0.006: accepting cycle found!
pins2lts-seq, 0.006: exiting now
May 31, 2017 4:13:10 PM fr.lip6.move.gal.itstools.Runner runTool
INFO: Standard error output from running tool CommandLine [args=[/home/mcc/BenchKit//lts_install_dir//bin/pins2lts-seq, ./gal.so, --when, --ltl, X((LTLAP3==true))], workingDir=/home/mcc/execution]
pins2lts-seq, 0.000: Registering PINS so language module
pins2lts-seq, 0.000: Loading model from ./gal.so
pins2lts-seq, 0.000: library has no initializer
pins2lts-seq, 0.000: loading model GAL
pins2lts-seq, 0.000: completed loading model GAL
pins2lts-seq, 0.000: LTL layer: formula: X((LTLAP3==true))
pins2lts-seq, 0.000: Expression is: (X (LTLAP3 == true ))
pins2lts-seq, 0.000: buchi has 3 states
pins2lts-seq, 0.000: state 0: accepting
pins2lts-seq, 0.000: -> 1, | true
pins2lts-seq, 0.000: state 1: accepting
pins2lts-seq, 0.000: -> 2, | !(LTLAP3 == true )
pins2lts-seq, 0.000: state 2: accepting
pins2lts-seq, 0.000: -> 2, | true
pins2lts-seq, 0.001: There are 80 state labels and 1 edge labels
pins2lts-seq, 0.001: State length is 40, there are 67 groups
pins2lts-seq, 0.001: Running scc search strategy
pins2lts-seq, 0.001: Using a tree for state storage
pins2lts-seq, 0.002: accepting cycle found!
pins2lts-seq, 0.002: exiting now
May 31, 2017 4:13:10 PM fr.lip6.move.gal.itstools.Runner runTool
INFO: Standard error output from running tool CommandLine [args=[/home/mcc/BenchKit//lts_install_dir//bin/pins2lts-seq, ./gal.so, --when, --ltl, [](<>(<>(<>(X((LTLAP2==true))))))], workingDir=/home/mcc/execution]
pins2lts-seq, 0.000: Registering PINS so language module
pins2lts-seq, 0.000: Loading model from ./gal.so
pins2lts-seq, 0.000: library has no initializer
pins2lts-seq, 0.000: loading model GAL
pins2lts-seq, 0.000: completed loading model GAL
pins2lts-seq, 0.000: LTL layer: formula: [](<>(<>(<>(X((LTLAP2==true))))))
pins2lts-seq, 0.000: Expression is: ([] (<> (<> (<> (X (LTLAP2 == true ))))))
pins2lts-seq, 0.000: buchi has 2 states
pins2lts-seq, 0.000: state 0: non-accepting
pins2lts-seq, 0.000: -> 0, | true
pins2lts-seq, 0.000: -> 1, | !(LTLAP2 == true )
pins2lts-seq, 0.000: state 1: accepting
pins2lts-seq, 0.000: -> 1, | !(LTLAP2 == true )
pins2lts-seq, 0.000: There are 80 state labels and 1 edge labels
pins2lts-seq, 0.000: State length is 40, there are 67 groups
pins2lts-seq, 0.000: Running scc search strategy
pins2lts-seq, 0.000: Using a tree for state storage
pins2lts-seq, 0.001: accepting cycle found!
pins2lts-seq, 0.001: exiting now
May 31, 2017 4:13:10 PM fr.lip6.move.gal.itstools.Runner runTool
INFO: Standard error output from running tool CommandLine [args=[/home/mcc/BenchKit//lts_install_dir//bin/pins2lts-seq, ./gal.so, -p, --pins-guards, --when, --ltl, []([]([]([](<>((LTLAP4==true))))))], workingDir=/home/mcc/execution]
pins2lts-seq, 0.000: Registering PINS so language module
pins2lts-seq, 0.000: Loading model from ./gal.so
pins2lts-seq, 0.000: library has no initializer
pins2lts-seq, 0.000: loading model GAL
pins2lts-seq, 0.000: completed loading model GAL
pins2lts-seq, 0.000: Initializing POR dependencies: labels 79, guards 64
pins2lts-seq, 0.001: LTL layer: formula: []([]([]([](<>((LTLAP4==true))))))
pins2lts-seq, 0.002: Expression is: ([] ([] ([] ([] (<> (LTLAP4 == true ))))))
pins2lts-seq, 0.002: buchi has 2 states
pins2lts-seq, 0.002: state 0: non-accepting
pins2lts-seq, 0.002: -> 0, | true
pins2lts-seq, 0.002: -> 1, | !(LTLAP4 == true )
pins2lts-seq, 0.002: state 1: accepting
pins2lts-seq, 0.002: -> 1, | !(LTLAP4 == true )
pins2lts-seq, 0.002: Forcing the use of a cycle proviso. For best results use --proviso=color.
pins2lts-seq, 0.002: There are 80 state labels and 1 edge labels
pins2lts-seq, 0.002: State length is 40, there are 67 groups
pins2lts-seq, 0.002: Running scc search strategy
pins2lts-seq, 0.002: Using a tree for state storage
pins2lts-seq, 0.002: Visible groups: 337 / 67, labels: 1 / 80
pins2lts-seq, 0.002: POR cycle proviso: stack (ltl)
pins2lts-seq, 0.003: accepting cycle found!
pins2lts-seq, 0.003: exiting now
May 31, 2017 4:13:10 PM fr.lip6.move.gal.itstools.Runner runTool
INFO: Standard error output from running tool CommandLine [args=[/home/mcc/BenchKit//lts_install_dir//bin/pins2lts-seq, ./gal.so, -p, --pins-guards, --when, --ltl, [](<>([](((LTLAP5==true))U((LTLAP6==true)))))], workingDir=/home/mcc/execution]
pins2lts-seq, 0.000: Registering PINS so language module
pins2lts-seq, 0.000: Loading model from ./gal.so
pins2lts-seq, 0.000: library has no initializer
pins2lts-seq, 0.000: loading model GAL
pins2lts-seq, 0.000: completed loading model GAL
pins2lts-seq, 0.000: Initializing POR dependencies: labels 79, guards 64
pins2lts-seq, 0.001: LTL layer: formula: [](<>([](((LTLAP5==true))U((LTLAP6==true)))))
pins2lts-seq, 0.002: Expression is: ([] (<> ([] ((LTLAP5 == true ) U (LTLAP6 == true )))))
pins2lts-seq, 0.002: buchi has 3 states
pins2lts-seq, 0.002: state 0: non-accepting
pins2lts-seq, 0.002: -> 1, | !(LTLAP6 == true )
pins2lts-seq, 0.002: -> 2, | !(LTLAP6 == true ) && !(LTLAP5 == true )
pins2lts-seq, 0.002: -> 0, | true
pins2lts-seq, 0.002: state 1: accepting
pins2lts-seq, 0.002: -> 1, | !(LTLAP6 == true )
pins2lts-seq, 0.002: -> 2, | !(LTLAP6 == true ) && !(LTLAP5 == true )
pins2lts-seq, 0.002: state 2: accepting
pins2lts-seq, 0.002: -> 1, | !(LTLAP6 == true )
pins2lts-seq, 0.002: -> 2, | !(LTLAP6 == true ) && !(LTLAP5 == true )
pins2lts-seq, 0.002: -> 0, | true
pins2lts-seq, 0.002: Forcing the use of a cycle proviso. For best results use --proviso=color.
pins2lts-seq, 0.002: There are 80 state labels and 1 edge labels
pins2lts-seq, 0.002: State length is 40, there are 72 groups
pins2lts-seq, 0.002: Running scc search strategy
pins2lts-seq, 0.002: Using a tree for state storage
pins2lts-seq, 0.002: Visible groups: 337 / 72, labels: 2 / 80
pins2lts-seq, 0.002: POR cycle proviso: stack (ltl)
pins2lts-seq, 0.003: accepting cycle found!
pins2lts-seq, 0.003: exiting now
May 31, 2017 4:13:10 PM fr.lip6.move.gal.itstools.Runner runTool
INFO: Standard error output from running tool CommandLine [args=[/home/mcc/BenchKit//lts_install_dir//bin/pins2lts-seq, ./gal.so, -p, --pins-guards, --when, --ltl, (LTLAP7==true)], workingDir=/home/mcc/execution]
pins2lts-seq, 0.000: Registering PINS so language module
pins2lts-seq, 0.000: Loading model from ./gal.so
pins2lts-seq, 0.000: library has no initializer
pins2lts-seq, 0.000: loading model GAL
pins2lts-seq, 0.000: completed loading model GAL
pins2lts-seq, 0.000: Initializing POR dependencies: labels 79, guards 64
pins2lts-seq, 0.001: LTL layer: formula: (LTLAP7==true)
pins2lts-seq, 0.001: Expression is: (LTLAP7 == true )
pins2lts-seq, 0.002: buchi has 2 states
pins2lts-seq, 0.002: state 0: accepting
pins2lts-seq, 0.002: -> 1, | !(LTLAP7 == true )
pins2lts-seq, 0.002: state 1: accepting
pins2lts-seq, 0.002: -> 1, | true
pins2lts-seq, 0.002: Forcing the use of a cycle proviso. For best results use --proviso=color.
pins2lts-seq, 0.002: There are 80 state labels and 1 edge labels
pins2lts-seq, 0.002: State length is 40, there are 66 groups
pins2lts-seq, 0.002: Running scc search strategy
pins2lts-seq, 0.002: Using a tree for state storage
pins2lts-seq, 0.002: Visible groups: 0 / 66, labels: 1 / 80
pins2lts-seq, 0.002: POR cycle proviso: stack (ltl)
pins2lts-seq, 0.003: accepting cycle found!
pins2lts-seq, 0.003: exiting now
May 31, 2017 4:13:10 PM fr.lip6.move.gal.itstools.Runner runTool
INFO: Standard error output from running tool CommandLine [args=[/home/mcc/BenchKit//lts_install_dir//bin/pins2lts-seq, ./gal.so, --when, --ltl, X((LTLAP8==true))], workingDir=/home/mcc/execution]
pins2lts-seq, 0.000: Registering PINS so language module
pins2lts-seq, 0.000: Loading model from ./gal.so
pins2lts-seq, 0.000: library has no initializer
pins2lts-seq, 0.000: loading model GAL
pins2lts-seq, 0.000: completed loading model GAL
pins2lts-seq, 0.000: LTL layer: formula: X((LTLAP8==true))
pins2lts-seq, 0.000: Expression is: (X (LTLAP8 == true ))
pins2lts-seq, 0.000: buchi has 3 states
pins2lts-seq, 0.000: state 0: accepting
pins2lts-seq, 0.000: -> 1, | true
pins2lts-seq, 0.000: state 1: accepting
pins2lts-seq, 0.000: -> 2, | !(LTLAP8 == true )
pins2lts-seq, 0.000: state 2: accepting
pins2lts-seq, 0.001: -> 2, | true
pins2lts-seq, 0.001: There are 80 state labels and 1 edge labels
pins2lts-seq, 0.001: State length is 40, there are 67 groups
pins2lts-seq, 0.001: Running scc search strategy
pins2lts-seq, 0.001: Using a tree for state storage
pins2lts-seq, 0.003: accepting cycle found!
pins2lts-seq, 0.003: exiting now
May 31, 2017 4:13:10 PM fr.lip6.move.gal.itstools.Runner runTool
INFO: Standard error output from running tool CommandLine [args=[/home/mcc/BenchKit//lts_install_dir//bin/pins2lts-seq, ./gal.so, --when, --ltl, X([]((<>((LTLAP5==true)))U((LTLAP9==true))))], workingDir=/home/mcc/execution]
pins2lts-seq, 0.000: Registering PINS so language module
pins2lts-seq, 0.000: Loading model from ./gal.so
pins2lts-seq, 0.000: library has no initializer
pins2lts-seq, 0.000: loading model GAL
pins2lts-seq, 0.000: completed loading model GAL
pins2lts-seq, 0.000: LTL layer: formula: X([]((<>((LTLAP5==true)))U((LTLAP9==true))))
pins2lts-seq, 0.000: Expression is: (X ([] ((<> (LTLAP5 == true )) U (LTLAP9 == true ))))
pins2lts-seq, 0.000: buchi has 4 states
pins2lts-seq, 0.000: state 0: non-accepting
pins2lts-seq, 0.000: -> 1, | true
pins2lts-seq, 0.000: state 1: non-accepting
pins2lts-seq, 0.000: -> 1, | true
pins2lts-seq, 0.000: -> 2, | !(LTLAP9 == true ) && !(LTLAP5 == true )
pins2lts-seq, 0.000: -> 3, | !(LTLAP9 == true )
pins2lts-seq, 0.000: state 2: accepting
pins2lts-seq, 0.000: -> 2, | !(LTLAP5 == true )
pins2lts-seq, 0.000: state 3: accepting
pins2lts-seq, 0.000: -> 3, | !(LTLAP9 == true )
pins2lts-seq, 0.000: -> 2, | !(LTLAP9 == true ) && !(LTLAP5 == true )
pins2lts-seq, 0.001: There are 80 state labels and 1 edge labels
pins2lts-seq, 0.001: State length is 40, there are 71 groups
pins2lts-seq, 0.001: Running scc search strategy
pins2lts-seq, 0.001: Using a tree for state storage
pins2lts-seq, 0.002: accepting cycle found!
pins2lts-seq, 0.002: exiting now
May 31, 2017 4:13:10 PM fr.lip6.move.gal.itstools.Runner runTool
INFO: Standard error output from running tool CommandLine [args=[/home/mcc/BenchKit//lts_install_dir//bin/pins2lts-seq, ./gal.so, --when, --ltl, X((LTLAP2==true))], workingDir=/home/mcc/execution]
pins2lts-seq, 0.000: Registering PINS so language module
pins2lts-seq, 0.000: Loading model from ./gal.so
pins2lts-seq, 0.000: library has no initializer
pins2lts-seq, 0.000: loading model GAL
pins2lts-seq, 0.000: completed loading model GAL
pins2lts-seq, 0.000: LTL layer: formula: X((LTLAP2==true))
pins2lts-seq, 0.000: Expression is: (X (LTLAP2 == true ))
pins2lts-seq, 0.000: buchi has 3 states
pins2lts-seq, 0.000: state 0: accepting
pins2lts-seq, 0.000: -> 1, | true
pins2lts-seq, 0.000: state 1: accepting
pins2lts-seq, 0.000: -> 2, | !(LTLAP2 == true )
pins2lts-seq, 0.000: state 2: accepting
pins2lts-seq, 0.000: -> 2, | true
pins2lts-seq, 0.001: There are 80 state labels and 1 edge labels
pins2lts-seq, 0.001: State length is 40, there are 67 groups
pins2lts-seq, 0.001: Running scc search strategy
pins2lts-seq, 0.001: Using a tree for state storage
pins2lts-seq, 0.002: accepting cycle found!
pins2lts-seq, 0.002: exiting now
May 31, 2017 4:13:11 PM fr.lip6.move.gal.itstools.Runner runTool
INFO: Standard error output from running tool CommandLine [args=[/home/mcc/BenchKit//lts_install_dir//bin/pins2lts-seq, ./gal.so, --when, --ltl, <>(X([]((LTLAP10==true))))], workingDir=/home/mcc/execution]
pins2lts-seq, 0.000: Registering PINS so language module
pins2lts-seq, 0.000: Loading model from ./gal.so
pins2lts-seq, 0.000: library has no initializer
pins2lts-seq, 0.000: loading model GAL
pins2lts-seq, 0.000: completed loading model GAL
pins2lts-seq, 0.000: LTL layer: formula: <>(X([]((LTLAP10==true))))
pins2lts-seq, 0.000: Expression is: (<> (X ([] (LTLAP10 == true ))))
pins2lts-seq, 0.000: buchi has 2 states
pins2lts-seq, 0.000: state 0: non-accepting
pins2lts-seq, 0.000: -> 1, | !(LTLAP10 == true )
pins2lts-seq, 0.000: -> 0, | true
pins2lts-seq, 0.000: state 1: accepting
pins2lts-seq, 0.000: -> 1, | !(LTLAP10 == true )
pins2lts-seq, 0.000: -> 0, | true
pins2lts-seq, 0.000: There are 80 state labels and 1 edge labels
pins2lts-seq, 0.000: State length is 40, there are 68 groups
pins2lts-seq, 0.000: Running scc search strategy
pins2lts-seq, 0.000: Using a tree for state storage
pins2lts-seq, 0.002: accepting cycle found!
pins2lts-seq, 0.002: exiting now
May 31, 2017 4:13:11 PM fr.lip6.move.gal.itstools.Runner runTool
INFO: Standard error output from running tool CommandLine [args=[/home/mcc/BenchKit//lts_install_dir//bin/pins2lts-seq, ./gal.so, --when, --ltl, X((LTLAP7==true))], workingDir=/home/mcc/execution]
pins2lts-seq, 0.000: Registering PINS so language module
pins2lts-seq, 0.000: Loading model from ./gal.so
pins2lts-seq, 0.000: library has no initializer
pins2lts-seq, 0.000: loading model GAL
pins2lts-seq, 0.000: completed loading model GAL
pins2lts-seq, 0.000: LTL layer: formula: X((LTLAP7==true))
pins2lts-seq, 0.000: Expression is: (X (LTLAP7 == true ))
pins2lts-seq, 0.000: buchi has 3 states
pins2lts-seq, 0.000: state 0: accepting
pins2lts-seq, 0.000: -> 1, | true
pins2lts-seq, 0.000: state 1: accepting
pins2lts-seq, 0.000: -> 2, | !(LTLAP7 == true )
pins2lts-seq, 0.000: state 2: accepting
pins2lts-seq, 0.000: -> 2, | true
pins2lts-seq, 0.001: There are 80 state labels and 1 edge labels
pins2lts-seq, 0.001: State length is 40, there are 67 groups
pins2lts-seq, 0.001: Running scc search strategy
pins2lts-seq, 0.001: Using a tree for state storage
pins2lts-seq, 0.002: accepting cycle found!
pins2lts-seq, 0.002: exiting now
May 31, 2017 4:13:11 PM fr.lip6.move.gal.itstools.Runner runTool
INFO: Standard error output from running tool CommandLine [args=[/home/mcc/BenchKit//lts_install_dir//bin/pins2lts-seq, ./gal.so, -p, --pins-guards, --when, --ltl, (LTLAP11==true)], workingDir=/home/mcc/execution]
pins2lts-seq, 0.000: Registering PINS so language module
pins2lts-seq, 0.000: Loading model from ./gal.so
pins2lts-seq, 0.000: library has no initializer
pins2lts-seq, 0.000: loading model GAL
pins2lts-seq, 0.000: completed loading model GAL
pins2lts-seq, 0.000: Initializing POR dependencies: labels 79, guards 64
pins2lts-seq, 0.001: LTL layer: formula: (LTLAP11==true)
pins2lts-seq, 0.002: Expression is: (LTLAP11 == true )
pins2lts-seq, 0.002: buchi has 2 states
pins2lts-seq, 0.002: state 0: accepting
pins2lts-seq, 0.002: -> 1, | !(LTLAP11 == true )
pins2lts-seq, 0.002: state 1: accepting
pins2lts-seq, 0.002: -> 1, | true
pins2lts-seq, 0.002: Forcing the use of a cycle proviso. For best results use --proviso=color.
pins2lts-seq, 0.002: There are 80 state labels and 1 edge labels
pins2lts-seq, 0.002: State length is 40, there are 66 groups
pins2lts-seq, 0.002: Running scc search strategy
pins2lts-seq, 0.002: Using a tree for state storage
pins2lts-seq, 0.002: Visible groups: 0 / 66, labels: 1 / 80
pins2lts-seq, 0.002: POR cycle proviso: stack (ltl)
pins2lts-seq, 0.003: accepting cycle found!
pins2lts-seq, 0.003: exiting now
May 31, 2017 4:13:11 PM fr.lip6.move.gal.itstools.Runner runTool
INFO: Standard error output from running tool CommandLine [args=[/home/mcc/BenchKit//lts_install_dir//bin/pins2lts-seq, ./gal.so, -p, --pins-guards, --when, --ltl, <>((LTLAP4==true))], workingDir=/home/mcc/execution]
pins2lts-seq, 0.000: Registering PINS so language module
pins2lts-seq, 0.000: Loading model from ./gal.so
pins2lts-seq, 0.000: library has no initializer
pins2lts-seq, 0.000: loading model GAL
pins2lts-seq, 0.000: completed loading model GAL
pins2lts-seq, 0.000: Initializing POR dependencies: labels 79, guards 64
pins2lts-seq, 0.001: LTL layer: formula: <>((LTLAP4==true))
pins2lts-seq, 0.001: Expression is: (<> (LTLAP4 == true ))
pins2lts-seq, 0.001: buchi has 1 states
pins2lts-seq, 0.001: state 0: accepting
pins2lts-seq, 0.002: -> 0, | !(LTLAP4 == true )
pins2lts-seq, 0.002: Forcing the use of a cycle proviso. For best results use --proviso=color.
pins2lts-seq, 0.002: There are 80 state labels and 1 edge labels
pins2lts-seq, 0.002: State length is 40, there are 65 groups
pins2lts-seq, 0.002: Running scc search strategy
pins2lts-seq, 0.002: Using a tree for state storage
pins2lts-seq, 0.002: Visible groups: 0 / 65, labels: 1 / 80
pins2lts-seq, 0.002: POR cycle proviso: stack (ltl)
pins2lts-seq, 0.002: accepting cycle found!
pins2lts-seq, 0.002: exiting now
May 31, 2017 4:13:11 PM fr.lip6.move.gal.itstools.Runner runTool
INFO: Standard error output from running tool CommandLine [args=[/home/mcc/BenchKit//lts_install_dir//bin/pins2lts-seq, ./gal.so, -p, --pins-guards, --when, --ltl, (LTLAP12==true)], workingDir=/home/mcc/execution]
pins2lts-seq, 0.000: Registering PINS so language module
pins2lts-seq, 0.000: Loading model from ./gal.so
pins2lts-seq, 0.000: library has no initializer
pins2lts-seq, 0.000: loading model GAL
pins2lts-seq, 0.000: completed loading model GAL
pins2lts-seq, 0.000: Initializing POR dependencies: labels 79, guards 64
pins2lts-seq, 0.003: LTL layer: formula: (LTLAP12==true)
pins2lts-seq, 0.003: Expression is: (LTLAP12 == true )
pins2lts-seq, 0.003: buchi has 2 states
pins2lts-seq, 0.003: state 0: accepting
pins2lts-seq, 0.003: -> 1, | !(LTLAP12 == true )
pins2lts-seq, 0.003: state 1: accepting
pins2lts-seq, 0.003: -> 1, | true
pins2lts-seq, 0.003: Forcing the use of a cycle proviso. For best results use --proviso=color.
pins2lts-seq, 0.004: There are 80 state labels and 1 edge labels
pins2lts-seq, 0.004: State length is 40, there are 66 groups
pins2lts-seq, 0.004: Running scc search strategy
pins2lts-seq, 0.004: Using a tree for state storage
pins2lts-seq, 0.004: Visible groups: 0 / 66, labels: 1 / 80
pins2lts-seq, 0.004: POR cycle proviso: stack (ltl)
pins2lts-seq, 0.005: accepting cycle found!
pins2lts-seq, 0.005: exiting now
May 31, 2017 4:13:11 PM fr.lip6.move.gal.itstools.Runner runTool
INFO: Standard error output from running tool CommandLine [args=[/home/mcc/BenchKit//lts_install_dir//bin/pins2lts-seq, ./gal.so, --when, --ltl, (X((LTLAP13==true)))U([](X([]((LTLAP14==true)))))], workingDir=/home/mcc/execution]
pins2lts-seq, 0.000: Registering PINS so language module
pins2lts-seq, 0.000: Loading model from ./gal.so
pins2lts-seq, 0.000: library has no initializer
pins2lts-seq, 0.000: loading model GAL
pins2lts-seq, 0.000: completed loading model GAL
pins2lts-seq, 0.000: LTL layer: formula: (X((LTLAP13==true)))U([](X([]((LTLAP14==true)))))
pins2lts-seq, 0.000: Expression is: ((X (LTLAP13 == true )) U ([] (X ([] (LTLAP14 == true )))))
pins2lts-seq, 0.000: buchi has 8 states
pins2lts-seq, 0.000: state 0: non-accepting
pins2lts-seq, 0.000: -> 1, | true
pins2lts-seq, 0.000: state 1: accepting
pins2lts-seq, 0.000: -> 2, | true
pins2lts-seq, 0.000: -> 3, | !(LTLAP13 == true )
pins2lts-seq, 0.000: -> 1, | !(LTLAP14 == true )
pins2lts-seq, 0.000: -> 4, | !(LTLAP14 == true ) && !(LTLAP13 == true )
pins2lts-seq, 0.000: -> 5, | true
pins2lts-seq, 0.000: -> 7, | !(LTLAP13 == true )
pins2lts-seq, 0.000: state 2: non-accepting
pins2lts-seq, 0.000: -> 2, | true
pins2lts-seq, 0.000: -> 3, | !(LTLAP13 == true )
pins2lts-seq, 0.000: -> 1, | !(LTLAP14 == true )
pins2lts-seq, 0.000: -> 4, | !(LTLAP14 == true ) && !(LTLAP13 == true )
pins2lts-seq, 0.000: state 3: non-accepting
pins2lts-seq, 0.000: -> 3, | true
pins2lts-seq, 0.000: -> 4, | !(LTLAP14 == true )
pins2lts-seq, 0.000: state 4: accepting
pins2lts-seq, 0.000: -> 4, | true
pins2lts-seq, 0.000: state 5: non-accepting
pins2lts-seq, 0.000: -> 6, | true
pins2lts-seq, 0.000: -> 3, | !(LTLAP13 == true )
pins2lts-seq, 0.000: -> 1, | !(LTLAP14 == true )
pins2lts-seq, 0.000: -> 4, | !(LTLAP14 == true ) && !(LTLAP13 == true )
pins2lts-seq, 0.000: -> 5, | true
pins2lts-seq, 0.000: -> 7, | !(LTLAP13 == true )
pins2lts-seq, 0.000: state 6: accepting
pins2lts-seq, 0.000: -> 2, | true
pins2lts-seq, 0.000: -> 3, | !(LTLAP13 == true )
pins2lts-seq, 0.000: -> 1, | !(LTLAP14 == true )
pins2lts-seq, 0.000: -> 4, | !(LTLAP14 == true ) && !(LTLAP13 == true )
pins2lts-seq, 0.000: state 7: non-accepting
pins2lts-seq, 0.000: -> 7, | true
pins2lts-seq, 0.000: -> 4, | !(LTLAP14 == true )
pins2lts-seq, 0.000: -> 3, | true
pins2lts-seq, 0.001: There are 80 state labels and 1 edge labels
pins2lts-seq, 0.001: State length is 40, there are 91 groups
pins2lts-seq, 0.001: Running scc search strategy
pins2lts-seq, 0.001: Using a tree for state storage
pins2lts-seq, 0.002: accepting cycle found!
pins2lts-seq, 0.002: exiting now
May 31, 2017 4:13:11 PM fr.lip6.move.gal.itstools.ProcessController forwardStream
WARNING: Stream closed
May 31, 2017 4:13:11 PM fr.lip6.move.gal.itstools.ProcessController forwardStream
WARNING: Stream closed
May 31, 2017 4:13:11 PM fr.lip6.move.gal.itstools.ProcessController$1 run
WARNING: null
Sequence of Actions to be Executed by the VM
This is useful if one wants to reexecute the tool in the VM from the submitted image disk.
set -x
# this is for BenchKit: configuration of major elements for the test
export BK_INPUT="Angiogenesis-PT-15"
export BK_EXAMINATION="LTLFireability"
export BK_TOOL="itstools"
export BK_RESULT_DIR="/tmp/BK_RESULTS/OUTPUTS"
export BK_TIME_CONFINEMENT="3600"
export BK_MEMORY_CONFINEMENT="16384"
# this is specific to your benchmark or test
export BIN_DIR="$HOME/BenchKit/bin"
# remove the execution directoty if it exists (to avoid increse of .vmdk images)
if [ -d execution ] ; then
rm -rf execution
fi
tar xzf /home/mcc/BenchKit/INPUTS/Angiogenesis-PT-15.tgz
mv Angiogenesis-PT-15 execution
# this is for BenchKit: explicit launching of the test
cd execution
echo "====================================================================="
echo " Generated by BenchKit 2-3254"
echo " Executing tool itstools"
echo " Input is Angiogenesis-PT-15, examination is LTLFireability"
echo " Time confinement is $BK_TIME_CONFINEMENT seconds"
echo " Memory confinement is 16384 MBytes"
echo " Number of cores is 4"
echo " Run identifier is r010-csrt-149436129300123"
echo "====================================================================="
echo
echo "--------------------"
echo "content from stdout:"
echo
echo "=== Data for post analysis generated by BenchKit (invocation template)"
echo
if [ "LTLFireability" = "UpperBounds" ] ; then
echo "The expected result is a vector of positive values"
echo NUM_VECTOR
elif [ "LTLFireability" != "StateSpace" ] ; then
echo "The expected result is a vector of booleans"
echo BOOL_VECTOR
else
echo "no data necessary for post analysis"
fi
echo
if [ -f "LTLFireability.txt" ] ; then
echo "here is the order used to build the result vector(from text file)"
for x in $(grep Property LTLFireability.txt | cut -d ' ' -f 2 | sort -u) ; do
echo "FORMULA_NAME $x"
done
elif [ -f "LTLFireability.xml" ] ; then # for cunf (txt files deleted;-)
echo echo "here is the order used to build the result vector(from xml file)"
for x in $(grep '
echo "FORMULA_NAME $x"
done
fi
echo
echo "=== Now, execution of the tool begins"
echo
echo -n "BK_START "
date -u +%s%3N
echo
timeout -s 9 $BK_TIME_CONFINEMENT bash -c "/home/mcc/BenchKit/BenchKit_head.sh 2> STDERR ; echo ; echo -n \"BK_STOP \" ; date -u +%s%3N"
if [ $? -eq 137 ] ; then
echo
echo "BK_TIME_CONFINEMENT_REACHED"
fi
echo
echo "--------------------"
echo "content from stderr:"
echo
cat STDERR ;