package id33q9ckgun7vdckguq4fq;

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