Sage Modeling and Simulation Library

Highpoint.Sage.Graphs.PFC Namespace

Classes


  Class Description
Public class PfcAnalyst
The PfcAnalyst is a static class that provides analytical helper methods.
Public class PfcDiagnostics
Public class PfcElement
Public class PfcElementFactory
This is the default implementation of IPfcElementFactory, provided to the ProcedureFunctionChart.ElementFactory as a default. It creates a Step, Transition or Link element on demand from this library's default types.
Public class PfcLink
Public class PfcLink..::..LinkComparer
Class LinkComparer orders links first by priority (default is zero) then by predecessor name, then by Guid. (Using Guid is a last resort to ensure repeatability.)
Public class PfcLinkElementList
A collection of IPfcLinkElement objects that can be searched by name or by Guid.
Public class PfcNode
Public class PfcNode..::..NodeComparer
Public class PfcNodeList
A List of IPfcNode objects that can be searched by name or by Guid.
Public class PfcPredicates
Public class PfcStep
Public class PfcStep..::..StepComparer
Public class PfcStepNodeList
A collection of IPfcNode objects that can be searched by name or by Guid.
Public class PfcStructureViolationException
StructureViolationException is thrown when a Sequential Function Chart is has just undergone an illegal change in structure.
Public class PfcTransition
A PfcTransition acts as a Transition in a Pfc (Procedure Function Chart).
Public class PfcTransition..::..TransitionComparer
The TransitionComparer is used to sort transitions by their graph ordinals.
Public class PfcTransitionNodeList
A collection of IPfcTransitionNode objects that can be searched by name or by Guid.
Public class PfcUnitInfo
Public class PfcValidator
Public class PfcValidator..::..PfcValidationError
Public class PFCValidityException
An exception that is thrown if there is a cycle in a dependency graph that has been analyzed.
Public class ProcedureFunctionChart
Represents & contains a Procedure Function Chart instance. Includes methods for building, triggering, and reducing an SFC graph. The SFC is maintained SFC-Compliant (meaning that Transitions always lead to Steps, and Steps always lead to Transitions, and both always do so via Links.
Public class ProcedureFunctionChart..::..NewGuidHolder
A class that holds a reference to an IPfcElement and a new Guid for that element, and enables the ProcedureFunctionChart to change that guid via its' ApplyGuidMap API.

Interfaces


  Interface Description
Public interface IPfcBooleanExpression
An interface implemented by anything in an SFC that is to be evaluated as an expression that returns a boolean.
Public interface IPfcElement
Implemented by any entity (Links, Steps and Transitions) that participates in the structure of a ProcedureFunctionChart.
Public interface IPfcElementFactory
An implementer of IPfcElementFactory is the factory from which the PfcElements are drawn when an IProcedureFunctionChart is creating an SfcElement such as a node, link or step.
Public interface IPfcExpression<(Of <(<'T>)>)>
An interface implemented by anything in an SFC that is to be evaluated as an expression.
Public interface IPfcLinkElement
Implemented by an object that is an SFC SfcLink.
Public interface IPfcNode
Implemented by anything that can be a node in an SFC graph. This includes steps and transitions. Nodes are connected to Links as their predecessor & successors. Links such as ParallelConvergentLinks and SeriesDivergentLinks have multiple predecessors or successors, and their logic to fire or not is dependent upon input steps' or transitions' states.
Public interface IPfcNodeFilter
Implemented by an object that filters SFC Nodes.
Public interface IPfcStepNode
Implemented by an object that is an SFC SfcStep.
Public interface IPfcTransitionNode
Implemented by an object that is an SfcTransition.
Public interface IPfcUnitInfo
Holds key data on the unit with which a specific step is associated.
Public interface IProcedureFunctionChart
IProcedureFunctionChart is implemented by a type that provides overall management, including creation, running and modification of an SFC graph.

IMPORTANT NOTE: Any class implementing IProcedureFunctionChart must have a constructor that accepts a IProcedureFunctionChart, in order for serialization to work properly.

Enumerations


  Enumeration Description
Public enumeration AggregateLinkType
A PfcLink is a part of one of these types of aggregate links, depending on the type of its predecessor or successor, and the number of (a) successors its predecessor has, and (b) predecessors its successor has.
Public enumeration NodeColor
Enum NodeColor is used for various graph analysis algorithms. One such declares Black, unvisited, Gray, partially visited and White, fully visited.
Public enumeration OperationType
The types of operations permitted by this operation type.
Public enumeration PfcElementType
Public enumeration PfcPortDirection
Declares whether a port is an input port or an output port.
Public enumeration StandardMacros