package id33q9ckgun7vdckguq4fq; /** @version 2.0 @__modelType diagram */ class diagram { /** @__ref @__modelType reference */ class reference { }/** @__ref @__modelType reference */ class reference8 { }/** @__ref @__modelType reference */ class reference19 { }/** @__ref @__modelType reference */ class reference21 { }/** @__ref @__modelType reference */ class reference2 { }/** @__ref @__modelType reference */ class reference7 { }}/** @__tags @shapeType SequenceDiagram @__viewType collaborationView */ class __tags { }/** @__options */ class __options { }/** @__positions */ class __positions { }/** @__positions =207,102,207,102:oigroup> =448,130,4,4,1:oigroup> =448,130,4,4,1:oigroup> =448,130,4,4,1:oigroup> =115,51,261,63,0:oigroup> =211,128,211,128:oigroup> =352,275,154,401:oigroup> =306,215,105,60,1:oigroup> =486,215,392,45,0:oigroup> =374,215,593,114:oigroup> =421,65,344,49,0:oigroup> =232,129,232,129:oigroup> =448,130,4,4,1:oigroup> =138,241,306,241:oigroup> =98,248,291,248:oigroup> =448,130,4,4,1:oigroup> =27,401,254,40,0:oigroup> =30,207,108,60,1:oigroup> =0,0,4,4,1:oigroup> =399,275,399,297,433,297,433,263,411,263:oigroup> =338,215,338,114:oigroup> =64,-41,64,-41:oigroup> =411,237,486,237:oigroup> =104,-27,104,-27:oigroup> @__viewType collaborationView */ class __positions1 { }/** @shapeType Object @__modelType node*/ class node { /** @shapeType DependencyLink @__modelType link @__ref */ class link { }/** @shapeType CollaborationLink @__modelType link @__ref */ class link4 { }/** @shapeType MessageLink @__modelType link @__ref @sendingInstant 155 @processingDuration 20 @sequenceNumber 1.1 @operation @operationNameAsText 'doChecks(double):void' @label */ class link5 { }/** @shapeType Activation @__modelType node @name Activation2 @activationMessage */ class node6 { }/** @shapeType NoteLink @__modelType link @__ref */ class link9 { }/** @shapeType MessageLink @__modelType link @__ref @sendingInstant 195 @processingDuration 20 @sequenceNumber 1.2 @operation @operationNameAsText 'modifyResources(Map,double):void' @arguments getUsesResources( @label , -1.0) */ class link10 { }/** @shapeType Activation @__modelType node @name Activation3 @activationMessage */ class node11 { }/** @shapeType MessageLink @__modelType link @__ref @sendingInstant 235 @processingDuration 20 @sequenceNumber 1.3 @operation @operationNameAsText 'modifyLandResources(List,Map,double):void' @arguments getSquares( @label , getUsesLandResources(), -1.0) */ class link12 { }/** @shapeType Activation @__modelType node @name Activation4 @activationMessage */ class node13 { }/** @shapeType MessageLink @__modelType link @__ref @sendingInstant 275 @processingDuration 20 @sequenceNumber 1.4 @operation @operationNameAsText 'modifyResources(Map,double):void' @arguments getProducesResources( @label , 1.0) */ class link14 { }/** @shapeType Activation @__modelType node @name Activation5 @activationMessage */ class node15 { }/** @shapeType MessageLink @__modelType link @__ref @sendingInstant 315 @processingDuration 20 @sequenceNumber 1.5 @operation @operationNameAsText '_evolve(double):void' @arguments value @label */ class link16 { }/** @shapeType Activation @__modelType node @name Activation6 @activationMessage */ class node17 { }/** @shapeType NoteLink @__modelType link @__ref */ class link25 { }/** @shapeType NoteLink @__modelType link @__ref */ class link26 { }/** @shapeType Activation @__modelType node @name Activation7 @activationMessage */ class node4 { }/** @shapeType NoteLink @__modelType link @__ref */ class link8 { }}/** @shapeType Note @__modelType node @name Note1 @text Method doChecks() can throw NotEnougRecourcesException. The construction will go in an idle state. */ class node7 { }/** @shapeType Note @__modelType node @name Note2 @text Method modifyResources(getUsesResources(), -1.0) can throw NotEnoughResourcesException. */ class node18 { }/** @shapeType Note @__modelType node @name Note3 @text Method modifyLandResources() can throw NotEnoughLandResourcesException. */ class node20 { }/** @shapeType Object @__modelType node @name @stereotype singleton */ class node1 { /** @shapeType DependencyLink @__modelType link @__ref */ class link { }/** @shapeType MessageLink @__modelType link @__ref @sendingInstant 135 @processingDuration 210 @sequenceNumber 1 @label @arguments value @operation @operationNameAsText 'evolve(double):void' */ class link3 { }/** @shapeType CollaborationLink @__modelType link @__ref */ class link5 { }}/** @shapeType Note @__modelType node @name Note4 @text Last step is to call the template method _evolve() */ class node6 { }