www.pudn.com > use-2.3.0.zip > Graph.use


model Graph

class Node
operations
  newTarget()
end

association Edge between
  Node[*] role source
  Node[*] role target
end

constraints

context Node::newTarget()
  -- the operation must link exactly one target node
  post oneNewTarget: 
    (target - target@pre)->size() = 1 

  -- the target node must not exist before
  post targetNodeIsNew: 
    (target - target@pre)->forAll(n | n.oclIsNew())