#! /usr/bin/env python
#import re
import subprocess
import time
#import datetime
import os

PRISM_PATH = '/home/jasperb/prism-3.2-linux/bin/'

def do(modfilen, propfilen, constants, iterationnum) : 
  outputfilen = (modfilen[:-4]) + constants + '_' + str(iterationnum) + '.log'
  f = open(outputfilen, 'w')
  memlogfilen = (modfilen[:-4]) + constants + '_' + str(iterationnum) + '.mem'
  popen = subprocess.Popen(['time', PRISM_PATH + 'prism', modfilen, propfilen, '-const', constants, '-sparse', '-fixdl'], stdout=f, stderr=subprocess.STDOUT)
  while popen.poll()!=0 :
    os.system('ps -C java v >> ' + memlogfilen)
    time.sleep(0.1)
  f.close()
  return

for i in range(1,10) :
  do('csma_abst.mod', 'csma_abst.prop', 'D=500', i)
  do('csma_abst.mod', 'csma_abst.prop', 'D=1000', i)
  do('csma_abst.mod', 'csma_abst.prop', 'D=1500', i)

  do('csma_2_n.mod', 'csma.prop', 'n=4', i)
  do('csma_2_n.mod', 'csma.prop', 'n=8', i)
  do('csma_4_n.mod', 'csma.prop', 'n=4', i)
  do('csma_4_n.mod', 'csma.prop', 'n=8', i)

  do('firewire.mod', 'firewire.prop', 'D=500', i)
  do('firewire.mod', 'firewire.prop', 'D=1000', i)
  do('firewire.mod', 'firewire.prop', 'D=2000', i)
