package org.mitre.provenance.workflows; import java.util.Date; import org.mitre.provenance.plusobject.PLUSActivity; import org.mitre.provenance.plusobject.PLUSEdge; import org.mitre.provenance.plusobject.PLUSInvocation; import org.mitre.provenance.plusobject.PLUSWorkflow; import org.mitre.provenance.plusobject.ProvenanceCollection; import org.mitre.provenance.surrogate.sgf.GenericSGF; import org.mitre.provenance.user.PrivilegeClass; public class ImpliedShaper extends ProvenanceCollection { protected PLUSWorkflow wf = null; public ImpliedShaper() { wf = new PLUSWorkflow(); wf.setName("Implied Shaper"); wf.setWhenStart((new Date()).toString()); addNode(wf); PLUSActivity generic = new PLUSActivity("Generic activity"); generic.setInputs(10); generic.setOutputs(10); PLUSInvocation [] invokes = new PLUSInvocation [12]; for(int x=0; x<12; x++) { PLUSInvocation i = new PLUSInvocation("" + (x+1)); i.setActivity(generic); i.setWorkflow(wf); invokes[x] = i; } // End if addEdge(new PLUSEdge(invokes[0], invokes[3], wf)); addEdge(new PLUSEdge(invokes[1], invokes[3], wf)); addEdge(new PLUSEdge(invokes[1], invokes[4], wf)); addEdge(new PLUSEdge(invokes[2], invokes[4], wf)); addEdge(new PLUSEdge(invokes[3], invokes[5], wf)); addEdge(new PLUSEdge(invokes[4], invokes[5], wf)); addEdge(new PLUSEdge(invokes[5], invokes[6], wf)); addEdge(new PLUSEdge(invokes[6], invokes[7], wf)); addEdge(new PLUSEdge(invokes[6], invokes[8], wf)); addEdge(new PLUSEdge(invokes[7], invokes[9], wf)); addEdge(new PLUSEdge(invokes[7], invokes[10], wf)); addEdge(new PLUSEdge(invokes[8], invokes[10], wf)); addEdge(new PLUSEdge(invokes[8], invokes[11], wf)); System.out.println("Writing..."); wf.setWhenEnd((new Date()).toString()); addNode(wf); addNode(generic); for(int x=0; x<12; x++) { invokes[x].useSurrogateComputation(new GenericSGF()); invokes[x].getPrivileges().addPrivilege(PrivilegeClass.NATIONAL_SECURITY); addNode(invokes[x]); } } }