Sage Modeling and Simulation Library

Edge Members

The Edge type exposes the following members.

Constructors


  Name Description
Public method Edge()()()()
Creates a new instance of the Edge class. This implementation is provided in support of serialization.
Public method Edge(String)
Creates a new instance of the Edge class with a given name.

Methods


  Name Description
Protected method _PopulateClone
Populates the clone, adding clones of its children, and the edges relating them to the clone of this edge.
Public method Accept
Accepts a visitor, subsequently calling the visitor's Visit(this) method. See the Visitor design pattern for details.
Public method AddChainOfChildren
This method takes a list of edges, and first creates a chain out of them, and then adds that chain as a set of child tasks. Note that a restriction is that the edge to which these edges are being added cannot already have children assigned to it.
Public method AddChildEdge
Adds the child edge as a child to this edge. It will be attached at its pre-vertex to this one's pre-vertex, and at its post-vertex to this one's post-vertex. Any further sequencing between the provided edge and other edges is governed by otherwise-defined ligatures, synchronizers, etc.
Public method AddChildEdges
Adds the list of child edges as children to this edge. They are treated as equals, all attached at their pre-vertices to this one's pre-vertex, and at their post-vertices to this one's post-vertex. Any further sequencing between them is governed by otherwise-defined ligatures, synchronizers, etc.
Public method AddCofinish
Adds the slave Edge as a CoFinish. A CoFinish exists when a master edge's postVertex is not permitted to fire until the slave edge has completed. Thus, the master edge's postvertex will not be allowed to fire until the slave edge's postvertex has fired.
Public method AddCostart
Adds the slave Edge as a CoStart. A CoStart is an edge that is allowed to start as soon as this edge has started. Thus, the slave edge's prevertex will not be allowed to fire until this edge's prevertex has fired.
Public method AddPredecessor
Creates a Ligature between the provided edge's postVertex and this one's PreVertex, making the provided edge a predecessor to this one. This API also interacts with a ValidationService to enable it to correctly manage graph validity state.
Public method AddSuccessor
Creates a Ligature between the provided edge's preVertex and this one's postVertex, making the provided edge a successor to this one. This API also interacts with a ValidationService to enable it to correctly manage graph validity state.
Public method Clone
Creates a new object that is a copy of the current instance.
Public method Static member Connect
Creates a direct connection between the from vertex and the to vertex, if one does not already exist.
Protected method CreateVertices
Creates the pre and post vertices for this edge, providing them with default names and connecting them to this edge.
Public method DeserializeFrom
Reconstitutes this object from the specified XmlSerializationContext.
Public method Disconnect()()()()
Disconnects this instance from any parent edges, predecessors and successors. Child edges are left attached.
Public method Static member Disconnect(Vertex, Vertex, Boolean)
Removes one or more edges, if they exist, linking the fromVertex to the toVertex. The edge will be outbound from the fromVertex, and inbound to the toVertex.
Public method Equals(System.Object)
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected method Finalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public method GetChildren
Gets the children (from a perspective of validity) of the implementer.
Public method GetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public method GetParent
Gets the parent edge to this one. If the graph is not hierarchical, this will be null.
Public method GetSuccessors
Gets the successors (from a perspective of validity) of the implementer.
Public method GetType
Gets the Type of the current instance.
(Inherited from Object.)
Public method GetVertex
Gets the pre- or post-vertex of this edge..
Protected method InitializeStructuralChangeHandlers
Initializes the structural change handlers - GainedPredecessorEvent, GainedSuccessorEvent, LostPredecessorEvent, and LostSuccessorEvent.
Public method InsertBetween
Inserts this edge between the two provided edges. This is done by calling [T:Edge#AddSuccessor] for this edge on the preEdge, and [T:Edge#AddPredecessor] for this edge on the postEdge.
Public method IsRunning
Determines whether the specified graph context is running.
Public method Join
This edge will immediately suspend execution until the otherEdge completes.
Protected method MemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public method NotifyOverallValidityChange
Called by the ValidationService upon an overall validity change.
Protected method OnExecutionComplete
Called when execution of this edge is complete.
Public method PreVertexSatisfied
Called by the pre-vertex when it has been satisfied - that is, all incoming edges and synchronizers to that vertex have fired.
Public method RemoveChildEdge
Removes the child edge, and the ligatures that establish it as a child (i.e. between the parent's pre-vertex and this one's pre-vertex, and the parent's post-vertex and this one's post-vertex.)
Public method RemoveChildEdges
Removes the child edges, and the ligatures that establish them as children (i.e. between the parent's pre-vertex and their pre-vertices, and the parent's post-vertex and their post-vertices.)
Public method RemoveCofinish
Removes a cofinish relationship between this edge and the provided slave edge, if such exists.
Public method RemoveCostart
Removes a costart relationship between this edge and the provided slave edge, if such exists.
Protected method Static member RemoveLigature(Vertex, Vertex)
Removes the ligature between the from and the to vertices..
Protected method Static member RemoveLigature(Edge, Edge)
Removes the ligature between the post vertex of the 'from' edge and the pre-vertex of the 'to' edge.
Public method RemovePredecessor
Either removes a Ligature between the provided edge's postVertex and this one's PreVertex, removing the provided edge as a predecessor to this one. If the provided edge is a Ligature, then the ligature itself is disconnected from this edge. This API also interacts with a ValidationService to enable it to correctly manage graph validity state.
Public method RemoveSuccessor
Either removes a Ligature between the provided edge's preVertex and this one's PostVertex, removing the provided edge as a successor to this one. If the provided edge is a Ligature, then the ligature itself is disconnected from this edge. This API also interacts with a ValidationService to enable it to correctly manage graph validity state.
Public method SerializeTo
Stores this object to the specified XmlSerializationContext.
Public method Start()()()()
Begins execution of the graph under this edge using a default GraphContext. Start
Public method Start(IDictionary)
Begins execution of the graph under the specified graph context.
Public method ToString
Returns a String that represents the current Edge.
Public method Yield
Gives up the execution thread temporarily to any awaiting edges. This edge will be called to resume execution later in this same timeslice.

Fields


  Name Description
Protected field m_description
A description of this edge
Protected field m_name
This edge's Name.
Public field Static member NULL_CHANNEL_MARKER
An EdgeFiringManager that is told to fire all edges that are marked with a NullChannelMarker will actually fire all edges that have no Channel marker - that is, they have a \"null\" channel marker.
Protected field ParentEdge
This edge's parent edge.
Protected field Post
This edge's post-vertex.
Protected field Pre
This edge's pre-vertex.

Properties


  Name Description
Public property Channel
An edge's channel is used by a vertex's branch manager to determine which successor edges are to fire when the vertex's predecessors have all fired. The channel can be null, if there is no branch manager, or if the provided branch manager allows it.
Public property ChildEdges
Gets the child edges of this one. No sequence is implied in this collection - child edges are executed in an order according to their vertices' relationships to each other and their parents.
Protected property CloneName
Gets a name for the next clone to be obtained. Note that calling this method increases the index number used to create the name.
Public property Description
A description of this Edge.
Public property ExecutionDelegate
Gets or sets the execution delegate that this edge uses to call application code.
Public property Name
The name of this edge.
Protected property Parent
Gets or sets the parent edge to this one. If the graph is not hierarchical, this will be null.
Public property PostVertex
The postVertes to this edge.
Public property PredecessorEdges
Gets a list of predecessor edges attached to this edge's preVertex.
Public property PreVertex
The preVertex to this edge.
Public property SelfState
Gets or sets the state (from a perspective of validity) of the implementer.
Public property SuccessorEdges
Gets a list of successor edges attached to this edge's postVertex.
Public property UtilRef
Gets or sets the utility reference. This is a reference that can be used by whomever needs to do so, for short periods. The cloning mechanism, for example, uses it during cloning.
Public property ValidationService
Gets or sets the validation service that oversees the implementer.

Events


  Name Description
Public event CloneEvent
Fired after this edge is cloned.
Public event EdgeExecutionFinishingEvent
Called as soon as the application code in the EdgeExecutionDelegate has finished.
Public event EdgeExecutionStartingEvent
Fired after an edge has been notified that it may start, and immediately prior to calling the EdgeExecutionDelegate which contains the application code.
Public event EdgeFinishingEvent
Called as an edge's post-vertex is starting to fire.
Public event EdgeStartingEvent
Called as an edge's pre-vertex is starting to fire.
Public event GainedPredecessorEvent
Fired after an edge has gained a predecessor.
Public event GainedSuccessorEvent
Fired after an edge has gained a successor.
Public event LostPredecessorEvent
Fired after an edge has lost a predecessor.
Public event LostSuccessorEvent
Fired after an edge has lost a successor.
Public event StructureChangeHandler
This event is fired any time the graph's structure changes.
Public event ValidityChangeEvent
Fired when the Validation Service determines that this edge's validity has changed.