From noreply at svn.ci.uchicago.edu Mon Jun 1 13:49:37 2009
From: noreply at svn.ci.uchicago.edu (noreply at svn.ci.uchicago.edu)
Date: Mon, 1 Jun 2009 13:49:37 -0500 (CDT)
Subject: [Swift-commit] r2951 - SwiftApps/SIDGrid/config
Message-ID: <20090601184937.BAC8B9CC8F@vm-125-59.ci.uchicago.edu>
Author: skenny
Date: 2009-06-01 13:49:37 -0500 (Mon, 01 Jun 2009)
New Revision: 2951
Modified:
SwiftApps/SIDGrid/config/tc.data
Log:
new path for R install on BSD cluster
Modified: SwiftApps/SIDGrid/config/tc.data
===================================================================
--- SwiftApps/SIDGrid/config/tc.data 2009-05-28 20:25:56 UTC (rev 2950)
+++ SwiftApps/SIDGrid/config/tc.data 2009-06-01 18:49:37 UTC (rev 2951)
@@ -723,7 +723,7 @@
BSD touch /bin/touch INSTALLED INTEL32::LINUX null
BSD globus-url-copy /soft/globus-4.0.3-r1/bin/globus-url-copy INSTALLED INTEL64::LINUX env::LD_LIBRARY_PATH=/soft/globus-4.0.3-r1/lib
BSD R /usr/bin/R INSTALLED INTEL32::LINUX env::R_LIBS=/disks/ci-gpfs/fmri/cnari/apps/R_library
-BSD RInvoke /disks/ci-gpfs/fmri/cnari/scripts/RInvoke.sh INSTALLED INTEL32::LINUX env::R_LIBS=/disks/ci-gpfs/fmri/cnari/apps/R_library
+BSD RInvoke /disks/ci-gpfs/fmri/cnari/scripts/RInvoke.sh INSTALLED INTEL32::LINUX env::PATHPREFIX=/disks/ci-gpfs/fmri/SIDGrid/usr32/bin
BSD Rcmd /disks/ci-gpfs/fmri/cnari/scripts/Rcmd.sh INSTALLED INTEL32::LINUX env::R_LIBS=/disks/ci-gpfs/fmri/cnari/apps/R_library
BSD Mediator /disks/ci-gpfs/fmri/cnari/scripts/Mediator.py INSTALLED INTEL32::LINUX null
BSD env /usr/env INSTALLED INTEL32::LINUX null
@@ -2155,6 +2155,14 @@
RANGER env /usr/bin/env INSTALLED INTEL64::LINUX GLOBUS::maxwalltime=10,queue=normal
RANGER Mediator /scratch/projects/tg/SIDGrid/scripts/Mediator.py INSTALLED INTEL64::LINUX env::PATHPREFIX=/scratch/projects/tg/SIDGrid/usr/bin,LD_LIBRARY_PATH=/scratch/projects/tg/SIDGrid/usr/lib/mysql
+#----freesurfer
+
+RANGER recon1 /scratch/projects/tg/SIDGrid/freesurfer/bin/recon1.sh INSTALLED INTEL32::LINUX env::FREESURFER_HOME=/scratch/projects/tg/SIDGrid/freesurfer
+RANGER recon2L /scratch/projects/tg/SIDGrid/freesurfer/bin/recon2L.sh INSTALLED INTEL32::LINUX env::FREESURFER_HOME=/scratch/projects/tg/SIDGrid/freesurfer
+RANGER recon2R /scratch/projects/tg/SIDGrid/freesurfer/bin/recon2R.sh INSTALLED INTEL32::LINUX env::FREESURFER_HOME=/scratch/projects/tg/SIDGrid/freesurfer
+RANGER autorecon2_BOTH /scratch/projects/tg/SIDGrid/freesurfer/bin/autorecon2_BOTH.sh INSTALLED INTEL32::LINUX env::FREESURFER_HOME=/scratch/projects/tg/SIDGrid/freesurfer
+RANGER reconFINAL /scratch/projects/tg/SIDGrid/freesurfer/bin/reconFINAL.sh INSTALLED INTEL32::LINUX env::FREESURFER_HOME=/scratch/projects/tg/SIDGrid/freesurfer,PATHPREFIX=/scratch/projects/tg/SIDGrid/usr/bin
+
####-----------------BIGRED-----------------------------
#------AFNI
BIGRED AFNI_1dcat /N/u/tg-scommun/BigRed/sidgrid/usr/bin/1dcat INSTALLED INTEL64::LINUX GLOBUS::maxwalltime=100;env::PATHPREFIX=/N/u/tg-scommun/BigRed/sidgrid/usr/bin,LD_LIBRARY_PATH=/N/u/tg-scommun/BigRed/sidgrid/usr/bin
@@ -2440,3 +2448,4 @@
localhost RInvoke /disks/ci-gpfs/fmri/cnari/scripts/RInvoke.sh INSTALLED INTEL64::LINUX null
localhost echo /bin/echo INSTALLED INTEL64::LINUX null
+localhost AFNI_3dDeconvolve /disks/ci-gpfs/fmri/tools/AFNI/linux_gcc32/3dDeconvolve INSTALLED INTEL32::LINUX null
From noreply at svn.ci.uchicago.edu Mon Jun 1 15:21:07 2009
From: noreply at svn.ci.uchicago.edu (noreply at svn.ci.uchicago.edu)
Date: Mon, 1 Jun 2009 15:21:07 -0500 (CDT)
Subject: [Swift-commit] r2952 - SwiftApps/SIDGrid/uchicago_tools
Message-ID: <20090601202107.5110A9CC8F@vm-125-59.ci.uchicago.edu>
Author: skenny
Date: 2009-06-01 15:21:07 -0500 (Mon, 01 Jun 2009)
New Revision: 2952
Added:
SwiftApps/SIDGrid/uchicago_tools/tgsites_cnari
Log:
script for testing the tgsites used by cnari
Added: SwiftApps/SIDGrid/uchicago_tools/tgsites_cnari
===================================================================
--- SwiftApps/SIDGrid/uchicago_tools/tgsites_cnari (rev 0)
+++ SwiftApps/SIDGrid/uchicago_tools/tgsites_cnari 2009-06-01 20:21:07 UTC (rev 2952)
@@ -0,0 +1,328 @@
+#!/usr/bin/python
+import os,sys
+
+class gridData(dict):
+ def add(self,table,tablename,primary="ResourceID",secondary=""):
+ # make this user opt? mercury == dtf
+ site_list = ["ranger", "viz", "dtf.ncsa.teragrid.org"]
+ for row in table:
+ for site in site_list:
+ if (str(row).find(site)>-1):
+ id=row["ResourceID"]
+ print "id is.........."+id
+ if not id in self.keys():
+ print "adding site!!!!!!!"+str(site)
+ self[id]={}
+ if secondary:
+ if not tablename in self[id].keys():
+ self[id][tablename]={}
+ id2=row[secondary]
+ self[id][tablename][id2]=row
+ else:
+ self[id][tablename]=row
+
+ def display(self):
+ ptable=[]
+ for key in self.keys():
+ row=[]
+ for key2,val in self[key].items():
+ print key,key2,val
+
+
+ def __init__(self):
+ dict.__init__(self)
+
+def ParseTable(table_file_obj):
+ table_vals=[]
+ table=table_file_obj
+ firstline=table.readline()
+ firstline.strip()
+ col_names=firstline.split()
+
+ secondline=table.readline()
+ secondline=secondline.rstrip()
+ col_lengths=[len(x) for x in secondline.split()]
+ numcols=len(col_lengths)
+ dashes=sum(col_lengths)
+
+ divsize=(len(secondline)-dashes)/(numcols-1)
+
+ line=table.readline()
+ while line:
+ i=0
+ column=0
+ tmpdict={}
+ for num in col_lengths:
+ tmpkey=col_names[column]
+ colval=line[i:i+num+divsize]
+ colval=colval.strip()
+ tmpdict[tmpkey]=colval
+ i=i+num+divsize
+ column=column+1
+ table_vals.append(tmpdict)
+ line=table.readline()
+ return table_vals
+
+def tginfo(tginfo_exe="./tginfo",optionstring=""):
+ return os.popen(" ".join([tginfo_exe,optionstring]))
+
+def getResourceInfo(tginfo_exe,resource_file="tgresources"):
+ ResourceTable=tginfo(optionstring="res")
+ res_vals=ParseTable(ResourceTable)
+
+ ResourceTable=tginfo(optionstring="gridftp")
+ gftp_vals=ParseTable(ResourceTable)
+
+ ResourceTable=tginfo(optionstring="login")
+ login_vals=ParseTable(ResourceTable)
+
+ ResourceTable=tginfo(optionstring="serv prews | grep -v fork")
+ gram_vals=ParseTable(ResourceTable)
+
+ dataTable=gridData()
+ dataTable.add(res_vals,tablename="res")
+ dataTable.add(gftp_vals,tablename="gftp",secondary="Name")
+
+ dataTable.add(login_vals,tablename="login")
+ dataTable.add(gram_vals,tablename="gram")
+
+
+ return dataTable
+ #print dataTable
+
+
+def checkProxies(username="",verbose=True):
+ import re,tempfile
+ saveout=sys.stdout
+ if not verbose:
+ handle,name=tempfile.mkstemp(dir='.',prefix='proxylog_')
+ sys.stdout=open(name,'w')
+ if not username:
+ username=os.getlogin()
+ print "Checking for a valid proxy...."
+ infocommand="grid-proxy-info -timeleft"
+ status=os.popen4(infocommand)[1].read().strip()
+
+ error=re.search('not found',status)
+ if error:
+ sys.stderr.write('you do not have a valid proxy running, please initialize one.')
+ os.system("grid-proxy-init")
+
+ else:
+ timeleftstr=status.split(' ')
+ print "time str is "+timeleftstr[4]
+ timeleft = int(timeleftstr[4])
+ if timeleft < 3:
+ print "Your proxy has less 3 hours left, please initialize a new one."
+ os.system("grid-proxy-init")
+ sys.stdout=saveout
+
+def CheckTginfo(tginfo_dir=".",tginfo_url="http://info.teragrid.org/tginfo/tginfo",verbose=True):
+ import urllib2,tempfile
+
+ def getLatest(tginfo_url,destination):
+ try:
+ tginfo_web=urllib2.urlopen(tginfo_url)
+ tginfo_content=tginfo_web.read()
+ except urllib2.HTTPError,err:
+ print "HTTP error (",err,") for the website: ",tginfo_url
+ sys.exit(int(err.code))
+ print "Wrting tginfo to ",destination
+ handle=open(destination,'w')
+ handle.write(tginfo_content)
+ handle.close()
+ os.chmod(destination,0744)
+
+ saveout=sys.stdout
+ if not verbose:
+ handle,name=tempfile.mkstemp(dir='.',prefix='tginfolog_')
+ sys.stdout=open(name,'w')
+
+ tginfo_exe=os.path.join(tginfo_dir,"tginfo")
+ if os.path.exists(tginfo_exe):
+ upgrade_string=os.popen(tginfo_exe + " upgrade ").read()
+ #print upgrade_string
+ if upgrade_string.find("http")==-1:
+ print "Your tginfo executable: ",tginfo_exe," is up to date"
+ else:
+ version_string=os.popen(tginfo_exe + " version").read()
+ version=version_string.split(',')[0]
+ version=version.split()[1]
+ new_exe_path=tginfo_exe+'_'+version
+ print "Moving ",tginfo_exe," to ",new_exe_path
+ os.rename(tginfo_exe,new_exe_path)
+ getLatest(tginfo_url,tginfo_exe)
+ else:
+ getLatest(tginfo_url,"tginfo")
+ tginfo_dir="."
+
+ sys.stdout=saveout
+ return tginfo_dir
+
+def getEnv(siteTable):
+ for key in siteTable.keys():
+ loginhost=siteTable[key]['login']["EndPoint"]
+ print "Attempting to get environment variables from",loginhost,"..."
+ result=os.popen4("gsissh -o NumberOfPasswordPrompts=0 "+loginhost+" env")[1].readlines()
+ if len(result)<=1:
+ failedSites.append( (loginhost,result) )
+ print "...connection failed (or required password)"
+ else:
+ result=[x.rstrip() for x in result]
+ home=dict([tuple(x.split('=')) for x in result if x.find("HOME")>-1])
+ scratch=dict([tuple(x.split('=')) for x in result if x.find("SCRATCH")>-1])
+ gridVars["home"][loginhost]=home
+ gridVars["scratch"][loginhost]=scratch
+
+ return gridVars,failedSites
+
+def createShortNames(siteTable):
+ resourceMapper={}
+ for key in siteTable.keys():
+ try:
+ #loginhost=siteTable[key]['login']["EndPoint"]
+ resid=siteTable[key]['res']["ResourceID"]
+ shortid=resid.split('.teragrid.org')[0]
+ mapid="".join( [x.capitalize() for x in shortid.split('.')] )
+ resourceMapper[resid]=mapid
+ except KeyError,err:
+ pass
+ #print key,"does not have a login host, ignoring..."
+ return resourceMapper
+
+def csvFormat(resourceMapper,siteTable):
+ allSites=[]
+ for resid in resourceMapper.keys():
+ globus_type=""
+ try:
+ gram_type=siteTable[resid]['gram']['Name']
+ globus_type=gram_type.split('-')[-1]
+ globus_endpoint=siteTable[resid]['gram']['EndPoint']
+ locport=globus_endpoint.split('/')[0]
+ except KeyError:
+ pass
+ comma_array=[resourceMapper[resid],locport,"compute","Teragrid"]
+ comma_entry=",".join(comma_array)
+ allSites.append(comma_entry)
+ numberedSites=[str(x)+","+y for x,y in enumerate(allSites)]
+ return "\n".join(numberedSites)
+
+def getXML(resourceMapper,siteTable,verbose=True):
+ import tempfile
+ poolList=[]
+ activeList=[]
+ gftp_default=""
+
+ saveout=sys.stdout
+ if not verbose:
+ handle,name=tempfile.mkstemp(dir='.',prefix='xmlog_')
+ sys.stdout=open(name,'a')
+
+ for resid in resourceMapper.keys():
+ globus_type=""
+ try:
+ short=resourceMapper[resid]
+ gram_type=siteTable[resid]['gram']['Name']
+ globus_type=gram_type.split('-')[-1]
+ globus_endpoint=siteTable[resid]['gram']['EndPoint']
+ locport=globus_endpoint.split('/')[0]
+ gftp_default=siteTable[resid]['gftp']['gridftp-default-server']['EndPoint']
+ except KeyError:
+ pass
+ globus_string='globus-job-run '+locport+' /usr/bin/id '
+ print "Testing",short,"... (",globus_string,")"
+ test=os.popen4(globus_string)[1].read()
+ print test
+
+ pool= """
+
+
+
+
+ """ % (short,globus_endpoint,gftp_default)
+ poolList.append(pool)
+ if test.startswith("uid"):
+ activeList.append(pool)
+
+ sys.stdout=saveout
+ return poolList,activeList
+
+def usage():
+ usagestring="""
+ Usage: %s -[hqcxed]
+ -h,--help Print this usage description
+ -q,--quiet Quiet -- prints all messages to tempfiles in the current directory
+ -c,--csv Prints info about teragrid sites in csv format for easy parsing
+ -x,--xml Prints default sites.xml entries for teragrid sites
+ -l,--login You can specify a userid on proxyserver. default is login id on this machine
+ -e Optional -- specify a path to your own tginfo executable
+ -d Optional -- specify a directory for your own tginfo executable
+ """ % (sys.argv[0])
+ print usagestring
+
+def main():
+ import getopt
+ tginfo_dir="."
+ verbose=True
+ csvGen=False
+ xmlGen=False
+ WriteToFile=False
+ OutDict={}
+ username=""
+
+ try:
+ opts,args=getopt.getopt(sys.argv[1:],'hqcxe:d:l:',['help','quiet','csv','xml','login'])
+ except getopt.GetoptError,err:
+ print str(err)
+ usage()
+ sys.exit(22)
+ for opt,arg in opts:
+ if opt in ("-h","--help"):
+ usage()
+ sys.exit()
+ elif opt in ("-q","--quiet"):
+ verbose=False
+ elif opt in ("-e"):
+ tginfo_dir=os.path.dirname(arg)
+ elif opt in ("-d"):
+ tginfo_dir=arg
+ elif opt in ("-c","--csv"):
+ csvGen=True
+ elif opt in ("-x","--xml"):
+ xmlGen=True
+ elif opt in ("-l","--login"):
+ username=arg
+
+ tginfo_dir=CheckTginfo(tginfo_dir,verbose=verbose)
+ tginfo_exe=os.path.join(tginfo_dir,"tginfo")
+
+
+ siteTable=getResourceInfo(tginfo_exe)
+ resourceMapper=createShortNames(siteTable)
+
+ if csvGen:
+ csvout=csvFormat(resourceMapper,siteTable)
+ OutDict['csv']=csvout
+ if xmlGen:
+ WriteToFile=True
+ checkProxies()
+ xmlout,xmlactive=getXML(resourceMapper,siteTable,verbose=verbose)
+ OutDict['xml']="".join(xmlout)
+ OutDict['xml_active']="".join(xmlactive)
+
+
+ if not WriteToFile:
+ for key in OutDict:
+ print key
+ print OutDict[key]
+
+ if WriteToFile:
+ sitesfile = open("sites.xml", "w")
+ for key in OutDict:
+ sitesfile.write(OutDict[key])
+ sitesfile.close()
+
+ #gridVars,failedSites=getEnv(siteTable)
+
+if __name__=="__main__":
+ main()
Property changes on: SwiftApps/SIDGrid/uchicago_tools/tgsites_cnari
___________________________________________________________________
Name: svn:executable
+ *
From noreply at svn.ci.uchicago.edu Wed Jun 3 14:30:07 2009
From: noreply at svn.ci.uchicago.edu (noreply at svn.ci.uchicago.edu)
Date: Wed, 3 Jun 2009 14:30:07 -0500 (CDT)
Subject: [Swift-commit] r2953 - SwiftApps/SIDGrid/uchicago_tools
Message-ID: <20090603193007.6EADD9CC94@vm-125-59.ci.uchicago.edu>
Author: skenny
Date: 2009-06-03 14:30:07 -0500 (Wed, 03 Jun 2009)
New Revision: 2953
Modified:
SwiftApps/SIDGrid/uchicago_tools/tgsites_cnari
Log:
checks for proxy and probes cnari tg sites
Modified: SwiftApps/SIDGrid/uchicago_tools/tgsites_cnari
===================================================================
--- SwiftApps/SIDGrid/uchicago_tools/tgsites_cnari 2009-06-01 20:21:07 UTC (rev 2952)
+++ SwiftApps/SIDGrid/uchicago_tools/tgsites_cnari 2009-06-03 19:30:07 UTC (rev 2953)
@@ -1,6 +1,10 @@
#!/usr/bin/python
import os,sys
+#------------------------------global variables------------
+
+SWIFT_HOME = "/disks/ci-gpfs/fmri/cnari/swift/swift/bin/"
+
class gridData(dict):
def add(self,table,tablename,primary="ResourceID",secondary=""):
# make this user opt? mercury == dtf
@@ -9,9 +13,7 @@
for site in site_list:
if (str(row).find(site)>-1):
id=row["ResourceID"]
- print "id is.........."+id
if not id in self.keys():
- print "adding site!!!!!!!"+str(site)
self[id]={}
if secondary:
if not tablename in self[id].keys():
@@ -100,18 +102,19 @@
if not username:
username=os.getlogin()
print "Checking for a valid proxy...."
- infocommand="grid-proxy-info -timeleft"
+ infocommand=SWIFT_HOME+"grid-proxy-info -timeleft"
status=os.popen4(infocommand)[1].read().strip()
- error=re.search('not found',status)
- if error:
+ error=re.search('not found',status)
+ error2=re.search('ERROR',status)
+ if error or error2:
sys.stderr.write('you do not have a valid proxy running, please initialize one.')
os.system("grid-proxy-init")
else:
timeleftstr=status.split(' ')
- print "time str is "+timeleftstr[4]
timeleft = int(timeleftstr[4])
+ #timeleft = int(status)
if timeleft < 3:
print "Your proxy has less 3 hours left, please initialize a new one."
os.system("grid-proxy-init")
@@ -261,11 +264,13 @@
print usagestring
def main():
+
import getopt
tginfo_dir="."
verbose=True
csvGen=False
- xmlGen=False
+ # defaulting to true...may remove cmdline opt
+ xmlGen=True
WriteToFile=False
OutDict={}
username=""
@@ -308,7 +313,7 @@
checkProxies()
xmlout,xmlactive=getXML(resourceMapper,siteTable,verbose=verbose)
OutDict['xml']="".join(xmlout)
- OutDict['xml_active']="".join(xmlactive)
+ #OutDict['xml_active']="".join(xmlactive)
if not WriteToFile:
From noreply at svn.ci.uchicago.edu Sat Jun 13 18:02:16 2009
From: noreply at svn.ci.uchicago.edu (noreply at svn.ci.uchicago.edu)
Date: Sat, 13 Jun 2009 18:02:16 -0500 (CDT)
Subject: [Swift-commit] r2954 - SwiftApps/SIDGrid/config
Message-ID: <20090613230216.256429CCAF@vm-125-59.ci.uchicago.edu>
Author: skenny
Date: 2009-06-13 18:02:15 -0500 (Sat, 13 Jun 2009)
New Revision: 2954
Added:
SwiftApps/SIDGrid/config/sites_ranger_short.xml
Log:
puts ranger jobs in default dev queue
Added: SwiftApps/SIDGrid/config/sites_ranger_short.xml
===================================================================
--- SwiftApps/SIDGrid/config/sites_ranger_short.xml (rev 0)
+++ SwiftApps/SIDGrid/config/sites_ranger_short.xml 2009-06-13 23:02:15 UTC (rev 2954)
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+ 50
+ 10
+ TG-DBS080004N
+
+ 16
+
+ /work/00926/tg459516/sidgrid_out/{username}
+
+
From noreply at svn.ci.uchicago.edu Sat Jun 13 18:19:42 2009
From: noreply at svn.ci.uchicago.edu (noreply at svn.ci.uchicago.edu)
Date: Sat, 13 Jun 2009 18:19:42 -0500 (CDT)
Subject: [Swift-commit] r2955 - SwiftApps/SIDGrid/config
Message-ID: <20090613231942.B73399CCAF@vm-125-59.ci.uchicago.edu>
Author: skenny
Date: 2009-06-13 18:19:42 -0500 (Sat, 13 Jun 2009)
New Revision: 2955
Modified:
SwiftApps/SIDGrid/config/tc.data
Log:
paths for running freesurfer on localhost added
Modified: SwiftApps/SIDGrid/config/tc.data
===================================================================
--- SwiftApps/SIDGrid/config/tc.data 2009-06-13 23:02:15 UTC (rev 2954)
+++ SwiftApps/SIDGrid/config/tc.data 2009-06-13 23:19:42 UTC (rev 2955)
@@ -725,7 +725,7 @@
BSD R /usr/bin/R INSTALLED INTEL32::LINUX env::R_LIBS=/disks/ci-gpfs/fmri/cnari/apps/R_library
BSD RInvoke /disks/ci-gpfs/fmri/cnari/scripts/RInvoke.sh INSTALLED INTEL32::LINUX env::PATHPREFIX=/disks/ci-gpfs/fmri/SIDGrid/usr32/bin
BSD Rcmd /disks/ci-gpfs/fmri/cnari/scripts/Rcmd.sh INSTALLED INTEL32::LINUX env::R_LIBS=/disks/ci-gpfs/fmri/cnari/apps/R_library
-BSD Mediator /disks/ci-gpfs/fmri/cnari/scripts/Mediator.py INSTALLED INTEL32::LINUX null
+BSD Mediator /disks/ci-gpfs/fmri/cnari/scripts/Mediator.py INSTALLED INTEL32::LINUX env::PATHPREFIX=/disks/ci-gpfs/fmri/SIDGrid/usr32/bin
BSD env /usr/env INSTALLED INTEL32::LINUX null
BSD recon1 /disks/ci-gpfs/fmri/cnari/apps/freesurfer/bin/recon1.sh INSTALLED INTEL32::LINUX env::FREESURFER_HOME=/disks/ci-gpfs/fmri/cnari/apps/freesurfer
BSD recon2L /disks/ci-gpfs/fmri/cnari/apps/freesurfer/bin/recon2L.sh INSTALLED INTEL32::LINUX env::FREESURFER_HOME=/disks/ci-gpfs/fmri/cnari/apps/freesurfer
@@ -2444,8 +2444,13 @@
BIGRED echo /bin/echo INSTALLED INTEL64::LINUX null
BIGRED Mediator /N/u/tg-scommun/BigRed/sidgrid/scripts/Mediator.py INSTALLED INTEL64::LINUX GLOBUS::maxwalltime=120;env::PATHPREFIX=/N/u/tg-scommun/BigRed/sidgrid/usr/bin
-#----------------------------localhost----------------------
+#----------------------------localhost (will work on all bsd machines)----------------------
localhost RInvoke /disks/ci-gpfs/fmri/cnari/scripts/RInvoke.sh INSTALLED INTEL64::LINUX null
localhost echo /bin/echo INSTALLED INTEL64::LINUX null
-localhost AFNI_3dDeconvolve /disks/ci-gpfs/fmri/tools/AFNI/linux_gcc32/3dDeconvolve INSTALLED INTEL32::LINUX null
+localhost AFNI_3dDeconvolve /disks/ci-gpfs/fmri/tools/AFNI/linux_gcc32/3dDeconvolve INSTALLED INTEL64::LINUX null
+localhost recon1 /disks/ci-gpfs/fmri/cnari/apps/freesurfer/bin/recon1.sh INSTALLED INTEL64::LINUX env::FREESURFER_HOME=/disks/ci-gpfs/fmri/cnari/apps/freesurfer
+localhost recon2L /disks/ci-gpfs/fmri/cnari/apps/freesurfer/bin/recon2L.sh INSTALLED INTEL64::LINUX env::FREESURFER_HOME=/disks/ci-gpfs/fmri/cnari/apps/freesurfer
+localhost recon2R /disks/ci-gpfs/fmri/cnari/apps/freesurfer/bin/recon2R.sh INSTALLED INTEL64::LINUX env::FREESURFER_HOME=/disks/ci-gpfs/fmri/cnari/apps/freesurfer
+localhost autorecon2_BOTH /disks/ci-gpfs/fmri/cnari/apps/freesurfer/bin/autorecon2_BOTH.sh INSTALLED INTEL64::LINUX env::FREESURFER_HOME=/disks/ci-gpfs/fmri/cnari/apps/freesurfer
+localhost reconFINAL /disks/ci-gpfs/fmri/cnari/apps/freesurfer/bin/reconFINAL.sh INSTALLED INTEL64::LINUX env::FREESURFER_HOME=/disks/ci-gpfs/fmri/cnari/apps/freesurfer
From noreply at svn.ci.uchicago.edu Mon Jun 15 09:42:12 2009
From: noreply at svn.ci.uchicago.edu (noreply at svn.ci.uchicago.edu)
Date: Mon, 15 Jun 2009 09:42:12 -0500 (CDT)
Subject: [Swift-commit] r2956 -
SwiftApps/SIDGrid/swift/swift_scripts/freesurfer
Message-ID: <20090615144212.A33369CD19@vm-125-59.ci.uchicago.edu>
Author: skenny
Date: 2009-06-15 09:42:12 -0500 (Mon, 15 Jun 2009)
New Revision: 2956
Removed:
SwiftApps/SIDGrid/swift/swift_scripts/freesurfer/autorecon1.swift
Log:
no longer valid
Deleted: SwiftApps/SIDGrid/swift/swift_scripts/freesurfer/autorecon1.swift
===================================================================
--- SwiftApps/SIDGrid/swift/swift_scripts/freesurfer/autorecon1.swift 2009-06-13 23:19:42 UTC (rev 2955)
+++ SwiftApps/SIDGrid/swift/swift_scripts/freesurfer/autorecon1.swift 2009-06-15 14:42:12 UTC (rev 2956)
@@ -1,51 +0,0 @@
-type file {}
-type mgzfile;
-
-(file job_00) new_subject (string subj, mgzfile inimage) {
- app {
- create_subject @arg("user") subj @inimage stdout=@filename(job_00);
- }
-}
-
-(file job_01) autorecon1_4 (string subj, file job_00) {
- app {
- reconall @arg("user") @strcat("-s ", subj, " -nuintensitycor") stdout=@filename(job_01);
- }
-}
-
-(file job_02) autorecon1_5 (string subj, file job_01) {
- app {
- reconall @arg("user") @strcat("-s ", subj, " -talairach") stdout=@filename(job_02);
- }
-}
-
-(file job_03) autorecon1_6 (string subj, file job_02) {
- app {
- reconall @arg("user") @strcat("-s ", subj, " -normalization") stdout=@filename(job_03);
- }
-}
-
-(file job_04) autorecon1_7 (string subj, file job_03) {
- app {
- reconall @arg("user") @strcat("-s ", subj, " -skullstrip") stdout=@filename(job_04);
- }
-}
-
-### tars the subject dir on remote site for tranfer back to host
-
-(file subject_data) get_subject (string subj, file job_04) {
- app {
- get_subject @arg("subject_path") subj @subject_data;
- }
-}
-
-mgzfile inimage ;
-string subj = @arg("subj");
-
-file sigstring00 = new_subject(subj, inimage);
-file sigstring01 = autorecon1_4(subj, sigstring00);
-file sigstring02 = autorecon1_5(subj, sigstring01);
-file sigstring03 = autorecon1_6(subj, sigstring02);
-file sigstring04 = autorecon1_7(subj, sigstring03);
-file subject_data ;
-subject_data = get_subject(subj, sigstring04);
From noreply at svn.ci.uchicago.edu Mon Jun 15 10:06:54 2009
From: noreply at svn.ci.uchicago.edu (noreply at svn.ci.uchicago.edu)
Date: Mon, 15 Jun 2009 10:06:54 -0500 (CDT)
Subject: [Swift-commit] r2957 - SwiftApps/SIDGrid/config
Message-ID: <20090615150654.DC7109CD19@vm-125-59.ci.uchicago.edu>
Author: skenny
Date: 2009-06-15 10:06:54 -0500 (Mon, 15 Jun 2009)
New Revision: 2957
Modified:
SwiftApps/SIDGrid/config/sites_ranger.xml
Log:
goes to long queue
Modified: SwiftApps/SIDGrid/config/sites_ranger.xml
===================================================================
--- SwiftApps/SIDGrid/config/sites_ranger.xml 2009-06-15 14:42:12 UTC (rev 2956)
+++ SwiftApps/SIDGrid/config/sites_ranger.xml 2009-06-15 15:06:54 UTC (rev 2957)
@@ -10,7 +10,7 @@
1
8
TG-DBS080004N
- normal
+ long
16
From noreply at svn.ci.uchicago.edu Tue Jun 16 10:19:51 2009
From: noreply at svn.ci.uchicago.edu (noreply at svn.ci.uchicago.edu)
Date: Tue, 16 Jun 2009 10:19:51 -0500 (CDT)
Subject: [Swift-commit] r2958 -
trunk/src/org/griphyn/vdl/karajan/lib/swiftscript
Message-ID: <20090616151951.B4DE09CCB0@vm-125-59.ci.uchicago.edu>
Author: benc
Date: 2009-06-16 10:19:51 -0500 (Tue, 16 Jun 2009)
New Revision: 2958
Modified:
trunk/src/org/griphyn/vdl/karajan/lib/swiftscript/FileNames.java
Log:
Make @filenames return a DSHandle representing an array of strings, rather than a (Java level) array containing DSHandles representing strings.
Modified: trunk/src/org/griphyn/vdl/karajan/lib/swiftscript/FileNames.java
===================================================================
--- trunk/src/org/griphyn/vdl/karajan/lib/swiftscript/FileNames.java 2009-06-15 15:06:54 UTC (rev 2957)
+++ trunk/src/org/griphyn/vdl/karajan/lib/swiftscript/FileNames.java 2009-06-16 15:19:51 UTC (rev 2958)
@@ -8,7 +8,10 @@
import org.globus.cog.karajan.workflow.ExecutionException;
import org.griphyn.vdl.karajan.lib.VDLFunction;
import org.griphyn.vdl.mapping.DSHandle;
+import org.griphyn.vdl.mapping.InvalidPathException;
+import org.griphyn.vdl.mapping.Path;
import org.griphyn.vdl.mapping.RootDataNode;
+import org.griphyn.vdl.mapping.RootArrayDataNode;
import org.griphyn.vdl.type.Types;
public class FileNames extends VDLFunction {
@@ -18,10 +21,16 @@
public Object function(VariableStack stack) throws ExecutionException {
String[] f = filename(stack);
- DSHandle[] h = new DSHandle[f.length];
- for (int i = 0; i < f.length; i++) {
- h[i] = RootDataNode.newNode(Types.STRING, relativize(f[i]));
+ DSHandle returnArray = new RootArrayDataNode(Types.STRING.arrayType());
+ try {
+ for (int i = 0; i < f.length; i++) {
+ Path p = parsePath("["+i+"]", stack);
+ DSHandle h = returnArray.getField(p);
+ h.setValue(relativize(f[i]));
+ }
+ } catch (InvalidPathException e) {
+ throw new ExecutionException("Unexpected invalid path exception",e);
}
- return h;
+ return returnArray;
}
}
From noreply at svn.ci.uchicago.edu Tue Jun 16 10:20:21 2009
From: noreply at svn.ci.uchicago.edu (noreply at svn.ci.uchicago.edu)
Date: Tue, 16 Jun 2009 10:20:21 -0500 (CDT)
Subject: [Swift-commit] r2959 - in trunk/src/org/griphyn/vdl/karajan/lib: .
swiftscript
Message-ID: <20090616152021.EE5209CCB0@vm-125-59.ci.uchicago.edu>
Author: benc
Date: 2009-06-16 10:20:21 -0500 (Tue, 16 Jun 2009)
New Revision: 2959
Modified:
trunk/src/org/griphyn/vdl/karajan/lib/VDLFunction.java
trunk/src/org/griphyn/vdl/karajan/lib/swiftscript/ExtractInt.java
trunk/src/org/griphyn/vdl/karajan/lib/swiftscript/FileName.java
trunk/src/org/griphyn/vdl/karajan/lib/swiftscript/FileNames.java
trunk/src/org/griphyn/vdl/karajan/lib/swiftscript/FnArg.java
trunk/src/org/griphyn/vdl/karajan/lib/swiftscript/Misc.java
Log:
Add logging of provenance information for @functions.
Modified: trunk/src/org/griphyn/vdl/karajan/lib/VDLFunction.java
===================================================================
--- trunk/src/org/griphyn/vdl/karajan/lib/VDLFunction.java 2009-06-16 15:19:51 UTC (rev 2958)
+++ trunk/src/org/griphyn/vdl/karajan/lib/VDLFunction.java 2009-06-16 15:20:21 UTC (rev 2959)
@@ -572,4 +572,19 @@
return tc;
}
}
+
+ private static int provenanceIDCount = 451000;
+
+ public static synchronized int nextProvenanceID() {
+ return provenanceIDCount++;
+ }
+
+ public static void logProvenanceResult(int id, DSHandle result, String name) throws ExecutionException {
+ logger.info("FUNCTION id="+id+" name="+name+" result="+result.getIdentifier());
+ }
+
+ public static void logProvenanceParameter(int id, DSHandle parameter, String paramName) throws ExecutionException {
+ logger.info("FUNCTIONPARAMETER id="+id+" input="+parameter.getIdentifier()+" name="+paramName);
+
+ }
}
Modified: trunk/src/org/griphyn/vdl/karajan/lib/swiftscript/ExtractInt.java
===================================================================
--- trunk/src/org/griphyn/vdl/karajan/lib/swiftscript/ExtractInt.java 2009-06-16 15:19:51 UTC (rev 2958)
+++ trunk/src/org/griphyn/vdl/karajan/lib/swiftscript/ExtractInt.java 2009-06-16 15:20:21 UTC (rev 2959)
@@ -35,7 +35,11 @@
String str = breader.readLine();
freader.close();
Double i = new Double(str);
- return RootDataNode.newNode(Types.FLOAT, i);
+ DSHandle result = RootDataNode.newNode(Types.FLOAT, i);
+ int provid = VDLFunction.nextProvenanceID();
+ VDLFunction.logProvenanceResult(provid, result, "extractint");
+ VDLFunction.logProvenanceParameter(provid, handle, "filename");
+ return result;
}
}
catch (IOException ioe) {
Modified: trunk/src/org/griphyn/vdl/karajan/lib/swiftscript/FileName.java
===================================================================
--- trunk/src/org/griphyn/vdl/karajan/lib/swiftscript/FileName.java 2009-06-16 15:19:51 UTC (rev 2958)
+++ trunk/src/org/griphyn/vdl/karajan/lib/swiftscript/FileName.java 2009-06-16 15:20:21 UTC (rev 2959)
@@ -6,6 +6,7 @@
import org.globus.cog.karajan.workflow.futures.FutureNotYetAvailable;
import org.griphyn.vdl.karajan.VDL2FutureException;
import org.griphyn.vdl.karajan.lib.VDLFunction;
+import org.griphyn.vdl.mapping.DSHandle;
import org.griphyn.vdl.mapping.RootDataNode;
import org.griphyn.vdl.type.Types;
@@ -17,7 +18,11 @@
public Object function(VariableStack stack) throws ExecutionException {
try {
String s = argList(filename(stack), true);
- return RootDataNode.newNode(Types.STRING, s);
+ DSHandle result = RootDataNode.newNode(Types.STRING, s);
+ int provid = VDLFunction.nextProvenanceID();
+ VDLFunction.logProvenanceParameter(provid, (DSHandle) PA_VAR.getValue(stack), "input");
+ VDLFunction.logProvenanceResult(provid, result, "filename");
+ return result;
} catch(VDL2FutureException ve) {
synchronized(ve.getHandle().getRoot()) {
throw new FutureNotYetAvailable(addFutureListener(stack, ve.getHandle()));
Modified: trunk/src/org/griphyn/vdl/karajan/lib/swiftscript/FileNames.java
===================================================================
--- trunk/src/org/griphyn/vdl/karajan/lib/swiftscript/FileNames.java 2009-06-16 15:19:51 UTC (rev 2958)
+++ trunk/src/org/griphyn/vdl/karajan/lib/swiftscript/FileNames.java 2009-06-16 15:20:21 UTC (rev 2959)
@@ -31,6 +31,10 @@
} catch (InvalidPathException e) {
throw new ExecutionException("Unexpected invalid path exception",e);
}
+ int provid = VDLFunction.nextProvenanceID();
+ logProvenanceParameter(provid, (DSHandle) PA_VAR.getValue(stack), "input");
+ logProvenanceResult(provid, returnArray, "filenames");
+
return returnArray;
}
}
Modified: trunk/src/org/griphyn/vdl/karajan/lib/swiftscript/FnArg.java
===================================================================
--- trunk/src/org/griphyn/vdl/karajan/lib/swiftscript/FnArg.java 2009-06-16 15:19:51 UTC (rev 2958)
+++ trunk/src/org/griphyn/vdl/karajan/lib/swiftscript/FnArg.java 2009-06-16 15:20:21 UTC (rev 2959)
@@ -15,9 +15,12 @@
import org.globus.cog.karajan.workflow.ExecutionException;
import org.globus.cog.karajan.workflow.nodes.functions.AbstractFunction;
import org.griphyn.vdl.karajan.lib.SwiftArg;
+import org.griphyn.vdl.karajan.lib.VDLFunction;
+import org.griphyn.vdl.mapping.DSHandle;
import org.griphyn.vdl.mapping.RootDataNode;
import org.griphyn.vdl.type.Types;
+
public class FnArg extends AbstractFunction {
public static final String PARSED_ARGS = "cmdline:named";
@@ -65,7 +68,14 @@
throw new ExecutionException("Missing command line argument: " + name);
}
else {
- return RootDataNode.newNode(Types.STRING, value);
+ DSHandle result = RootDataNode.newNode(Types.STRING, value);
+ int provid=VDLFunction.nextProvenanceID();
+ VDLFunction.logProvenanceResult(provid, result, "arg");
+ VDLFunction.logProvenanceParameter(provid, P_NAME.getRawValue(stack), "name");
+ if(P_VALUE.getRawValue(stack) != null) {
+ VDLFunction.logProvenanceParameter(provid, P_VALUE.getRawValue(stack), "value");
+ }
+ return result;
}
}
}
Modified: trunk/src/org/griphyn/vdl/karajan/lib/swiftscript/Misc.java
===================================================================
--- trunk/src/org/griphyn/vdl/karajan/lib/swiftscript/Misc.java 2009-06-16 15:19:51 UTC (rev 2958)
+++ trunk/src/org/griphyn/vdl/karajan/lib/swiftscript/Misc.java 2009-06-16 15:20:21 UTC (rev 2959)
@@ -1,5 +1,7 @@
package org.griphyn.vdl.karajan.lib.swiftscript;
+import java.io.IOException;
+
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -18,11 +20,11 @@
import org.griphyn.vdl.mapping.RootDataNode;
import org.griphyn.vdl.type.NoSuchTypeException;
import org.griphyn.vdl.type.Types;
+import org.griphyn.vdl.util.VDL2Config;
-
public class Misc extends FunctionsCollection {
- private static final Logger logger = Logger.getLogger(FunctionsCollection.class);
+ private static final Logger logger = Logger.getLogger(Misc.class);
public static final SwiftArg PA_INPUT = new SwiftArg.Positional("input");
public static final SwiftArg PA_PATTERN = new SwiftArg.Positional("regexp");
@@ -58,6 +60,7 @@
public DSHandle swiftscript_strcat(VariableStack stack) throws ExecutionException, NoSuchTypeException,
InvalidPathException {
Object[] args = SwiftArg.VARGS.asArray(stack);
+ int provid = VDLFunction.nextProvenanceID();
StringBuffer buf = new StringBuffer();
for (int i = 0; i < args.length; i++) {
buf.append(TypeUtil.toString(args[i]));
@@ -65,11 +68,23 @@
DSHandle handle = new RootDataNode(Types.STRING);
handle.setValue(buf.toString());
handle.closeShallow();
+ try {
+ if(VDL2Config.getConfig().getProvenanceLog()) {
+ DSHandle[] provArgs = SwiftArg.VARGS.asDSHandleArray(stack);
+ for (int i = 0; i < provArgs.length; i++) {
+ VDLFunction.logProvenanceParameter(provid, (DSHandle)provArgs[i], ""+i);
+ }
+ VDLFunction.logProvenanceResult(provid, handle, "strcat");
+ }
+ } catch(IOException ioe) {
+ throw new ExecutionException("When logging provenance for strcat", ioe);
+ }
return handle;
}
public DSHandle swiftscript_strcut(VariableStack stack) throws ExecutionException, NoSuchTypeException,
InvalidPathException {
+ int provid = VDLFunction.nextProvenanceID();
String inputString = TypeUtil.toString(PA_INPUT.getValue(stack));
String pattern = TypeUtil.toString(PA_PATTERN.getValue(stack));
if (logger.isDebugEnabled()) {
@@ -95,6 +110,9 @@
DSHandle handle = new RootDataNode(Types.STRING);
handle.setValue(group);
handle.closeShallow();
+ VDLFunction.logProvenanceResult(provid, handle, "strcut");
+ VDLFunction.logProvenanceParameter(provid, PA_INPUT.getRawValue(stack), "input");
+ VDLFunction.logProvenanceParameter(provid, PA_PATTERN.getRawValue(stack), "pattern");
return handle;
}
@@ -111,6 +129,10 @@
el.setValue(split[i]);
}
handle.closeDeep();
+ int provid=VDLFunction.nextProvenanceID();
+ VDLFunction.logProvenanceResult(provid, handle, "strsplit");
+ VDLFunction.logProvenanceParameter(provid, PA_INPUT.getRawValue(stack), "input");
+ VDLFunction.logProvenanceParameter(provid, PA_PATTERN.getRawValue(stack), "pattern");
return handle;
}
@@ -142,6 +164,12 @@
DSHandle handle = new RootDataNode(Types.STRING);
handle.setValue(group);
handle.closeShallow();
+
+ int provid=VDLFunction.nextProvenanceID();
+ VDLFunction.logProvenanceResult(provid, handle, "regexp");
+ VDLFunction.logProvenanceParameter(provid, PA_INPUT.getRawValue(stack), "input");
+ VDLFunction.logProvenanceParameter(provid, PA_PATTERN.getRawValue(stack), "pattern");
+ VDLFunction.logProvenanceParameter(provid, PA_TRANSFORM.getRawValue(stack), "transform");
return handle;
}
@@ -151,7 +179,9 @@
DSHandle handle = new RootDataNode(Types.INT);
handle.setValue(new Double(Integer.parseInt(inputString)));
handle.closeShallow();
+ int provid=VDLFunction.nextProvenanceID();
+ VDLFunction.logProvenanceResult(provid, handle, "toint");
+ VDLFunction.logProvenanceParameter(provid, PA_INPUT.getRawValue(stack), "string");
return handle;
}
}
-
From noreply at svn.ci.uchicago.edu Tue Jun 16 11:06:23 2009
From: noreply at svn.ci.uchicago.edu (noreply at svn.ci.uchicago.edu)
Date: Tue, 16 Jun 2009 11:06:23 -0500 (CDT)
Subject: [Swift-commit] r2960 - trunk/src/org/griphyn/vdl/karajan/lib
Message-ID: <20090616160623.8D0009CCC6@vm-125-59.ci.uchicago.edu>
Author: benc
Date: 2009-06-16 11:06:23 -0500 (Tue, 16 Jun 2009)
New Revision: 2960
Modified:
trunk/src/org/griphyn/vdl/karajan/lib/CreateArray.java
Log:
provenance information for explicitly constructed arrays made with
vdl:createarray
Modified: trunk/src/org/griphyn/vdl/karajan/lib/CreateArray.java
===================================================================
--- trunk/src/org/griphyn/vdl/karajan/lib/CreateArray.java 2009-06-16 15:20:21 UTC (rev 2959)
+++ trunk/src/org/griphyn/vdl/karajan/lib/CreateArray.java 2009-06-16 16:06:23 UTC (rev 2960)
@@ -3,6 +3,8 @@
import java.util.Iterator;
import java.util.List;
+import org.apache.log4j.Logger;
+
import org.globus.cog.karajan.arguments.Arg;
import org.globus.cog.karajan.stack.VariableStack;
import org.globus.cog.karajan.workflow.ExecutionException;
@@ -12,6 +14,9 @@
import org.griphyn.vdl.type.Type;
public class CreateArray extends VDLFunction {
+
+ public static final Logger logger = Logger.getLogger(CreateArray.class);
+
public static final Arg PA_VALUE = new Arg.Positional("value");
static {
@@ -54,20 +59,24 @@
DSHandle handle = new RootArrayDataNode(type.arrayType());
+ logger.info("CREATEARRAY START array="+handle.getIdentifier());
+
int index = 0;
i = ((List) value).iterator();
while (i.hasNext()) {
// TODO check type consistency of elements with
// the type of the array
- Object n = i.next();
+ DSHandle n = (DSHandle) i.next();
+ // we know this DSHandle cast will work because we checked
+ // it in the previous scan of the array contents
Path p = Path.EMPTY_PATH.addLast(String.valueOf(index), true);
- // we know this DSHandle cast will work because we checked
- // it in the previous scan of the array contents
- handle.getField(p).set((DSHandle) n);
+ handle.getField(p).set(n);
+ logger.info("CREATEARRAY MEMBER array="+handle.getIdentifier()+" index="+index+" member="+n.getIdentifier());
index++;
}
closeShallow(stack, handle);
+ logger.info("CREATEARRAY COMPLETED array="+handle.getIdentifier());
return handle;
}
From noreply at svn.ci.uchicago.edu Tue Jun 16 11:41:54 2009
From: noreply at svn.ci.uchicago.edu (noreply at svn.ci.uchicago.edu)
Date: Tue, 16 Jun 2009 11:41:54 -0500 (CDT)
Subject: [Swift-commit] r2961 - trunk/resources
Message-ID: <20090616164154.2332E9CCC6@vm-125-59.ci.uchicago.edu>
Author: benc
Date: 2009-06-16 11:41:53 -0500 (Tue, 16 Jun 2009)
New Revision: 2961
Modified:
trunk/resources/Karajan.stg
Log:
provenance for array slices
Modified: trunk/resources/Karajan.stg
===================================================================
--- trunk/resources/Karajan.stg 2009-06-16 16:06:23 UTC (rev 2960)
+++ trunk/resources/Karajan.stg 2009-06-16 16:41:53 UTC (rev 2961)
@@ -459,11 +459,25 @@
>>
slicearray(parent, memberchild, datatype) ::= <<
-
- $parent$
- $memberchild$
- $datatype$
-
+
+ $parent$
+
+
+ swift#array
+ $memberchild$
+ $datatype$
+
+
+
+
+ SLICEARRAY thread={#thread} slice=
+
+ member=$memberchild$ array=
+
+
+
+ swift#slice
+
>>
From noreply at svn.ci.uchicago.edu Tue Jun 16 16:58:07 2009
From: noreply at svn.ci.uchicago.edu (noreply at svn.ci.uchicago.edu)
Date: Tue, 16 Jun 2009 16:58:07 -0500 (CDT)
Subject: [Swift-commit] r2962 - trunk/docs
Message-ID: <20090616215807.313DB9CCC6@vm-125-59.ci.uchicago.edu>
Author: benc
Date: 2009-06-16 16:58:06 -0500 (Tue, 16 Jun 2009)
New Revision: 2962
Modified:
trunk/docs/tutorial.xml
trunk/docs/userguide.xml
Log:
remove vestigial use of print in documentation
Modified: trunk/docs/tutorial.xml
===================================================================
--- trunk/docs/tutorial.xml 2009-06-16 16:41:53 UTC (rev 2961)
+++ trunk/docs/tutorial.xml 2009-06-16 21:58:06 UTC (rev 2962)
@@ -654,7 +654,7 @@
iterate v {
a[v+1] = countstep(a[v]);
- print("extract int value ", at extractint(a[v+1]));
+ trace("extract int value ", at extractint(a[v+1]));
} until (@extractint(a[v+1]) <= 1);
Modified: trunk/docs/userguide.xml
===================================================================
--- trunk/docs/userguide.xml 2009-06-16 16:41:53 UTC (rev 2961)
+++ trunk/docs/userguide.xml 2009-06-16 21:58:06 UTC (rev 2962)
@@ -2046,7 +2046,7 @@
string t = "my name is John and i like puppies.";
string name = @strcut(t, "my name is ([^ ]*) ");
string out = @strcat("Your name is ",name);
-print(out);
+trace(out);
@@ -2067,7 +2067,7 @@
string t = "my name is John and i like puppies.";
string words[] = @strsplit(t, "\\s");
foreach word in words {
- print(word);
+ trace(word);
}
From noreply at svn.ci.uchicago.edu Wed Jun 17 10:10:41 2009
From: noreply at svn.ci.uchicago.edu (noreply at svn.ci.uchicago.edu)
Date: Wed, 17 Jun 2009 10:10:41 -0500 (CDT)
Subject: [Swift-commit] r2963 - SwiftApps/SIDGrid/config
Message-ID: <20090617151041.69C079CCB0@vm-125-59.ci.uchicago.edu>
Author: skenny
Date: 2009-06-17 10:10:41 -0500 (Wed, 17 Jun 2009)
New Revision: 2963
Modified:
SwiftApps/SIDGrid/config/sites_ranger.xml
Log:
spec walltime
Modified: SwiftApps/SIDGrid/config/sites_ranger.xml
===================================================================
--- SwiftApps/SIDGrid/config/sites_ranger.xml 2009-06-16 21:58:06 UTC (rev 2962)
+++ SwiftApps/SIDGrid/config/sites_ranger.xml 2009-06-17 15:10:41 UTC (rev 2963)
@@ -11,6 +11,7 @@
8
TG-DBS080004N
long
+ 1000
16
From noreply at svn.ci.uchicago.edu Fri Jun 19 09:04:44 2009
From: noreply at svn.ci.uchicago.edu (noreply at svn.ci.uchicago.edu)
Date: Fri, 19 Jun 2009 09:04:44 -0500 (CDT)
Subject: [Swift-commit] r2964 - trunk/docs
Message-ID: <20090619140444.DDE5F9CCA7@vm-125-59.ci.uchicago.edu>
Author: benc
Date: 2009-06-19 09:04:44 -0500 (Fri, 19 Jun 2009)
New Revision: 2964
Modified:
trunk/docs/tutorial.xml
Log:
remove outdated references in tutorial that referred to examples/vdsk rather than examples/swift
Modified: trunk/docs/tutorial.xml
===================================================================
--- trunk/docs/tutorial.xml 2009-06-17 15:10:41 UTC (rev 2963)
+++ trunk/docs/tutorial.xml 2009-06-19 14:04:44 UTC (rev 2964)
@@ -44,7 +44,7 @@
Hello World
The first example program (found in the file
-examples/vdsk/first.swift)
+examples/swift/first.swift)
outputs a hello world message into
a file called hello.txt.
@@ -66,7 +66,7 @@
We can run this program as follows:
-$ cd examples/vdsk/
+$ cd examples/swift/
$ swift first.swift
Swift v0.2
From noreply at svn.ci.uchicago.edu Mon Jun 22 03:08:26 2009
From: noreply at svn.ci.uchicago.edu (noreply at svn.ci.uchicago.edu)
Date: Mon, 22 Jun 2009 03:08:26 -0500 (CDT)
Subject: [Swift-commit] r2965 - trunk/resources
Message-ID: <20090622080826.C43359CC7E@vm-125-59.ci.uchicago.edu>
Author: benc
Date: 2009-06-22 03:08:25 -0500 (Mon, 22 Jun 2009)
New Revision: 2965
Modified:
trunk/resources/Karajan.stg
Log:
provenance information for range-described arrays
Modified: trunk/resources/Karajan.stg
===================================================================
--- trunk/resources/Karajan.stg 2009-06-19 14:04:44 UTC (rev 2964)
+++ trunk/resources/Karajan.stg 2009-06-22 08:08:25 UTC (rev 2965)
@@ -320,19 +320,38 @@
>>
range(from,to,step,datatype) ::= <<
-
-
- $from$
-
-
- $to$
-
- $if(step)$
-
- $step$
-
- $endif$
-
+
+ $from$
+ $to$
+ $if(step)$
+ $step$
+ $endif$
+
+
+ swift#from
+ swift#to
+ $if(step)$
+ swift#step
+ $endif$
+
+
+ provenance.logtrue
+
+
+ ARRAYRANGE thread={#thread} array=
+
+ from=
+ to=
+ $if(step)$
+ step=
+ $else$
+ step=none
+ $endif$
+
+
+
+ swift#rangeout
+
>>
if(condition,vthen,velse) ::= <<
From noreply at svn.ci.uchicago.edu Mon Jun 22 04:02:34 2009
From: noreply at svn.ci.uchicago.edu (noreply at svn.ci.uchicago.edu)
Date: Mon, 22 Jun 2009 04:02:34 -0500 (CDT)
Subject: [Swift-commit] r2966 - in trunk: libexec resources
src/org/griphyn/vdl/engine
Message-ID: <20090622090234.1D1309CC8C@vm-125-59.ci.uchicago.edu>
Author: benc
Date: 2009-06-22 04:02:33 -0500 (Mon, 22 Jun 2009)
New Revision: 2966
Modified:
trunk/libexec/vdl.k
trunk/resources/Karajan.stg
trunk/src/org/griphyn/vdl/engine/Karajan.java
trunk/src/org/griphyn/vdl/engine/ProcedureSignature.java
Log:
Log parameters and return values from inbuild procedures for provenance
purposes.
This patch maybe also gives the base support removing @function/procedure
distinction in SwiftScript whilst allowing the underlying implementation
to have multiple forms of calling semantics, by introducing a calling
convention field for all procedure definitions.
Modified: trunk/libexec/vdl.k
===================================================================
--- trunk/libexec/vdl.k 2009-06-22 08:08:25 UTC (rev 2965)
+++ trunk/libexec/vdl.k 2009-06-22 09:02:33 UTC (rev 2966)
@@ -23,11 +23,11 @@
export(
- element(parameterlog, [direction, variable, id],
+ element(parameterlog, [direction, variable, id, thread],
if(
vdl:configProperty("provenance.log") == "true"
- log("info","PARAM thread={#thread} direction={direction} variable={variable} provenanceid={id}")
+ log("info","PARAM thread={thread} direction={direction} variable={variable} provenanceid={id}")
)
)
Modified: trunk/resources/Karajan.stg
===================================================================
--- trunk/resources/Karajan.stg 2009-06-22 08:08:25 UTC (rev 2965)
+++ trunk/resources/Karajan.stg 2009-06-22 09:02:33 UTC (rev 2966)
@@ -117,6 +117,7 @@
input
$it.name$
+{#thread}
>>
@@ -125,6 +126,7 @@
output
$it.name$
+{#thread}
>>
@@ -220,9 +222,53 @@
>>
-call(func, outputs, inputs) ::= <<
+// need to log inputs and outputs at the calling stage here because
+// they are not
+// $outputs:vdl_log_output();separator="\n"$
+
+callInternal(func, outputs, inputs) ::= <<
+
+
+#thread
<$func$>
+ $outputs:callInternal_log_output();separator="\n"$
+ $inputs:callInternal_log_input();separator="\n"$
+
+$func$>
+
+
+>>
+
+callInternal_log_input() ::= <<
+
+ $it$
+
+ input
+ TODO_name_or_pos
+
+ {swift#cs}
+
+ swift#callInternalValue
+
+>>
+
+callInternal_log_output() ::= <<
+
+ $it$
+
+ output
+ TODO_name_or_pos
+
+ {swift#cs}
+
+ swift#callInternalValue
+
+>>
+
+callUserDefined(func, outputs, inputs) ::= <<
+<$func$>
+
$outputs;separator="\n"$
$inputs;separator="\n"$
Modified: trunk/src/org/griphyn/vdl/engine/Karajan.java
===================================================================
--- trunk/src/org/griphyn/vdl/engine/Karajan.java 2009-06-22 08:08:25 UTC (rev 2965)
+++ trunk/src/org/griphyn/vdl/engine/Karajan.java 2009-06-22 09:02:33 UTC (rev 2966)
@@ -406,8 +406,6 @@
public StringTemplate call(Call call, VariableScope scope, boolean inhibitOutput) throws CompilationException {
try {
- StringTemplate callST = template("call");
- callST.setAttribute("func", call.getProc().getLocalPart());
// Check is called procedure declared previously
String procName = call.getProc().getLocalPart();
if (proceduresMap.get(procName) == null)
@@ -419,6 +417,15 @@
Map outArgs = new HashMap();
ProcedureSignature proc = (ProcedureSignature)proceduresMap.get(procName);
+ StringTemplate callST;
+ if(proc.getInvocationMode() == ProcedureSignature.INVOCATION_USERDEFINED) {
+ callST = template("callUserDefined");
+ } else if(proc.getInvocationMode() == ProcedureSignature.INVOCATION_INTERNAL) {
+ callST = template("callInternal");
+ } else {
+ throw new CompilationException("Unknown procedure invocation mode "+proc.getInvocationMode());
+ }
+ callST.setAttribute("func", call.getProc().getLocalPart());
/* Does number of input arguments match */
for (int i = 0; i < proc.sizeOfInputArray(); i++) {
if (proc.getInputArray(i).isOptional())
Modified: trunk/src/org/griphyn/vdl/engine/ProcedureSignature.java
===================================================================
--- trunk/src/org/griphyn/vdl/engine/ProcedureSignature.java 2009-06-22 08:08:25 UTC (rev 2965)
+++ trunk/src/org/griphyn/vdl/engine/ProcedureSignature.java 2009-06-22 09:02:33 UTC (rev 2966)
@@ -13,14 +13,21 @@
private ArrayList outputArgs;
private boolean anyNumOfInputArgs;
private boolean anyNumOfOutputArgs; /* this is maybe unnecessary*/
+ private int invocationMode;
+
+ /* Procedure is built in to Swift. */
+ static public final int INVOCATION_INTERNAL = 600;
+
+ /* Procedure is user defined. */
+ static public final int INVOCATION_USERDEFINED = 601;
-
public ProcedureSignature(String name) {
this.name = name;
inputArgs = new ArrayList();
outputArgs = new ArrayList();
anyNumOfInputArgs = false;
anyNumOfOutputArgs = false;
+ invocationMode = INVOCATION_USERDEFINED;
}
public String getName() {
@@ -98,6 +105,14 @@
this.addOutputArg(fas);
}
}
+
+ public void setInvocationMode(int i) {
+ this.invocationMode = i;
+ }
+
+ public int getInvocationMode() {
+ return this.invocationMode;
+ }
public static HashMap makeProcedureSignatures() {
HashMap proceduresMap = new HashMap();
@@ -107,6 +122,7 @@
readData.addInputArg(rdInputArg);
FormalArgumentSignature rdOutputArg = new FormalArgumentSignature(true);
readData.addOutputArg(rdOutputArg);
+ readData.setInvocationMode(INVOCATION_INTERNAL);
proceduresMap.put("readData", readData);
ProcedureSignature readData2 = new ProcedureSignature("readData2");
@@ -114,10 +130,12 @@
readData2.addInputArg(rd2InputArg);
FormalArgumentSignature rd2OutputArg = new FormalArgumentSignature(true);
readData2.addOutputArg(rd2OutputArg);
+ readData2.setInvocationMode(INVOCATION_INTERNAL);
proceduresMap.put("readData2", readData2);
ProcedureSignature trace = new ProcedureSignature("trace");
trace.setAnyNumOfInputArgs();
+ trace.setInvocationMode(INVOCATION_INTERNAL);
proceduresMap.put("trace", trace);
return proceduresMap;
From noreply at svn.ci.uchicago.edu Mon Jun 22 06:14:00 2009
From: noreply at svn.ci.uchicago.edu (noreply at svn.ci.uchicago.edu)
Date: Mon, 22 Jun 2009 06:14:00 -0500 (CDT)
Subject: [Swift-commit] r2967 - in trunk: . libexec/log-processing
tests/language-behaviour
Message-ID: <20090622111400.716D79CC8C@vm-125-59.ci.uchicago.edu>
Author: benc
Date: 2009-06-22 06:14:00 -0500 (Mon, 22 Jun 2009)
New Revision: 2967
Added:
trunk/libexec/log-processing/log-to-internal-proc-transitions
Modified:
trunk/build.xml
trunk/libexec/log-processing/makefile
trunk/tests/language-behaviour/run
Log:
Log processing for internal procedure provenance logs
Modified: trunk/build.xml
===================================================================
--- trunk/build.xml 2009-06-22 09:02:33 UTC (rev 2966)
+++ trunk/build.xml 2009-06-22 11:14:00 UTC (rev 2967)
@@ -154,6 +154,7 @@
+
Added: trunk/libexec/log-processing/log-to-internal-proc-transitions
===================================================================
--- trunk/libexec/log-processing/log-to-internal-proc-transitions (rev 0)
+++ trunk/libexec/log-processing/log-to-internal-proc-transitions 2009-06-22 11:14:00 UTC (rev 2967)
@@ -0,0 +1,17 @@
+#!/bin/bash
+
+# this will take a log file and produce a set of state transition
+# events for every internal procedure
+
+# 2009-05-04 18:02:15,499+0200 INFO vdl:mains INTERNALPROC_START thread=0-1 name=trace
+
+# 2009-05-04 18:02:15,556+0200 INFO vdl:mains INTERNALPROC_END thread=0-0
+
+
+grep ' INTERNALPROC_START ' $1 | iso-to-secs | \
+sed 's/^\(.*\) INFO [^ ]* INTERNALPROC_START thread=\([0-9\-]*\) name=\([^ ]*\).*$/\1 \2 START \3/'
+
+grep ' INTERNALPROC_END ' $1 | iso-to-secs | \
+sed 's/^\(.*\) INFO [^ ]* INTERNALPROC_END thread=\([0-9\-]*\).*$/\1 \2 END/'
+
+
Modified: trunk/libexec/log-processing/makefile
===================================================================
--- trunk/libexec/log-processing/makefile 2009-06-22 09:02:33 UTC (rev 2966)
+++ trunk/libexec/log-processing/makefile 2009-06-22 11:14:00 UTC (rev 2967)
@@ -100,6 +100,9 @@
compound.transitions: $(LOG)
log-to-compound-transitions $(LOG) > compound.transitions
+internalproc.transitions: $(LOG)
+ log-to-internal-proc-transitions $(LOG) > internalproc.transitions
+
## retry analysis
jobs.retrycount.summary: execute2.event
Modified: trunk/tests/language-behaviour/run
===================================================================
--- trunk/tests/language-behaviour/run 2009-06-22 09:02:33 UTC (rev 2966)
+++ trunk/tests/language-behaviour/run 2009-06-22 11:14:00 UTC (rev 2967)
@@ -90,9 +90,9 @@
fi
# check that all execute and execute2 IDs are unique
- swift-plot-log ${t}-*.log execute.transitions compound.transitions
- if [ "$( cat compound.transitions execute.transitions | grep ' START ' | cut -d ' ' -f 2 | sort | uniq -d)" != "" ]; then
- echo EXECUTE AND COMPOUND IDS NOT UNIQUE
+ swift-plot-log ${t}-*.log execute.transitions compound.transitions internalproc.transitions
+ if [ "$( cat compound.transitions execute.transitions internalproc.transitions | grep ' START ' | cut -d ' ' -f 2 | sort | uniq -d)" != "" ]; then
+ echo EXECUTE AND COMPOUND AND INTERNALPROC IDS NOT UNIQUE
exit 3
fi
From noreply at svn.ci.uchicago.edu Mon Jun 22 07:01:37 2009
From: noreply at svn.ci.uchicago.edu (noreply at svn.ci.uchicago.edu)
Date: Mon, 22 Jun 2009 07:01:37 -0500 (CDT)
Subject: [Swift-commit] r2968 - in trunk: resources tests/language-behaviour
Message-ID: <20090622120137.939B49CC7E@vm-125-59.ci.uchicago.edu>
Author: benc
Date: 2009-06-22 07:01:37 -0500 (Mon, 22 Jun 2009)
New Revision: 2968
Added:
trunk/tests/language-behaviour/00242-compound-with-vars.swift
Modified:
trunk/resources/Karajan.stg
Log:
log internal variables of compound procedures as if they are outputs. these
are distinguished by their names, as internal variable names appear in the
same namespace as return parameters.
Modified: trunk/resources/Karajan.stg
===================================================================
--- trunk/resources/Karajan.stg 2009-06-22 11:14:00 UTC (rev 2967)
+++ trunk/resources/Karajan.stg 2009-06-22 12:01:37 UTC (rev 2968)
@@ -307,6 +307,12 @@
$endif$
$endif$
+
+intermediate
+$name$
+
+{#thread}
+
>>
vdl_mapping(mapping,file,waitfor) ::= <<
Added: trunk/tests/language-behaviour/00242-compound-with-vars.swift
===================================================================
--- trunk/tests/language-behaviour/00242-compound-with-vars.swift (rev 0)
+++ trunk/tests/language-behaviour/00242-compound-with-vars.swift 2009-06-22 12:01:37 UTC (rev 2968)
@@ -0,0 +1,20 @@
+type messagefile {}
+
+(messagefile t) greeting(string m) {
+ app {
+ echo m stdout=@filename(t);
+ }
+}
+
+(messagefile first, messagefile second) compound() {
+ string third="f";
+ first = greeting(third);
+ second = greeting("s");
+}
+
+messagefile a <"0024-compound.Q.out">;
+messagefile b <"0024-compound.R.out">;
+
+(a,b) = compound();
+
+
From noreply at svn.ci.uchicago.edu Mon Jun 22 07:47:08 2009
From: noreply at svn.ci.uchicago.edu (noreply at svn.ci.uchicago.edu)
Date: Mon, 22 Jun 2009 07:47:08 -0500 (CDT)
Subject: [Swift-commit] r2969 - trunk/src/org/griphyn/vdl/mapping
Message-ID: <20090622124708.4DD699CC8C@vm-125-59.ci.uchicago.edu>
Author: benc
Date: 2009-06-22 07:47:07 -0500 (Mon, 22 Jun 2009)
New Revision: 2969
Modified:
trunk/src/org/griphyn/vdl/mapping/AbstractDataNode.java
Log:
FILENAME logs should only be output for file-mapped types, not for
externals, arrays, structs or primitive types.
Modified: trunk/src/org/griphyn/vdl/mapping/AbstractDataNode.java
===================================================================
--- trunk/src/org/griphyn/vdl/mapping/AbstractDataNode.java 2009-06-22 12:01:37 UTC (rev 2968)
+++ trunk/src/org/griphyn/vdl/mapping/AbstractDataNode.java 2009-06-22 12:47:07 UTC (rev 2969)
@@ -447,10 +447,30 @@
// anyway - should perhaps only be trying to map leafnodes?
// Mapping
// non-leaf stuff is giving wierd paths anyway
+
+// TODO this is perhaps an unpleasant way of finding if this is a file-backed
+// leaf node or not
+ boolean filemapped = true;
+ Type type = this.getType();
+ if(type.getName().equals("external")) {
+ filemapped = false;
+ }
+ if(type.isPrimitive()) {
+ filemapped = false;
+ }
+ if(type.isArray()) {
+ filemapped = false;
+ }
+ if(handles.size()>0) {
+ filemapped = false;
+ }
+
try {
- Object path = m.map(pathFromRoot);
- logger.info("FILENAME dataset=" + identifier + " filename="
+ if(filemapped) {
+ Object path = m.map(pathFromRoot);
+ logger.info("FILENAME dataset=" + identifier + " filename="
+ path);
+ }
}
catch (Exception e) {
logger.info("NOFILENAME dataset=" + identifier);
From noreply at svn.ci.uchicago.edu Mon Jun 22 08:40:53 2009
From: noreply at svn.ci.uchicago.edu (noreply at svn.ci.uchicago.edu)
Date: Mon, 22 Jun 2009 08:40:53 -0500 (CDT)
Subject: [Swift-commit] r2970 - trunk/libexec
Message-ID: <20090622134053.EE3A39CC8C@vm-125-59.ci.uchicago.edu>
Author: benc
Date: 2009-06-22 08:40:53 -0500 (Mon, 22 Jun 2009)
New Revision: 2970
Modified:
trunk/libexec/_swiftwrap
Log:
Make wrapper use mv to stage out files to shared directory rather than cp.
This should be faster when the job directories are on the same filesystem
as the site shared cache.
(suggested by tuecke)
Modified: trunk/libexec/_swiftwrap
===================================================================
--- trunk/libexec/_swiftwrap 2009-06-22 12:47:07 UTC (rev 2969)
+++ trunk/libexec/_swiftwrap 2009-06-22 13:40:53 UTC (rev 2970)
@@ -342,10 +342,10 @@
fail 254 "The following output files were not created by the application: $MISSING"
fi
-logstate "COPYING_OUTPUTS"
+logstate "MOVING_OUTPUTS"
for O in $OUTF ; do
- cp "$DIR/$O" "shared/$O" 2>&1 >& "$INFO"
- checkError 254 "Failed to copy output file $O to shared directory"
+ mv "$DIR/$O" "shared/$O" 2>&1 >& "$INFO"
+ checkError 254 "Failed to move output file $O to shared directory"
done
logstate "RM_JOBDIR"
From noreply at svn.ci.uchicago.edu Mon Jun 22 09:50:26 2009
From: noreply at svn.ci.uchicago.edu (noreply at svn.ci.uchicago.edu)
Date: Mon, 22 Jun 2009 09:50:26 -0500 (CDT)
Subject: [Swift-commit] r2971 - trunk/src/org/griphyn/vdl/karajan/lib
Message-ID: <20090622145026.EFB229CC7E@vm-125-59.ci.uchicago.edu>
Author: benc
Date: 2009-06-22 09:50:26 -0500 (Mon, 22 Jun 2009)
New Revision: 2971
Modified:
trunk/src/org/griphyn/vdl/karajan/lib/SwiftArg.java
Log:
handle nulls in SwiftArg - this makes misc/ordering-extern-notlazy test work again
Modified: trunk/src/org/griphyn/vdl/karajan/lib/SwiftArg.java
===================================================================
--- trunk/src/org/griphyn/vdl/karajan/lib/SwiftArg.java 2009-06-22 13:40:53 UTC (rev 2970)
+++ trunk/src/org/griphyn/vdl/karajan/lib/SwiftArg.java 2009-06-22 14:50:26 UTC (rev 2971)
@@ -89,6 +89,8 @@
Object v = super.getValue(stack);
if(v instanceof DSHandle) {
return (DSHandle)v;
+ } else if(v == null) {
+ return null;
} else {
throw new ExecutionException("Expected Swift data, but got some primitive type (" + v + ")");
}
From noreply at svn.ci.uchicago.edu Mon Jun 22 11:57:13 2009
From: noreply at svn.ci.uchicago.edu (noreply at svn.ci.uchicago.edu)
Date: Mon, 22 Jun 2009 11:57:13 -0500 (CDT)
Subject: [Swift-commit] r2972 - trunk/resources
Message-ID: <20090622165713.32C169CC7E@vm-125-59.ci.uchicago.edu>
Author: benc
Date: 2009-06-22 11:57:12 -0500 (Mon, 22 Jun 2009)
New Revision: 2972
Modified:
trunk/resources/swiftscript.g
Log:
Fix whitespace in parser variable declaration rules.
Modified: trunk/resources/swiftscript.g
===================================================================
--- trunk/resources/swiftscript.g 2009-06-22 14:50:26 UTC (rev 2971)
+++ trunk/resources/swiftscript.g 2009-06-22 16:57:12 UTC (rev 2972)
@@ -193,15 +193,15 @@
StringTemplate n=null;
StringTemplate thisTypeTemplate=null;
String thisType = (String) t.getAttribute("name");
- StringTemplate variable=null;
- StringTemplate m = null;
+ StringTemplate variable=null;
+ StringTemplate m = null;
}
:
n=declarator
(LBRACK RBRACK {thisType = thisType + "[]"; } )*
{
- thisTypeTemplate=template("type");
- thisTypeTemplate.setAttribute("name", thisType);
+ thisTypeTemplate=template("type");
+ thisTypeTemplate.setAttribute("name", thisType);
variable = template("variable");
variable.setAttribute("name", n);
variable.setAttribute("type", thisTypeTemplate);
From noreply at svn.ci.uchicago.edu Mon Jun 22 12:00:46 2009
From: noreply at svn.ci.uchicago.edu (noreply at svn.ci.uchicago.edu)
Date: Mon, 22 Jun 2009 12:00:46 -0500 (CDT)
Subject: [Swift-commit] r2973 - in trunk: resources
src/org/griphyn/vdl/engine
Message-ID: <20090622170046.DA6C29CC7E@vm-125-59.ci.uchicago.edu>
Author: benc
Date: 2009-06-22 12:00:46 -0500 (Mon, 22 Jun 2009)
New Revision: 2973
Modified:
trunk/resources/Karajan.stg
trunk/resources/swiftscript.xsd
trunk/src/org/griphyn/vdl/engine/Karajan.java
Log:
Remove isArray attribute from variables in the XML representation of
SwiftScript, because arrayness is stored in the type attribute now.
Modified: trunk/resources/Karajan.stg
===================================================================
--- trunk/resources/Karajan.stg 2009-06-22 16:57:12 UTC (rev 2972)
+++ trunk/resources/Karajan.stg 2009-06-22 17:00:46 UTC (rev 2973)
@@ -97,7 +97,7 @@
>>
typecheck() ::= <<
-
+
>>
vdl_execute(outputs,inputs,application,name,line) ::= <<
@@ -291,15 +291,15 @@
>>
-variable(name,type,isArray,expr,mapping,nil,file,waitfor,datatype) ::= <<
+variable(name,type,expr,mapping,nil,file,waitfor,datatype) ::= <<
$if(mapping)$
-
+
$vdl_mapping(mapping=mapping,file=file,waitfor=waitfor)$
$else$
$if(file)$
-
+
$vdl_mapping(mapping=mapping,file=file,waitfor=waitfor)$
$else$
Modified: trunk/resources/swiftscript.xsd
===================================================================
--- trunk/resources/swiftscript.xsd 2009-06-22 16:57:12 UTC (rev 2972)
+++ trunk/resources/swiftscript.xsd 2009-06-22 17:00:46 UTC (rev 2973)
@@ -129,8 +129,6 @@
-
-
@@ -302,8 +300,6 @@
-
-
Modified: trunk/src/org/griphyn/vdl/engine/Karajan.java
===================================================================
--- trunk/src/org/griphyn/vdl/engine/Karajan.java 2009-06-22 16:57:12 UTC (rev 2972)
+++ trunk/src/org/griphyn/vdl/engine/Karajan.java 2009-06-22 17:00:46 UTC (rev 2973)
@@ -242,7 +242,6 @@
typeST.setAttribute("name", param.getType().getLocalPart());
typeST.setAttribute("namespace", param.getType().getNamespaceURI());
paramST.setAttribute("type", typeST);
- paramST.setAttribute("isArray", new Boolean(param.getIsArray1()));
if(!param.isNil())
paramST.setAttribute("default",expressionToKarajan(param.getAbstractExpression(), scope));
return paramST;
@@ -252,7 +251,6 @@
StringTemplate variableST = template("variable");
variableST.setAttribute("name", var.getName());
variableST.setAttribute("type", var.getType().getLocalPart());
- variableST.setAttribute("isArray", Boolean.valueOf(var.getIsArray1()));
checkIsTypeDefined(var.getType().getLocalPart());
if(!var.isNil()) {
From noreply at svn.ci.uchicago.edu Mon Jun 22 16:29:06 2009
From: noreply at svn.ci.uchicago.edu (noreply at svn.ci.uchicago.edu)
Date: Mon, 22 Jun 2009 16:29:06 -0500 (CDT)
Subject: [Swift-commit] r2974 - trunk/docs
Message-ID: <20090622212906.A42679CC8C@vm-125-59.ci.uchicago.edu>
Author: benc
Date: 2009-06-22 16:29:06 -0500 (Mon, 22 Jun 2009)
New Revision: 2974
Modified:
trunk/docs/log-processing.xml
Log:
remove outdated notes for log-processing
Modified: trunk/docs/log-processing.xml
===================================================================
--- trunk/docs/log-processing.xml 2009-06-22 17:00:46 UTC (rev 2973)
+++ trunk/docs/log-processing.xml 2009-06-22 21:29:06 UTC (rev 2974)
@@ -11,17 +11,9 @@
Overview
-There is an under-development package of Swift log processing utilties.
+There is a package of Swift log processing utilties.
-
-This code is not distributed in the main Swift release. Instead, it must be
-obtained from the Swift SVN repository, in the directory
-log-processing/:
-
-svn co https://svn.ci.uchicago.edu/svn/vdl2/log-processing
-
-
Prerequisites
@@ -32,8 +24,6 @@
Web page about a run
-cd log-processing/bin
-export PATH=$(pwd):$PATH
swift-plot-log /path/to/readData-20080304-0903-xgqf5nhe.log
This will create a web page, report-readData-20080304-0903-xgqf5nhe
@@ -47,7 +37,7 @@
The log processing tools can output transition streams in
CEDPS logging format:
-make LOG=/path/to/readData-20080304-0903-xgqf5nhe.log clean execute.cedps
+swift-plot-log /path/to/readData-20080304-0903-xgqf5nhe.log execute.cedps
@@ -79,14 +69,14 @@
Streams are generated from their source log files either as .transitions
-or .event files, for example by make foo.event.
+or .event files, for example by swift-plot-log whatever.log foo.event.
Various plots are available based on different streams:
- makefile targetDescription
+ Makefile targetDescription
foo.pngPlots the foo event stream
foo-total.pngPlots how many foo events are in progress at any time
From noreply at svn.ci.uchicago.edu Wed Jun 24 15:17:20 2009
From: noreply at svn.ci.uchicago.edu (noreply at svn.ci.uchicago.edu)
Date: Wed, 24 Jun 2009 15:17:20 -0500 (CDT)
Subject: [Swift-commit] r2975 - trunk/src/org/griphyn/vdl/engine
Message-ID: <20090624201720.C54629CC92@vm-125-59.ci.uchicago.edu>
Author: benc
Date: 2009-06-24 15:17:20 -0500 (Wed, 24 Jun 2009)
New Revision: 2975
Modified:
trunk/src/org/griphyn/vdl/engine/VariableScope.java
Log:
public modifier missing in one of the constants in VariableScope. added for
consistency.
Modified: trunk/src/org/griphyn/vdl/engine/VariableScope.java
===================================================================
--- trunk/src/org/griphyn/vdl/engine/VariableScope.java 2009-06-22 21:29:06 UTC (rev 2974)
+++ trunk/src/org/griphyn/vdl/engine/VariableScope.java 2009-06-24 20:17:20 UTC (rev 2975)
@@ -19,7 +19,7 @@
public class VariableScope {
/** permit array up-assignment, but not entire variables */
- final static int ENCLOSURE_LOOP = 301923;
+ public final static int ENCLOSURE_LOOP = 301923;
/** permit all upwards assignments */
public static final int ENCLOSURE_ALL = 301924;
From noreply at svn.ci.uchicago.edu Wed Jun 24 15:17:48 2009
From: noreply at svn.ci.uchicago.edu (noreply at svn.ci.uchicago.edu)
Date: Wed, 24 Jun 2009 15:17:48 -0500 (CDT)
Subject: [Swift-commit] r2976 - trunk/src/org/griphyn/vdl/engine
Message-ID: <20090624201748.642919CC92@vm-125-59.ci.uchicago.edu>
Author: benc
Date: 2009-06-24 15:17:48 -0500 (Wed, 24 Jun 2009)
New Revision: 2976
Modified:
trunk/src/org/griphyn/vdl/engine/VariableScope.java
Log:
variable scope debugging info should be DEBUG not INFO log level
Modified: trunk/src/org/griphyn/vdl/engine/VariableScope.java
===================================================================
--- trunk/src/org/griphyn/vdl/engine/VariableScope.java 2009-06-24 20:17:20 UTC (rev 2975)
+++ trunk/src/org/griphyn/vdl/engine/VariableScope.java 2009-06-24 20:17:48 UTC (rev 2976)
@@ -54,9 +54,9 @@
*/
public VariableScope(Karajan c, VariableScope parent, int a) {
if(parentScope!=null) {
- logger.info("New scope "+hashCode()+" with parent scope "+parentScope.hashCode());
+ logger.debug("New scope "+hashCode()+" with parent scope "+parentScope.hashCode());
} else {
- logger.info("New scope "+hashCode()+" with no parent.");
+ logger.debug("New scope "+hashCode()+" with no parent.");
}
compiler = c;
parentScope = parent;
@@ -75,7 +75,7 @@
declaration already exists. Perhaps error in same scope and
warning if it shadows an outer scope? */
public void addVariable(String name, String type) throws CompilationException {
- logger.info("Adding variable "+name+" of type "+type+" to scope "+hashCode());
+ logger.debug("Adding variable "+name+" of type "+type+" to scope "+hashCode());
if(isVariableDefined(name)) {
throw new CompilationException("Variable "+name+" is already defined.");
@@ -97,7 +97,7 @@
* an exception if the variable is defined in a parent scope
*/
public void addInternalVariable(String name, String type) throws CompilationException {
- logger.info("Adding internal variable " + name + " of type " + type + " to scope " + hashCode());
+ logger.debug("Adding internal variable " + name + " of type " + type + " to scope " + hashCode());
if(isVariableLocallyDefined(name)) {
throw new CompilationException("Variable " + name + " is already defined.");
@@ -162,7 +162,7 @@
}
ld.setAttribute("waitfor", closeID);
} else {
- logger.info("Variable "+variableName+" is local but has no template.");
+ logger.debug("Variable "+variableName+" is local but has no template.");
}
StringTemplate postST = compiler.template("partialclose");
postST.setAttribute("var", variableName);
@@ -189,7 +189,7 @@
if(!statementList.contains(closeID)) {
statementList.add(closeID);
}
- logger.info("added "+closeID+" to variable "+variableName+" in scope "+hashCode());
+ logger.debug("added "+closeID+" to variable "+variableName+" in scope "+hashCode());
} else {
throw new CompilationException("variable "+variableName+" is not writeable in this scope");
}
@@ -211,21 +211,21 @@
if(decls instanceof StringTemplate) {
StringTemplate declST = (StringTemplate) decls;
if(declST.getAttribute("name").equals(name)) {
-logger.info("thats the declaration for "+name);
+ logger.debug("thats the declaration for "+name);
return declST;
}
} else { // assume its a List
Iterator it = ((List) decls).iterator();
while(it.hasNext()) {
StringTemplate declST = (StringTemplate) it.next();
-logger.info("looking at declaration "+declST);
+ logger.debug("looking at declaration "+declST);
try {
if(declST.getAttribute("name").equals(name)) {
-logger.info("thats the declaration for "+name);
+ logger.debug("thats the declaration for "+name);
return declST;
}
} catch(java.util.NoSuchElementException nse) {
-logger.info("it so definitely wasn't in that one, we got an exception.");
+ logger.debug("it so definitely wasn't in that one, we got an exception.");
// TODO this is not a nice use of exceptions...
}
From noreply at svn.ci.uchicago.edu Wed Jun 24 15:18:32 2009
From: noreply at svn.ci.uchicago.edu (noreply at svn.ci.uchicago.edu)
Date: Wed, 24 Jun 2009 15:18:32 -0500 (CDT)
Subject: [Swift-commit] r2977 - in trunk: src/org/griphyn/vdl/engine
tests/language-behaviour
Message-ID: <20090624201832.B35659CC92@vm-125-59.ci.uchicago.edu>
Author: benc
Date: 2009-06-24 15:18:32 -0500 (Wed, 24 Jun 2009)
New Revision: 2977
Added:
trunk/tests/language-behaviour/0013-out-of-order.out.expected
trunk/tests/language-behaviour/0013-out-of-order.swift
Modified:
trunk/src/org/griphyn/vdl/engine/Karajan.java
Log:
split the declaration of variables into two stages: a stage where the
name and type are put in the scope symbol tables, and a stage where the
mapping expression (if it exists) is processed and variable template is
generated.
this is needed to allow global variables to be known before procedures
are processed.
Modified: trunk/src/org/griphyn/vdl/engine/Karajan.java
===================================================================
--- trunk/src/org/griphyn/vdl/engine/Karajan.java 2009-06-24 20:17:48 UTC (rev 2976)
+++ trunk/src/org/griphyn/vdl/engine/Karajan.java 2009-06-24 20:18:32 UTC (rev 2977)
@@ -173,6 +173,8 @@
}
}
+ statementsForSymbols(prog, scope);
+
// Keep track of declared procedures
for (int i = 0; i < prog.sizeOfProcedureArray(); i++) {
Procedure proc = prog.getProcedureArray(i);
@@ -231,6 +233,7 @@
else {
VariableScope compoundScope = new VariableScope(this, innerScope);
compoundScope.bodyTemplate = procST;
+ statementsForSymbols(proc, compoundScope);
statements(proc, compoundScope);
}
}
@@ -247,12 +250,17 @@
return paramST;
}
+ public void variableForSymbol(Variable var, VariableScope scope) throws CompilationException {
+
+ checkIsTypeDefined(var.getType().getLocalPart());
+ scope.addVariable(var.getName(), var.getType().getLocalPart());
+ }
+
public void variable(Variable var, VariableScope scope) throws CompilationException {
StringTemplate variableST = template("variable");
variableST.setAttribute("name", var.getName());
variableST.setAttribute("type", var.getType().getLocalPart());
-
- checkIsTypeDefined(var.getType().getLocalPart());
+
if(!var.isNil()) {
if (var.getFile() != null) {
@@ -323,8 +331,8 @@
variableST.setAttribute("mapping", mappingST);
variableST.setAttribute("nil", Boolean.TRUE);
}
+
scope.bodyTemplate.setAttribute("declarations", variableST);
- scope.addVariable(var.getName(), var.getType().getLocalPart());
}
void checkIsTypeDefined(String type) throws CompilationException {
@@ -363,6 +371,15 @@
}
}
+ public void statementsForSymbols(XmlObject prog, VariableScope scope) throws CompilationException {
+ XmlCursor cursor = prog.newCursor();
+ cursor.selectPath("*");
+ while (cursor.toNextSelection()) {
+ XmlObject child = cursor.getObject();
+ statementForSymbol(child, scope);
+ }
+ }
+
public void statements(XmlObject prog, VariableScope scope) throws CompilationException {
XmlCursor cursor = prog.newCursor();
cursor.selectPath("*");
@@ -372,6 +389,26 @@
}
}
+ public void statementForSymbol(XmlObject child, VariableScope scope) throws CompilationException {
+ if (child instanceof Variable) {
+ variableForSymbol((Variable) child, scope);
+ }
+ else if (child instanceof Assign
+ || child instanceof Call
+ || child instanceof Foreach
+ || child instanceof Iterate
+ || child instanceof If
+ || child instanceof Switch
+ || child instanceof Procedure
+ || child instanceof Types
+ || child instanceof FormalParameter) {
+ // ignore these - they're expected but we don't need to
+ // do anything for them here
+ } else {
+ throw new CompilationException("Unexpected element in XML. Implementing class "+child.getClass()+", content "+child);
+ }
+ }
+
public void statement(XmlObject child, VariableScope scope) throws CompilationException {
if (child instanceof Variable) {
variable((Variable) child, scope);
@@ -402,6 +439,7 @@
}
}
+
public StringTemplate call(Call call, VariableScope scope, boolean inhibitOutput) throws CompilationException {
try {
// Check is called procedure declared previously
@@ -588,6 +626,7 @@
iterateST.setAttribute("var", iterate.getVar());
innerScope.bodyTemplate = iterateST;
+ statementsForSymbols(iterate.getBody(), innerScope);
statements(iterate.getBody(), innerScope);
XmlObject cond = iterate.getAbstractExpression();
@@ -627,6 +666,7 @@
innerScope.bodyTemplate = foreachST;
+ statementsForSymbols(foreach.getBody(), innerScope);
statements(foreach.getBody(), innerScope);
Object statementID = new Integer(callID++);
@@ -656,6 +696,7 @@
innerThenScope.bodyTemplate = template("sub_comp");
ifST.setAttribute("vthen", innerThenScope.bodyTemplate);
+ statementsForSymbols(thenstat, innerThenScope);
statements(thenstat, innerThenScope);
Object statementID = new Integer(callID++);
@@ -672,6 +713,7 @@
innerElseScope.bodyTemplate = template("sub_comp");
ifST.setAttribute("velse", innerElseScope.bodyTemplate);
+ statementsForSymbols(elsestat, innerElseScope);
statements(elsestat, innerElseScope);
Iterator elseScopeIterator = innerElseScope.getVariableIterator();
@@ -714,6 +756,7 @@
VariableScope defaultScope = new VariableScope(this, scope);
defaultScope.bodyTemplate = template("sub_comp");
switchST.setAttribute("sdefault", defaultScope.bodyTemplate);
+ statementsForSymbols(defaultstat, defaultScope);
statements(defaultstat, defaultScope);
Iterator defaultScopeIterator = defaultScope.getVariableIterator();
while(defaultScopeIterator.hasNext()) {
@@ -726,6 +769,7 @@
public void caseStat(Case casestat, VariableScope scope) throws CompilationException {
StringTemplate valueST = expressionToKarajan(casestat.getAbstractExpression(), scope);
scope.bodyTemplate.setAttribute("value", valueST.toString());
+ statementsForSymbols(casestat.getStatements(), scope);
statements(casestat.getStatements(), scope);
}
Added: trunk/tests/language-behaviour/0013-out-of-order.out.expected
===================================================================
--- trunk/tests/language-behaviour/0013-out-of-order.out.expected (rev 0)
+++ trunk/tests/language-behaviour/0013-out-of-order.out.expected 2009-06-24 20:18:32 UTC (rev 2977)
@@ -0,0 +1 @@
+hello
Added: trunk/tests/language-behaviour/0013-out-of-order.swift
===================================================================
--- trunk/tests/language-behaviour/0013-out-of-order.swift (rev 0)
+++ trunk/tests/language-behaviour/0013-out-of-order.swift 2009-06-24 20:18:32 UTC (rev 2977)
@@ -0,0 +1,12 @@
+type messagefile;
+
+(messagefile t) greeting() {
+ app {
+ echo "hello" stdout=@filename(t);
+ }
+}
+
+messagefile outfile <"0013-out-of-order.out">;
+
+outfile = greeting();
+
From noreply at svn.ci.uchicago.edu Wed Jun 24 15:18:51 2009
From: noreply at svn.ci.uchicago.edu (noreply at svn.ci.uchicago.edu)
Date: Wed, 24 Jun 2009 15:18:51 -0500 (CDT)
Subject: [Swift-commit] r2978 - trunk/resources
Message-ID: <20090624201851.1FC749CC92@vm-125-59.ci.uchicago.edu>
Author: benc
Date: 2009-06-24 15:18:50 -0500 (Wed, 24 Jun 2009)
New Revision: 2978
Modified:
trunk/resources/swiftscript.stg
Log:
Remove unused variable declaration template
Modified: trunk/resources/swiftscript.stg
===================================================================
--- trunk/resources/swiftscript.stg 2009-06-24 20:18:32 UTC (rev 2977)
+++ trunk/resources/swiftscript.stg 2009-06-24 20:18:50 UTC (rev 2978)
@@ -120,12 +120,6 @@
>>
-vardecl(sourcelocation) ::= <<
-$if (it.type)$
-$\n$
-$endif$
->>
-
returnParam(type,name,bind,sourcelocation) ::= <<
>>
From noreply at svn.ci.uchicago.edu Wed Jun 24 15:19:20 2009
From: noreply at svn.ci.uchicago.edu (noreply at svn.ci.uchicago.edu)
Date: Wed, 24 Jun 2009 15:19:20 -0500 (CDT)
Subject: [Swift-commit] r2979 - trunk/src/org/griphyn/vdl/toolkit
Message-ID: <20090624201920.E41B19CC92@vm-125-59.ci.uchicago.edu>
Author: benc
Date: 2009-06-24 15:19:20 -0500 (Wed, 24 Jun 2009)
New Revision: 2979
Modified:
trunk/src/org/griphyn/vdl/toolkit/VDLt2VDLx.java
Log:
Remove a semicolon that was living all by itself unneeded
Modified: trunk/src/org/griphyn/vdl/toolkit/VDLt2VDLx.java
===================================================================
--- trunk/src/org/griphyn/vdl/toolkit/VDLt2VDLx.java 2009-06-24 20:18:50 UTC (rev 2978)
+++ trunk/src/org/griphyn/vdl/toolkit/VDLt2VDLx.java 2009-06-24 20:19:20 UTC (rev 2979)
@@ -10,7 +10,6 @@
import org.apache.log4j.Logger;
import org.globus.swift.parser.SwiftScriptLexer;
import org.globus.swift.parser.SwiftScriptParser;
-;
/** Commandline tool to convert the textual form of SwiftScript into
the XML form.
From noreply at svn.ci.uchicago.edu Wed Jun 24 15:19:44 2009
From: noreply at svn.ci.uchicago.edu (noreply at svn.ci.uchicago.edu)
Date: Wed, 24 Jun 2009 15:19:44 -0500 (CDT)
Subject: [Swift-commit] r2980 - trunk/tests/language-behaviour
Message-ID: <20090624201944.E30549CC92@vm-125-59.ci.uchicago.edu>
Author: benc
Date: 2009-06-24 15:19:44 -0500 (Wed, 24 Jun 2009)
New Revision: 2980
Modified:
trunk/tests/language-behaviour/run
Log:
remove _concurrent directory during test cleanup
Modified: trunk/tests/language-behaviour/run
===================================================================
--- trunk/tests/language-behaviour/run 2009-06-24 20:19:20 UTC (rev 2979)
+++ trunk/tests/language-behaviour/run 2009-06-24 20:19:44 UTC (rev 2980)
@@ -33,7 +33,7 @@
rm -rf $1*.out $1*.xml $1*.kml $1*.dot $1*.log $1*.rlog $1*.d
elif [ "$RESUME" != "y" ]; then
echo Removing files from previous runs
- rm -rf *.out *.xml *.kml *.dot *.log *.rlog *.d
+ rm -rf *.out *.xml *.kml *.dot *.log *.rlog *.d _concurrent
fi
for testfn in $TESTS; do
From noreply at svn.ci.uchicago.edu Tue Jun 30 05:41:17 2009
From: noreply at svn.ci.uchicago.edu (noreply at svn.ci.uchicago.edu)
Date: Tue, 30 Jun 2009 05:41:17 -0500 (CDT)
Subject: [Swift-commit] r2982 - provenancedb
Message-ID: <20090630104117.382539CC86@vm-125-59.ci.uchicago.edu>
Author: benc
Date: 2009-06-30 05:41:15 -0500 (Tue, 30 Jun 2009)
New Revision: 2982
Modified:
provenancedb/prov-to-sql.sh
Log:
insert of values into executes table has extra thread field that should
not be there
Modified: provenancedb/prov-to-sql.sh
===================================================================
--- provenancedb/prov-to-sql.sh 2009-06-25 13:08:16 UTC (rev 2981)
+++ provenancedb/prov-to-sql.sh 2009-06-30 10:41:15 UTC (rev 2982)
@@ -9,7 +9,7 @@
rm -f tmp-import.sql
-while read time duration thread endstate app scratch; do
+while read time duration thread localthread endstate app scratch; do
echo "INSERT INTO processes (id, type) VALUES ('$thread', 'execute');" >> tmp-import.sql
echo "INSERT INTO executes (id, starttime, duration, finalstate, app, scratch) VALUES ('$thread', $time, $duration, '$endstate', '$app', '$scratch');" >> tmp-import.sql
done < execute.global.event
From noreply at svn.ci.uchicago.edu Tue Jun 30 06:38:26 2009
From: noreply at svn.ci.uchicago.edu (noreply at svn.ci.uchicago.edu)
Date: Tue, 30 Jun 2009 06:38:26 -0500 (CDT)
Subject: [Swift-commit] r2983 - trunk/resources
Message-ID: <20090630113826.CCC779CC86@vm-125-59.ci.uchicago.edu>
Author: benc
Date: 2009-06-30 06:38:26 -0500 (Tue, 30 Jun 2009)
New Revision: 2983
Modified:
trunk/resources/Karajan.stg
Log:
More information for provenance, about foreach and if bodies.
Modified: trunk/resources/Karajan.stg
===================================================================
--- trunk/resources/Karajan.stg 2009-06-30 10:41:15 UTC (rev 2982)
+++ trunk/resources/Karajan.stg 2009-06-30 11:38:26 UTC (rev 2983)
@@ -213,12 +213,14 @@
$endif$
-
+
+SCOPE thread={#thread}
+
$declarations;separator="\n"$
$if(statements)$
$parallel(statements=statements)$
$endif$
-
+
>>
@@ -410,10 +412,12 @@
$condition$
+SCOPE thread={#thread}
$vthen$
$if(velse)$
+SCOPE thread={#thread}
$velse$
$endif$
From noreply at svn.ci.uchicago.edu Tue Jun 30 07:33:59 2009
From: noreply at svn.ci.uchicago.edu (noreply at svn.ci.uchicago.edu)
Date: Tue, 30 Jun 2009 07:33:59 -0500 (CDT)
Subject: [Swift-commit] r2984 - in trunk: . bin docs
Message-ID: <20090630123359.84B5F9CC9D@vm-125-59.ci.uchicago.edu>
Author: benc
Date: 2009-06-30 07:33:59 -0500 (Tue, 30 Jun 2009)
New Revision: 2984
Modified:
trunk/CHANGES.txt
trunk/bin/swift-osg-ress-site-catalog
trunk/docs/userguide.xml
Log:
New parameter -condor-g for swift-osg-ress-site-catalog which causes
sites files to be generate which will use a local condor-g installation
instead of making direct GRAM submissions.
Modified: trunk/CHANGES.txt
===================================================================
--- trunk/CHANGES.txt 2009-06-30 11:38:26 UTC (rev 2983)
+++ trunk/CHANGES.txt 2009-06-30 12:33:59 UTC (rev 2984)
@@ -1,3 +1,8 @@
+(06/30/09)
+*** New parameter -condor-g for swift-osg-ress-site-catalog which causes
+ sites files to be generate which will use a local condor-g installation
+ instead of making direct GRAM submissions.
+
(06/25/09)
*** 'global' keyword to allow top level declarations to be visible in all
scopes.
Modified: trunk/bin/swift-osg-ress-site-catalog
===================================================================
--- trunk/bin/swift-osg-ress-site-catalog 2009-06-30 11:38:26 UTC (rev 2983)
+++ trunk/bin/swift-osg-ress-site-catalog 2009-06-30 12:33:59 UTC (rev 2984)
@@ -10,6 +10,7 @@
my $opt_vo = 'engage';
my $opt_engage_verified = 0;
my $opt_gt4 = 0;
+my $opt_condorg = 0;
my $opt_out = '&STDOUT';
Getopt::Long::Configure('bundling');
@@ -18,6 +19,7 @@
"vo=s" => \$opt_vo,
"engage-verified" => \$opt_engage_verified,
"gt4" => \$opt_gt4,
+ "condor-g" => \$opt_condorg,
"out=s" => \$opt_out,
) or pod2usage(1);
@@ -94,7 +96,15 @@
print FH " \n";
print FH " \n";
print FH " \n";
- if ($opt_gt4) {
+ if ($opt_condorg) {
+ print FH " \n";
+ print FH " grid\n";
+ if($opt_gt4) {
+ die("swift-osg-ress-site-catalog cannot generate Condor-G + GRAM4 sites files");
+ }
+ print FH " gt2 $contact\n";
+ }
+ elsif ($opt_gt4) {
print FH " \n";
}
else {
@@ -143,6 +153,11 @@
Write to [filename] instead of stdout
+=item B<--condor-g>
+
+Generates sites files which will submit jobs using a local Condor-G
+installation rather than through direct GRAM2 submission.
+
=back
=head1 DESCRIPTION
Modified: trunk/docs/userguide.xml
===================================================================
--- trunk/docs/userguide.xml 2009-06-30 11:38:26 UTC (rev 2983)
+++ trunk/docs/userguide.xml 2009-06-30 12:33:59 UTC (rev 2984)
@@ -1564,6 +1564,16 @@
Write to [filename] instead of stdout
+
+ --condor-g
+
+Generates sites files which will submit jobs using a local Condor-G
+installation rather than through direct GRAM2 submission.
+
+
+
+
+
From noreply at svn.ci.uchicago.edu Tue Jun 30 07:37:11 2009
From: noreply at svn.ci.uchicago.edu (noreply at svn.ci.uchicago.edu)
Date: Tue, 30 Jun 2009 07:37:11 -0500 (CDT)
Subject: [Swift-commit] r2985 - in provenancedb: . validator
Message-ID: <20090630123711.436599CC9D@vm-125-59.ci.uchicago.edu>
Author: benc
Date: 2009-06-30 07:37:10 -0500 (Tue, 30 Jun 2009)
New Revision: 2985
Added:
provenancedb/validator/
provenancedb/validator/V.java
provenancedb/validator/run
Log:
small java code to validate an OPM against the opm schema
Added: provenancedb/validator/V.java
===================================================================
--- provenancedb/validator/V.java (rev 0)
+++ provenancedb/validator/V.java 2009-06-30 12:37:10 UTC (rev 2985)
@@ -0,0 +1,35 @@
+import org.openprovenance.model.v101A.*;
+
+import java.io.File;
+import java.util.Iterator;
+import java.util.Collection;
+import java.util.ArrayList;
+import org.apache.xmlbeans.*;
+
+public class V {
+
+public static void main(String args[]) throws Exception {
+
+ XmlOptions options = new XmlOptions();
+ Collection errors = new ArrayList();
+ options.setErrorListener(errors);
+ options.setValidateOnSet();
+ options.setLoadLineNumbers();
+
+ OpmGraphDocument opmGraph = OpmGraphDocument.Factory.parse(new File(args[0]), options);
+
+ System.out.println("result of validation = "+opmGraph.validate(options));
+
+ System.out.println("Validation errors:");
+ Iterator i = errors.iterator();
+ while(i.hasNext()) {
+ XmlError error = (XmlError) i.next();
+ System.out.println(error.toString());
+ }
+ System.exit(3);
+
+
+
+}
+}
+
Added: provenancedb/validator/run
===================================================================
--- provenancedb/validator/run (rev 0)
+++ provenancedb/validator/run 2009-06-30 12:37:10 UTC (rev 2985)
@@ -0,0 +1,15 @@
+#!/bin/bash
+
+export CLASSPATH=/Users/benc/work/cog/modules/swift/lib/xbean.jar
+export CLASSPATH=/Users/benc/work/cog/modules/swift/lib/jsr173_1.0_api.jar:$CLASSPATH
+
+java org.apache.xmlbeans.impl.tool.SchemaCompiler v1.01.a.xsd
+
+export CLASSPATH=./xmltypes.jar:$CLASSPATH
+
+javac V.java
+
+export CLASSPATH=.:$CLASSPATH
+
+java V ../tests/provenancedb/opm.xml
+
Property changes on: provenancedb/validator/run
___________________________________________________________________
Name: svn:executable
+ *
From noreply at svn.ci.uchicago.edu Tue Jun 30 07:37:30 2009
From: noreply at svn.ci.uchicago.edu (noreply at svn.ci.uchicago.edu)
Date: Tue, 30 Jun 2009 07:37:30 -0500 (CDT)
Subject: [Swift-commit] r2986 - provenancedb
Message-ID: <20090630123730.604EA9CC9D@vm-125-59.ci.uchicago.edu>
Author: benc
Date: 2009-06-30 07:37:30 -0500 (Tue, 30 Jun 2009)
New Revision: 2986
Modified:
provenancedb/prepare-provenance-chart
provenancedb/prov-to-sql.sh
Log:
import @functions
Modified: provenancedb/prepare-provenance-chart
===================================================================
--- provenancedb/prepare-provenance-chart 2009-06-30 12:37:10 UTC (rev 2985)
+++ provenancedb/prepare-provenance-chart 2009-06-30 12:37:30 UTC (rev 2986)
@@ -28,3 +28,14 @@
info-to-extrainfo > extrainfo.txt
cat $1 | grep ' OPERATOR ' | sed 's/^.*thread=\([^ ]*\) operator="\([^ ]*\)" lhs=\([^ ]*\) rhs=\([^ ]*\) result=\([^ ]*\).*$/\1 \2 \3 \4 \5/' > operators.txt
+
+
+# 2009-03-19 19:15:35,244+0100 INFO vdl:arguments FUNCTION id=88000-0-4-4 name="f ilename" result=tag:benc at ci.uchicago.edu,2008:swift:dataset:20090319-1915-xj8flg 13:720000000060
+# 2009-03-19 19:15:35,246+0100 INFO vdl:arguments FUNCTIONPARAMETER id=88001-0-4- 4 input=tag:benc at ci.uchicago.edu,2008:swift:dataset:20090319-1915-xj8flg13:72000 0000058
+
+cat $1 | grep ' FUNCTION ' | sed "s/^.*id=\([^ ]*\) name=\([^ ]*\) result=\([^ ]*\).*\$/$WFID\1 \2 \3/" > functions.txt
+# the IDs in functions.txt should be unique...
+# we could even test that...
+
+cat $1 | grep ' FUNCTIONPARAMETER ' | sed "s/^.*id=\([^ ]*\) input=\([^ ]*\).*\$/$WFID\1 \2/" > function-inputs.txt
+
Modified: provenancedb/prov-to-sql.sh
===================================================================
--- provenancedb/prov-to-sql.sh 2009-06-30 12:37:10 UTC (rev 2985)
+++ provenancedb/prov-to-sql.sh 2009-06-30 12:37:30 UTC (rev 2986)
@@ -35,6 +35,17 @@
OPERATORIDCOUNTER=$(( $OPERATORIDCOUNTER + 1))
done < operators.txt
+while read id name output; do
+ echo "INSERT INTO processes (id, type) VALUES ('$id', 'function');" >> tmp-import.sql
+ echo "INSERT INTO dataset_usage (process_id, direction, dataset_id, param_name) VALUES ('$id', 'O', '$output', 'result');" >> tmp-import.sql
+ echo "INSERT INTO invocation_procedure_names (execute_id, procedure_name) VALUES ('$id', '$name');" >> tmp-import.sql
+done < functions.txt
+
+while read id value; do
+# TODO need ordering/naming
+ echo "INSERT INTO dataset_usage (process_id, direction, dataset_id, param_name) VALUES ('$id', 'I', '$value', 'undefined');" >> tmp-import.sql
+done < function-inputs.txt
+
while read thread direction dataset variable rest; do
if [ "$direction" == "input" ] ; then
dir=I
From noreply at svn.ci.uchicago.edu Tue Jun 30 07:37:51 2009
From: noreply at svn.ci.uchicago.edu (noreply at svn.ci.uchicago.edu)
Date: Tue, 30 Jun 2009 07:37:51 -0500 (CDT)
Subject: [Swift-commit] r2987 - provenancedb
Message-ID: <20090630123751.D46CF9CC9D@vm-125-59.ci.uchicago.edu>
Author: benc
Date: 2009-06-30 07:37:51 -0500 (Tue, 30 Jun 2009)
New Revision: 2987
Modified:
provenancedb/prov-init.sql
provenancedb/prov-to-sql.sh
Log:
rename executes_in_workflows to processes_in_workflows,
and implement.
Modified: provenancedb/prov-init.sql
===================================================================
--- provenancedb/prov-init.sql 2009-06-30 12:37:30 UTC (rev 2986)
+++ provenancedb/prov-init.sql 2009-06-30 12:37:51 UTC (rev 2987)
@@ -9,18 +9,20 @@
DROP TABLE invocation_procedure_names;
DROP TABLE dataset_containment;
DROP TABLE dataset_filenames;
-DROP TABLE executes_in_workflows;
+DROP TABLE processes_in_workflows;
DROP TABLE dataset_values;
DROP TABLE known_workflows;
DROP TABLE workflow_events;
DROP TABLE extrainfo;
--- executes_in_workflow is unused at the moment, but is intended to associate
--- each execute with its containing workflow
-CREATE TABLE executes_in_workflows
+-- associates each process with its containing workflow
+-- TODO - perhaps a workflow is itself a big big process?
+-- in which case this looks very much like a compound/app
+-- containment?
+CREATE TABLE processes_in_workflows
(workflow_id char(128),
- execute_id char(128)
+ process_id char(128)
);
-- processes gives information about each process (in the OPM sense)
@@ -155,6 +157,6 @@
-- this GRANT does not work for sqlite; you'll get a syntax error but
-- ignore it, as it is not needed in sqlite
-grant all on dataset_containment, dataset_filenames, dataset_usage, executes_in_workflows, invocation_procedure_names, known_workflows, workflow_events to public, operators;
+grant all on dataset_containment, dataset_filenames, dataset_usage, processes_in_workflows, invocation_procedure_names, known_workflows, workflow_events to public, operators;
Modified: provenancedb/prov-to-sql.sh
===================================================================
--- provenancedb/prov-to-sql.sh 2009-06-30 12:37:30 UTC (rev 2986)
+++ provenancedb/prov-to-sql.sh 2009-06-30 12:37:51 UTC (rev 2987)
@@ -5,12 +5,16 @@
export WFID="tag:benc at ci.uchicago.edu,2008:swiftlogs:execute:${RUNID}:"
+# TODO is there already a URI form for identifying workflows?
+export WF="tag:benc at ci.uchicago.edu,2008:swiftlogs:execute:${RUNID}:run"
+
echo Generating SQL for $RUNID
rm -f tmp-import.sql
while read time duration thread localthread endstate app scratch; do
echo "INSERT INTO processes (id, type) VALUES ('$thread', 'execute');" >> tmp-import.sql
+ echo "INSERT INTO processes_in_workflows (process_id, workflow_id) VALUES ('$thread', '$WF');" >> tmp-import.sql
echo "INSERT INTO executes (id, starttime, duration, finalstate, app, scratch) VALUES ('$thread', $time, $duration, '$endstate', '$app', '$scratch');" >> tmp-import.sql
done < execute.global.event
@@ -29,6 +33,7 @@
operatorid="${WFID}operator:$OPERATORIDCOUNTER"
echo "INSERT INTO processes (id, type) VALUES ('$operatorid', 'operator');" >> tmp-import.sql
echo "INSERT INTO invocation_procedure_names (execute_id, procedure_name) VALUES ('$operatorid','$name'); " >> tmp-import.sql
+ echo "INSERT INTO processes_in_workflows (process_id, workflow_id) VALUES ('$operatorid', '$WF');" >> tmp-import.sql
echo "INSERT INTO dataset_usage (process_id, direction, dataset_id, param_name) VALUES ('$operatorid', 'I', '$lhs', 'lhs');" >> tmp-import.sql
echo "INSERT INTO dataset_usage (process_id, direction, dataset_id, param_name) VALUES ('$operatorid', 'I', '$rhs', 'rhs');" >> tmp-import.sql
echo "INSERT INTO dataset_usage (process_id, direction, dataset_id, param_name) VALUES ('$operatorid', 'O', '$result', 'result');" >> tmp-import.sql
@@ -37,6 +42,7 @@
while read id name output; do
echo "INSERT INTO processes (id, type) VALUES ('$id', 'function');" >> tmp-import.sql
+ echo "INSERT INTO processes_in_workflows (process_id, workflow_id) VALUES ('$id', '$WF');" >> tmp-import.sql
echo "INSERT INTO dataset_usage (process_id, direction, dataset_id, param_name) VALUES ('$id', 'O', '$output', 'result');" >> tmp-import.sql
echo "INSERT INTO invocation_procedure_names (execute_id, procedure_name) VALUES ('$id', '$name');" >> tmp-import.sql
done < functions.txt
From noreply at svn.ci.uchicago.edu Tue Jun 30 07:38:12 2009
From: noreply at svn.ci.uchicago.edu (noreply at svn.ci.uchicago.edu)
Date: Tue, 30 Jun 2009 07:38:12 -0500 (CDT)
Subject: [Swift-commit] r2988 - provenancedb
Message-ID: <20090630123812.EA30E9CC9D@vm-125-59.ci.uchicago.edu>
Author: benc
Date: 2009-06-30 07:38:12 -0500 (Tue, 30 Jun 2009)
New Revision: 2988
Modified:
provenancedb/prepare-provenance-chart
provenancedb/prov-init.sql
provenancedb/prov-to-sql.sh
Log:
CREATEARRAY provenance processing
Modified: provenancedb/prepare-provenance-chart
===================================================================
--- provenancedb/prepare-provenance-chart 2009-06-30 12:37:51 UTC (rev 2987)
+++ provenancedb/prepare-provenance-chart 2009-06-30 12:38:12 UTC (rev 2988)
@@ -39,3 +39,8 @@
cat $1 | grep ' FUNCTIONPARAMETER ' | sed "s/^.*id=\([^ ]*\) input=\([^ ]*\).*\$/$WFID\1 \2/" > function-inputs.txt
+cat $1 | grep ' CREATEARRAY START ' | sed 's/^.* array=\([^ ]*\).*$/\1/' > createarray.txt
+
+cat $1 | grep ' CREATEARRAY MEMBER ' | sed 's/^.* array=\([^ ]*\) index=\([^ ]*\) member=\([^ ]*\).*$/\1 \2 \3/' > createarray-members.txt
+
+
Modified: provenancedb/prov-init.sql
===================================================================
--- provenancedb/prov-init.sql 2009-06-30 12:37:51 UTC (rev 2987)
+++ provenancedb/prov-init.sql 2009-06-30 12:38:12 UTC (rev 2988)
@@ -14,6 +14,8 @@
DROP TABLE known_workflows;
DROP TABLE workflow_events;
DROP TABLE extrainfo;
+DROP TABLE createarray;
+DROP TABLE createarray_member;
-- associates each process with its containing workflow
@@ -128,6 +130,22 @@
value char(128)
);
+-- The above dataset_* tables are the original containment representation
+-- of datasets.
+-- Now here are some tables to represent complex datasets differently, in
+-- terms of accessors and constructors.
+-- It is unclear which is the better representation.
+
+CREATE TABLE createarray
+ ( array_id char(128)
+ );
+
+CREATE TABLE createarray_member
+ ( array_id char(128),
+ ix char(128),
+ member_id char(128)
+ );
+
-- known_workflows stores some information about each workflow log that has
-- been seen by the importer: the log filename, swift version and import
-- status.
Modified: provenancedb/prov-to-sql.sh
===================================================================
--- provenancedb/prov-to-sql.sh 2009-06-30 12:37:51 UTC (rev 2987)
+++ provenancedb/prov-to-sql.sh 2009-06-30 12:38:12 UTC (rev 2988)
@@ -94,6 +94,14 @@
echo "INSERT INTO invocation_procedure_names (execute_id, procedure_name) VALUES ('$compoundid', '$procname');" >> tmp-import.sql
done < compound.event
+while read id ; do
+ echo "INSERT INTO createarray (array_id) VALUES ('$id');" >> tmp-import.sql
+done < createarray.txt
+
+while read arrayid index memberid ; do
+ echo "INSERT INTO createarray_member (array_id, ix, member_id) VALUES ('$arrayid', '$index', '$memberid');" >> tmp-import.sql
+done < createarray-members.txt
+
echo Sending SQL to DB
$SQLCMD < tmp-import.sql
From noreply at svn.ci.uchicago.edu Tue Jun 30 07:38:31 2009
From: noreply at svn.ci.uchicago.edu (noreply at svn.ci.uchicago.edu)
Date: Tue, 30 Jun 2009 07:38:31 -0500 (CDT)
Subject: [Swift-commit] r2989 - provenancedb
Message-ID: <20090630123831.4C7CB9CC9D@vm-125-59.ci.uchicago.edu>
Author: benc
Date: 2009-06-30 07:38:31 -0500 (Tue, 30 Jun 2009)
New Revision: 2989
Modified:
provenancedb/prepare-provenance-chart
provenancedb/prov-init.sql
Log:
import ARRAYRANGE
Modified: provenancedb/prepare-provenance-chart
===================================================================
--- provenancedb/prepare-provenance-chart 2009-06-30 12:38:12 UTC (rev 2988)
+++ provenancedb/prepare-provenance-chart 2009-06-30 12:38:31 UTC (rev 2989)
@@ -43,4 +43,5 @@
cat $1 | grep ' CREATEARRAY MEMBER ' | sed 's/^.* array=\([^ ]*\) index=\([^ ]*\) member=\([^ ]*\).*$/\1 \2 \3/' > createarray-members.txt
+cat $1 | grep ' ARRAYRANGE ' | sed 's/^.* thread=\([^ ]*\).*$/\1/' > arrayrange.txt
Modified: provenancedb/prov-init.sql
===================================================================
--- provenancedb/prov-init.sql 2009-06-30 12:38:12 UTC (rev 2988)
+++ provenancedb/prov-init.sql 2009-06-30 12:38:31 UTC (rev 2989)
@@ -16,6 +16,7 @@
DROP TABLE extrainfo;
DROP TABLE createarray;
DROP TABLE createarray_member;
+DROP TABLE arrayrange;
-- associates each process with its containing workflow
@@ -146,6 +147,14 @@
member_id char(128)
);
+-- TODO step
+CREATE TABLE array_range
+ ( array_id char(128),
+ from_id char(128),
+ to_id char(128),
+ step_id char(128) -- nullable, if step is unspecified
+ );
+
-- known_workflows stores some information about each workflow log that has
-- been seen by the importer: the log filename, swift version and import
-- status.
From noreply at svn.ci.uchicago.edu Tue Jun 30 07:38:49 2009
From: noreply at svn.ci.uchicago.edu (noreply at svn.ci.uchicago.edu)
Date: Tue, 30 Jun 2009 07:38:49 -0500 (CDT)
Subject: [Swift-commit] r2990 - provenancedb
Message-ID: <20090630123849.BD54F9CC9D@vm-125-59.ci.uchicago.edu>
Author: benc
Date: 2009-06-30 07:38:49 -0500 (Tue, 30 Jun 2009)
New Revision: 2990
Modified:
provenancedb/prepare-for-import
provenancedb/prov-to-sql.sh
Log:
import internal procedure executions into provenancedb
Modified: provenancedb/prepare-for-import
===================================================================
--- provenancedb/prepare-for-import 2009-06-30 12:38:31 UTC (rev 2989)
+++ provenancedb/prepare-for-import 2009-06-30 12:38:49 UTC (rev 2990)
@@ -4,7 +4,7 @@
# workflow has finished and will do everything necessary to import all
# of the provenance information into the SQL provenance database.
-swift-plot-log $1 execute.global.event execute2.event workflow.event execute2.global.event compound.event
+swift-plot-log $1 execute.global.event execute2.event workflow.event execute2.global.event compound.event internalproc.event
prepare-provenance-chart $1
Modified: provenancedb/prov-to-sql.sh
===================================================================
--- provenancedb/prov-to-sql.sh 2009-06-30 12:38:31 UTC (rev 2989)
+++ provenancedb/prov-to-sql.sh 2009-06-30 12:38:49 UTC (rev 2990)
@@ -94,6 +94,12 @@
echo "INSERT INTO invocation_procedure_names (execute_id, procedure_name) VALUES ('$compoundid', '$procname');" >> tmp-import.sql
done < compound.event
+while read start duration thread finalstate procname ; do
+ fqid=$WFID$thread
+ echo "INSERT INTO processes (id, type) VALUES ('$fqid', 'internal');" >> tmp-import.sql
+ echo "INSERT INTO invocation_procedure_names (execute_id, procedure_name) VALUES ('$fqid', '$procname');" >> tmp-import.sql
+done < internalproc.event
+
while read id ; do
echo "INSERT INTO createarray (array_id) VALUES ('$id');" >> tmp-import.sql
done < createarray.txt
From noreply at svn.ci.uchicago.edu Tue Jun 30 07:39:09 2009
From: noreply at svn.ci.uchicago.edu (noreply at svn.ci.uchicago.edu)
Date: Tue, 30 Jun 2009 07:39:09 -0500 (CDT)
Subject: [Swift-commit] r2991 - provenancedb
Message-ID: <20090630123909.EBE0E9CC9D@vm-125-59.ci.uchicago.edu>
Author: benc
Date: 2009-06-30 07:39:09 -0500 (Tue, 30 Jun 2009)
New Revision: 2991
Modified:
provenancedb/prov-to-sql.sh
Log:
Make operator import use thread ID (which should be unique now)
this is not strictly necessary but fits in with the idea of other
processes using thread ID
Modified: provenancedb/prov-to-sql.sh
===================================================================
--- provenancedb/prov-to-sql.sh 2009-06-30 12:38:49 UTC (rev 2990)
+++ provenancedb/prov-to-sql.sh 2009-06-30 12:39:09 UTC (rev 2991)
@@ -27,17 +27,14 @@
echo "INSERT INTO execute2s (id, execute_id, starttime, duration, finalstate, site) VALUES ('$globalid', '$execute_id', '$starttime', '$duration', '$endstate', '$site');" >> tmp-import.sql
done < execute2.global.event
-# for fabricating operator IDs
-OPERATORIDCOUNTER=0
while read thread name lhs rhs result; do
- operatorid="${WFID}operator:$OPERATORIDCOUNTER"
+ operatorid="${WFID}operator:$thread"
echo "INSERT INTO processes (id, type) VALUES ('$operatorid', 'operator');" >> tmp-import.sql
echo "INSERT INTO invocation_procedure_names (execute_id, procedure_name) VALUES ('$operatorid','$name'); " >> tmp-import.sql
echo "INSERT INTO processes_in_workflows (process_id, workflow_id) VALUES ('$operatorid', '$WF');" >> tmp-import.sql
echo "INSERT INTO dataset_usage (process_id, direction, dataset_id, param_name) VALUES ('$operatorid', 'I', '$lhs', 'lhs');" >> tmp-import.sql
echo "INSERT INTO dataset_usage (process_id, direction, dataset_id, param_name) VALUES ('$operatorid', 'I', '$rhs', 'rhs');" >> tmp-import.sql
echo "INSERT INTO dataset_usage (process_id, direction, dataset_id, param_name) VALUES ('$operatorid', 'O', '$result', 'result');" >> tmp-import.sql
- OPERATORIDCOUNTER=$(( $OPERATORIDCOUNTER + 1))
done < operators.txt
while read id name output; do
From noreply at svn.ci.uchicago.edu Tue Jun 30 07:39:32 2009
From: noreply at svn.ci.uchicago.edu (noreply at svn.ci.uchicago.edu)
Date: Tue, 30 Jun 2009 07:39:32 -0500 (CDT)
Subject: [Swift-commit] r2992 - provenancedb
Message-ID: <20090630123932.54A179CC9D@vm-125-59.ci.uchicago.edu>
Author: benc
Date: 2009-06-30 07:39:32 -0500 (Tue, 30 Jun 2009)
New Revision: 2992
Modified:
provenancedb/prepare-provenance-chart
provenancedb/prov-to-sql.sh
Log:
import arbitrary thread-identified variable scopes as processes in order
to maintain key integrity
Modified: provenancedb/prepare-provenance-chart
===================================================================
--- provenancedb/prepare-provenance-chart 2009-06-30 12:39:09 UTC (rev 2991)
+++ provenancedb/prepare-provenance-chart 2009-06-30 12:39:32 UTC (rev 2992)
@@ -45,3 +45,6 @@
cat $1 | grep ' ARRAYRANGE ' | sed 's/^.* thread=\([^ ]*\).*$/\1/' > arrayrange.txt
+# 2009-05-18 21:19:20,295+0200 INFO vdl:mains SCOPE thread=0-6-5-1-5
+
+cat $1 | grep ' SCOPE ' | sed 's/^.* thread=\([^ ]*\).*/\1/' > scopes.txt
Modified: provenancedb/prov-to-sql.sh
===================================================================
--- provenancedb/prov-to-sql.sh 2009-06-30 12:39:09 UTC (rev 2991)
+++ provenancedb/prov-to-sql.sh 2009-06-30 12:39:32 UTC (rev 2992)
@@ -105,6 +105,12 @@
echo "INSERT INTO createarray_member (array_id, ix, member_id) VALUES ('$arrayid', '$index', '$memberid');" >> tmp-import.sql
done < createarray-members.txt
+while read t ; do
+ thread="${WFID}$t"
+ echo "INSERT INTO processes (id, type) VALUES ('$thread', 'scope');" >> tmp-import.sql
+ echo "INSERT INTO processes_in_workflows (process_id, workflow_id) VALUES ('$thread', '$WF');" >> tmp-import.sql
+done < scopes.txt
+
echo Sending SQL to DB
$SQLCMD < tmp-import.sql
From noreply at svn.ci.uchicago.edu Tue Jun 30 07:40:25 2009
From: noreply at svn.ci.uchicago.edu (noreply at svn.ci.uchicago.edu)
Date: Tue, 30 Jun 2009 07:40:25 -0500 (CDT)
Subject: [Swift-commit] r2993 - provenancedb
Message-ID: <20090630124025.EAFFF9CC9D@vm-125-59.ci.uchicago.edu>
Author: benc
Date: 2009-06-30 07:40:25 -0500 (Tue, 30 Jun 2009)
New Revision: 2993
Modified:
provenancedb/prov-to-sql.sh
Log:
record root thread as a process
put compounds and internal procedures into the processes_in_workflows table
Modified: provenancedb/prov-to-sql.sh
===================================================================
--- provenancedb/prov-to-sql.sh 2009-06-30 12:39:32 UTC (rev 2992)
+++ provenancedb/prov-to-sql.sh 2009-06-30 12:40:25 UTC (rev 2993)
@@ -12,6 +12,11 @@
rm -f tmp-import.sql
+# this gives a distinction between the root process for a workflow and the
+# workflow itself. perhaps better to model the workflow as a process
+echo "INSERT INTO processes_in_workflows (process_id, workflow_id) VALUES ('${WFID}0', '$WF');" >> tmp-import.sql
+ echo "INSERT INTO processes (id, type) VALUES ('${WFID}0', 'rootthread');" >> tmp-import.sql
+
while read time duration thread localthread endstate app scratch; do
echo "INSERT INTO processes (id, type) VALUES ('$thread', 'execute');" >> tmp-import.sql
echo "INSERT INTO processes_in_workflows (process_id, workflow_id) VALUES ('$thread', '$WF');" >> tmp-import.sql
@@ -88,12 +93,14 @@
while read start duration thread finalstate procname ; do
compoundid=$WFID$thread
echo "INSERT INTO processes (id, type) VALUES ('$compoundid', 'compound');" >> tmp-import.sql
+ echo "INSERT INTO processes_in_workflows (process_id, workflow_id) VALUES ('$compound', '$WF');" >> tmp-import.sql
echo "INSERT INTO invocation_procedure_names (execute_id, procedure_name) VALUES ('$compoundid', '$procname');" >> tmp-import.sql
done < compound.event
while read start duration thread finalstate procname ; do
fqid=$WFID$thread
echo "INSERT INTO processes (id, type) VALUES ('$fqid', 'internal');" >> tmp-import.sql
+ echo "INSERT INTO processes_in_workflows (process_id, workflow_id) VALUES ('$fqid', '$WF');" >> tmp-import.sql
echo "INSERT INTO invocation_procedure_names (execute_id, procedure_name) VALUES ('$fqid', '$procname');" >> tmp-import.sql
done < internalproc.event