//Common Process Editor, version 1.0, DAI, 1998
//Date: Thu Oct 08 13:26:19 GMT+01:00 1998
//File: /hame/stevep/cpf/demo/threepig/test/threepig-completed.cpl
//java.version: 1.2beta4
//java.vendor: Sun Microsystems Inc.
//java.class.version: 45.3
//os.name: SunOS
//os.arch: sparc
//os.version: 5.6
//------------
process.label(P1_1)="House Task"
process.expands(P1_1)=""
process.activity-spec(P1_1,P1_1as)
process.is-executable(P1_1)=false
process.start-timepoint(P1_1)=P1_1st
process.finish-timepoint(P1_1)=P1_1ft
include-node(P1_1c0)=P1_1n0
member(P1_1c0,P1_1as)
node.label(P1_1n0)="Finish"
node.xpos(P1_1n0)=270
node.ypos(P1_1n0)=37
finish.timepoint(P1_1n0)=P1_1n0bt
include-node(P1_1c1)=P1_1n1
member(P1_1c1,P1_1as)
node.label(P1_1n1)="Start"
node.xpos(P1_1n1)=30
node.ypos(P1_1n1)=37
start.timepoint(P1_1n1)=P1_1n1et
process.expands(P1_2)=P1_1n2
process.label(P1_2)="Basic House Process"
process.expands(P1_2)=""
process.activity-spec(P1_2,P1_2as)
process.is-executable(P1_2)=false
process.start-timepoint(P1_2)=P1_2st
process.finish-timepoint(P1_2)=P1_2ft
include-node(P1_2c0)=P1_2n0
member(P1_2c0,P1_2as)
node.label(P1_2n0)="End"
node.xpos(P1_2n0)=213
node.ypos(P1_2n0)=37
finish.timepoint(P1_2n0)=P1_2n0bt
include-node(P1_2c1)=P1_2n1
member(P1_2c1,P1_2as)
node.label(P1_2n1)="Begin"
node.xpos(P1_2n1)=28
node.ypos(P1_2n1)=37
start.timepoint(P1_2n1)=P1_2n1et
process.expands(P1_3)=P1_2n2
process.label(P1_3)="Brick House Process"
process.expands(P1_3)=""
process.activity-spec(P1_3,P1_3as)
process.is-executable(P1_3)=false
process.start-timepoint(P1_3)=P1_3st
process.finish-timepoint(P1_3)=P1_3ft
include-node(P1_3c0)=P1_3n0
member(P1_3c0,P1_3as)
node.label(P1_3n0)="End"
node.xpos(P1_3n0)=250
node.ypos(P1_3n0)=26
finish.timepoint(P1_3n0)=P1_3n0bt
include-node(P1_3c1)=P1_3n1
member(P1_3c1,P1_3as)
node.label(P1_3n1)="Begin"
node.xpos(P1_3n1)=30
node.ypos(P1_3n1)=26
start.timepoint(P1_3n1)=P1_3n1et
process.expands(P1_4)=P1_3n2
process.label(P1_4)="House Builder Process"
process.expands(P1_4)=""
process.activity-spec(P1_4,P1_4as)
process.is-executable(P1_4)=false
process.start-timepoint(P1_4)=P1_4st
process.finish-timepoint(P1_4)=P1_4ft
include-node(P1_4c0)=P1_4n0
member(P1_4c0,P1_4as)
node.label(P1_4n0)="End"
node.xpos(P1_4n0)=438
node.ypos(P1_4n0)=79
finish.timepoint(P1_4n0)=P1_4n0bt
include-node(P1_4c1)=P1_4n1
member(P1_4c1,P1_4as)
node.label(P1_4n1)="Begin"
node.xpos(P1_4n1)=33
node.ypos(P1_4n1)=79
start.timepoint(P1_4n1)=P1_4n1et
process.expands(P1_5)=P1_4n2
process.label(P1_5)="Wall Builder Process"
process.expands(P1_5)=""
process.activity-spec(P1_5,P1_5as)
process.is-executable(P1_5)=false
process.start-timepoint(P1_5)=P1_5st
process.finish-timepoint(P1_5)=P1_5ft
include-node(P1_5c0)=P1_5n0
member(P1_5c0,P1_5as)
node.label(P1_5n0)="End"
node.xpos(P1_5n0)=460
node.ypos(P1_5n0)=75
finish.timepoint(P1_5n0)=P1_5n0bt
include-node(P1_5c1)=P1_5n1
member(P1_5c1,P1_5as)
node.label(P1_5n1)="Begin"
node.xpos(P1_5n1)=41
node.ypos(P1_5n1)=75
start.timepoint(P1_5n1)=P1_5n1et
include-node(P1_5c2)=P1_5n2
member(P1_5c2,P1_5as)
node.label(P1_5n2)="purchase bricks"
node.xpos(P1_5n2)=162
node.ypos(P1_5n2)=75
activity.pattern(P1_5n2)=""
activity.begin-timepoint(P1_5n2)=P1_5n2bt
activity.end-timepoint(P1_5n2)=P1_5n2et
include-node(P1_5c3)=P1_5n3
member(P1_5c3,P1_5as)
node.label(P1_5n3)="make_walls_from bricks"
node.xpos(P1_5n3)=307
node.ypos(P1_5n3)=75
activity.pattern(P1_5n3)=""
activity.begin-timepoint(P1_5n3)=P1_5n3bt
activity.end-timepoint(P1_5n3)=P1_5n3et
constraint.expression(P1_5c4)="before(P1_5n3et,P1_5n0bt)"
member(P1_5c4,P1_5as)
constraint.expression(P1_5c5)="before(P1_5n2et,P1_5n3bt)"
member(P1_5c5,P1_5as)
constraint.expression(P1_5c6)="before(P1_5n1et,P1_5n2bt)"
member(P1_5c6,P1_5as)
constraint.expression(P1_5inp0)="{have bricks}=true at P1_5n3 [P1_5n2]"
member(P1_5inp0,P1_5as)
constraint.expression(P1_5out0)="{walls built}=true at NODE_3_1_1_1_2"
member(P1_5out0,P1_5as)
constraint.expression(P1_5out1)="{material wall}=bricks at NODE_3_1_1_1_2"
member(P1_5out1,P1_5as)
constraint.expression(P1_5out2)="{have bricks}=true at NODE_3_1_1_1_1 [NODE_3_1_1_1_2]"
member(P1_5out2,P1_5as)
constraint.expression(P1_5res0)="consumes {resource money}=[1000,1000] at NODE_3_1_1_1_1"
member(P1_5res0,P1_5as)
constraint.expression(P1_5res1)="consumes {resource bricks}=[1000,1000] at NODE_3_1_1_1_1"
member(P1_5res1,P1_5as)
constraint.expression(P1_5res2)="consumes {resource money}=[500,500] at NODE_3_1_1_1_2"
member(P1_5res2,P1_5as)
include-node(P1_4c2)=P1_4n2
member(P1_4c2,P1_4as)
node.label(P1_4n2)="build_walls bricks"
node.xpos(P1_4n2)=155
node.ypos(P1_4n2)=79
activity.pattern(P1_4n2)=""
activity.begin-timepoint(P1_4n2)=P1_4n2bt
activity.end-timepoint(P1_4n2)=P1_4n2et
include-node(P1_4c3)=P1_4n3
member(P1_4c3,P1_4as)
node.label(P1_4n3)="install windows"
node.xpos(P1_4n3)=304
node.ypos(P1_4n3)=120
activity.pattern(P1_4n3)=""
activity.begin-timepoint(P1_4n3)=P1_4n3bt
activity.end-timepoint(P1_4n3)=P1_4n3et
include-node(P1_4c4)=P1_4n4
member(P1_4c4,P1_4as)
node.label(P1_4n4)="install door"
node.xpos(P1_4n4)=304
node.ypos(P1_4n4)=51
activity.pattern(P1_4n4)=""
activity.begin-timepoint(P1_4n4)=P1_4n4bt
activity.end-timepoint(P1_4n4)=P1_4n4et
constraint.expression(P1_4c5)="before(P1_4n3et,P1_4n0bt)"
member(P1_4c5,P1_4as)
constraint.expression(P1_4c6)="before(P1_4n2et,P1_4n3bt)"
member(P1_4c6,P1_4as)
constraint.expression(P1_4c7)="before(P1_4n4et,P1_4n0bt)"
member(P1_4c7,P1_4as)
constraint.expression(P1_4c8)="before(P1_4n2et,P1_4n4bt)"
member(P1_4c8,P1_4as)
constraint.expression(P1_4c9)="before(P1_4n1et,P1_4n2bt)"
member(P1_4c9,P1_4as)
constraint.expression(P1_4inp0)="{walls built}=true at P1_4n3 [NODE_3_1_1_1]"
member(P1_4inp0,P1_4as)
constraint.expression(P1_4inp1)="{walls built}=true at P1_4n4 [NODE_3_1_1_1]"
member(P1_4inp1,P1_4as)
constraint.expression(P1_4out0)="{windows installed}=true at NODE_3_1_1_2"
member(P1_4out0,P1_4as)
constraint.expression(P1_4out1)="{door installed}=true at NODE_3_1_1_3"
member(P1_4out1,P1_4as)
constraint.expression(P1_4res0)="consumes {resource money}=[1500,:inf] at NODE_3_1_1_1"
member(P1_4res0,P1_4as)
constraint.expression(P1_4res1)="consumes {resource bricks}=[1000,:inf] at NODE_3_1_1_1"
member(P1_4res1,P1_4as)
constraint.expression(P1_4res2)="consumes {resource money}=[50,50] at NODE_3_1_1_2"
member(P1_4res2,P1_4as)
constraint.expression(P1_4res3)="consumes {resource money}=[50,50] at NODE_3_1_1_3"
member(P1_4res3,P1_4as)
include-node(P1_3c2)=P1_3n2
member(P1_3c2,P1_3as)
node.label(P1_3n2)="build_house_of bricks"
node.xpos(P1_3n2)=133
node.ypos(P1_3n2)=26
activity.pattern(P1_3n2)=""
activity.begin-timepoint(P1_3n2)=P1_3n2bt
activity.end-timepoint(P1_3n2)=P1_3n2et
constraint.expression(P1_3c3)="before(P1_3n2et,P1_3n0bt)"
member(P1_3c3,P1_3as)
constraint.expression(P1_3c4)="before(P1_3n1et,P1_3n2bt)"
member(P1_3c4,P1_3as)
constraint.expression(P1_3res0)="consumes {resource money}=[1600,:inf] at NODE_3_1_1"
member(P1_3res0,P1_3as)
constraint.expression(P1_3res1)="consumes {resource bricks}=[1000,:inf] at NODE_3_1_1"
member(P1_3res1,P1_3as)
include-node(P1_2c2)=P1_2n2
member(P1_2c2,P1_2as)
node.label(P1_2n2)="build_house"
node.xpos(P1_2n2)=121
node.ypos(P1_2n2)=37
activity.pattern(P1_2n2)=""
activity.begin-timepoint(P1_2n2)=P1_2n2bt
activity.end-timepoint(P1_2n2)=P1_2n2et
constraint.expression(P1_2c3)="before(P1_2n2et,P1_2n0bt)"
member(P1_2c3,P1_2as)
constraint.expression(P1_2c4)="before(P1_2n1et,P1_2n2bt)"
member(P1_2c4,P1_2as)
constraint.expression(P1_2res0)="consumes {resource money}=[1600,:inf] at NODE_3_1"
member(P1_2res0,P1_2as)
constraint.expression(P1_2res1)="consumes {resource bricks}=[1000,:inf] at NODE_3_1"
member(P1_2res1,P1_2as)
include-node(P1_1c2)=P1_1n2
member(P1_1c2,P1_1as)
node.label(P1_1n2)="build_required_house"
node.xpos(P1_1n2)=136
node.ypos(P1_1n2)=37
activity.pattern(P1_1n2)=""
activity.begin-timepoint(P1_1n2)=P1_1n2bt
activity.end-timepoint(P1_1n2)=P1_1n2et
constraint.expression(P1_1c3)="before(P1_1n2et,P1_1n0bt)"
member(P1_1c3,P1_1as)
constraint.expression(P1_1c4)="before(P1_1n1et,P1_1n2bt)"
member(P1_1c4,P1_1as)
constraint.expression(P1_1res0)="consumes {resource money}=[1600,:inf] at OVERALL"
member(P1_1res0,P1_1as)
constraint.expression(P1_1res1)="consumes {resource bricks}=[1000,:inf] at OVERALL"
member(P1_1res1,P1_1as)
constraint.expression(P1_1res2)="consumes {resource money}=[1600,:inf] at NODE_3"
member(P1_1res2,P1_1as)
constraint.expression(P1_1res3)="consumes {resource bricks}=[1000,:inf] at NODE_3"
member(P1_1res3,P1_1as)
SORT cpo-plan={P1_1}
SORT cpo-process={P1_2,P1_3,P1_4,P1_5}
SORT cpo-activity-specification={P1_1as,P1_2as,P1_3as,P1_4as,P1_5as}
SORT cpo-action={P1_5n2,P1_5n3,P1_4n2,P1_4n3,P1_4n4,P1_3n2,P1_2n2,P1_1n2}
SORT cpo-start={P1_1n1}
SORT cpo-finish={P1_1n0}
SORT cpo-begin={P1_2n1,P1_3n1,P1_4n1,P1_5n1}
SORT cpo-end={P1_2n0,P1_3n0,P1_4n0,P1_5n0}
SORT cpo-timepoint={P1_1st,P1_1ft,P1_1n0bt,P1_1n1et,P1_2st,P1_2ft,P1_2n0bt,P1_2n1et,P1_3st,P1_3ft,P1_3n0bt,P1_3n1et,P1_4st,P1_4ft,P1_4n0bt,P1_4n1et,P1_5st,P1_5ft,P1_5n0bt,P1_5n1et,P1_5n2bt,P1_5n2et,P1_5n3bt,P1_5n3et,P1_4n2bt,P1_4n2et,P1_4n3bt,P1_4n3et,P1_4n4bt,P1_4n4et,P1_3n2bt,P1_3n2et,P1_2n2bt,P1_2n2et,P1_1n2bt,P1_1n2et}
SORT cpo-ordering-constraint={P1_5c4,P1_5c5,P1_5c6,P1_4c5,P1_4c6,P1_4c7,P1_4c8,P1_4c9,P1_3c3,P1_3c4,P1_2c3,P1_2c4,P1_1c3,P1_1c4}
SORT cpo-input-constraint={P1_5inp0,P1_4inp0,P1_4inp1}
SORT cpo-output-constraint={P1_5out0,P1_5out1,P1_5out2,P1_4out0,P1_4out1}
SORT cpo-resource-constraint={P1_5res0,P1_5res1,P1_5res2,P1_4res0,P1_4res1,P1_4res2,P1_4res3,P1_3res0,P1_3res1,P1_2res0,P1_2res1,P1_1res0,P1_1res1,P1_1res2,P1_1res3}
SORT cpo-resource-unit={}
SORT cpo-entity-variable={}
SORT cpo-include-constraint={P1_1c0,P1_1c1,P1_2c0,P1_2c1,P1_3c0,P1_3c1,P1_4c0,P1_4c1,P1_5c0,P1_5c1,P1_5c2,P1_5c3,P1_4c2,P1_4c3,P1_4c4,P1_3c2,P1_2c2,P1_1c2}
SORT cpo-annotation-constraint={}
//------------
//End
