Skip to content

Commit 9bbf904

Browse files
committed
template for analysis
1 parent 4731860 commit 9bbf904

File tree

5 files changed

+37
-5
lines changed

5 files changed

+37
-5
lines changed

analysis/mojo_utils.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import os
2+
import sys
3+
import time
4+
5+
OUTDIR = os.path.abspath("../outputs/")
6+
SNAPDIR = os.path.abspath("../snapshots/")
7+
8+
def get_model_info(model_name):
9+
info = {"snap_fname": None,
10+
"out_fname": None}
11+
snap_fname = os.path.join(SNAPDIR, "%s.json" %(model_name))
12+
out_fname = os.path.join(OUTDIR, "%s.out" %(model_name))
13+
if os.path.isfile(snap_fname):
14+
info["snap_fname"] = snap_fname
15+
else:
16+
raise Exception("Could not find snapshot %s for %s" %(model_name,
17+
snap_fname))
18+
if os.path.isfile(out_fname):
19+
info["out_fname"] = out_fname
20+
return info
21+
22+

analysis/simple_chain.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
## Analyze simple chain model
2+
import mojo_utils
3+
4+
info = mojo_utils.get_model_info("simple_chain")
5+
print("Model information for simple chain: ")
6+
print(info)

models/simple_chain.ka

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,4 @@
1717
%obs: 'atleast_two_chain' |C(x,y[1]),C(x[1],y)|
1818
%obs: 'exactly_two_chain' |C(x[.],y[1]),C(x[1],y[.])|
1919

20-
%mod: alarm 1000.0 do $STOP "../snapshots/simple_chain";
20+
%mod: alarm 100000.0 do $STOP "./snapshots/simple_chain.json";

run_models.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
OUTDIR = "./outputs/"
1313
SNAPDIR = "./snapshots/"
1414

15+
SEED = 10
16+
1517
def check_KaSim():
1618
"""
1719
Check if KaSim is available on path.
@@ -31,18 +33,19 @@ def run_KaSim(model_fname):
3133
model_name = model_basename.split(".ka")[0]
3234
dir_name = os.path.dirname(model_fname)
3335
out_fname = os.path.join(OUTDIR, "%s.out" %(model_name))
34-
snapshot_fname = os.path.join(SNAPDIR, model_basename)
36+
snapshot_fname = os.path.join(SNAPDIR, "%s.json" %(model_name))
3537
# remove older output/snapshot files
3638
older_files = [out_fname, snapshot_fname]
3739
for old_fname in older_files:
3840
if os.path.isfile(old_fname):
3941
print("Removing previous file: %s" %(old_fname))
4042
os.unlink(old_fname)
4143
print("Running %s" %(model_basename))
42-
# run KaSim (and don't generate log files)
44+
# run KaSim: don't generate log files and use seed
4345
cmd = \
44-
'''KaSim --no-log -o {out_fname} {model_fname}'''.format(out_fname=out_fname,
45-
model_fname=model_fname)
46+
'''KaSim --no-log -seed {seed} -o {out_fname} {model_fname}'''.format(out_fname=out_fname,
47+
model_fname=model_fname,
48+
seed=SEED)
4649
ret_val = os.system(cmd)
4750
if ret_val != 0:
4851
raise Exception("Failed to execute %s" %(cmd))

snapshots/simple_chain.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"snapshot_file":"./snapshots/simple_chain.json","snapshot_event":161977,"snapshot_time":100000.0,"snapshot_agents":[[1,[{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[1,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[11,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[2,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[0,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[3,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[1,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[4,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[2,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[5,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[3,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[6,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[4,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[7,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[5,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[8,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[6,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[9,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[7,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[10,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[8,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[9,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[0,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[12,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[11,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[13,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[12,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[14,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[13,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[15,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[14,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[16,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[15,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[17,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[16,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[],"port_states":[]}]}]}]],[1,[{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[1,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[4,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[2,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[0,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[3,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[1,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[2,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[0,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[5,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[4,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[6,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[5,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[7,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[6,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[8,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[7,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[9,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[8,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[10,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[9,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[11,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[10,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[],"port_states":[]}]}]}]],[1,[{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[1,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[6,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[2,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[0,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[3,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[1,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[4,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[2,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[5,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[3,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[4,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[0,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[7,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[6,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[8,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[7,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[9,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[8,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[],"port_states":[]}]}]}]],[1,[{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[1,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[5,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[2,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[0,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[3,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[1,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[4,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[2,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[3,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[0,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[6,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[5,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[7,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[6,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[8,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[7,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[],"port_states":[]}]}]}]],[1,[{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[1,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[2,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[0,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[3,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[1,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[4,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[2,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[5,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[3,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[6,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[4,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[5,0]],"port_states":[]}]}]}]],[2,[{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[1,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[5,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[2,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[0,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[3,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[1,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[4,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[2,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[3,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[0,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[],"port_states":[]}]}]}]],[2,[{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[1,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[2,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[0,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[3,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[1,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[2,0]],"port_states":[]}]}]}]],[3,[{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[1,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[0,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[2,0]],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[1,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[],"port_states":[]}]}]}]],[4,[{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[[1,1]],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[],"port_states":[]}]}]},{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[[0,0]],"port_states":[]}]}]}]],[7,[{"node_type":"C","node_sites":[{"site_name":"x","site_type":["port",{"port_links":[],"port_states":[]}]},{"site_name":"y","site_type":["port",{"port_links":[],"port_states":[]}]}]}]]],"snapshot_tokens":[]}

0 commit comments

Comments
 (0)