Table of Contents

Class InformationFlow

Namespace
NMF.Interop.Uml
Assembly
NMF.UMLInterop.dll

InformationFlows describe circulation of information through a system in a general manner. They do not specify the nature of the information, mechanisms by which it is conveyed, sequences of exchange or any control conditions. During more detailed modeling, representation and realization links may be added to specify which model elements implement an InformationFlow and to show how information is conveyed. InformationFlows require some kind of “information channel” for unidirectional transmission of information items from sources to targets.  They specify the information channel’s realizations, if any, and identify the information that flows along them.  Information moving along the information channel may be represented by abstract InformationItems and by concrete Classifiers. <p>From package UML::InformationFlows.</p>

[XmlNamespace("http://www.eclipse.org/uml2/5.0.0/UML")]
[XmlNamespacePrefix("uml")]
[ModelRepresentationClass("http://www.eclipse.org/uml2/5.0.0/UML#//InformationFlow")]
public class InformationFlow : PackageableElement, IInformationFlow, IDirectedRelationship, IRelationship, IPackageableElement, IParameterableElement, INamedElement, IElement, IEModelElement, IModelElement, INotifyPropertyChanged, INotifyPropertyChanging
Inheritance
InformationFlow
Implements
Inherited Members

Constructors

InformationFlow()

Creates a new instance

public InformationFlow()

Properties

Children

Gets the child model elements of this model element

public override IEnumerableExpression<IModelElement> Children { get; }

Property Value

IEnumerableExpression<IModelElement>

ClassInstance

Gets the Class model for this type

public static IClass ClassInstance { get; }

Property Value

IClass

Conveyed

Specifies the information items that may circulate on this information flow. <p>From package UML::InformationFlows.</p>

[LowerBound(1)]
[XmlElementName("conveyed")]
[XmlAttribute(true)]
public ISetExpression<IClassifier> Conveyed { get; }

Property Value

ISetExpression<IClassifier>

InformationSource

Defines from which source the conveyed InformationItems are initiated. <p>From package UML::InformationFlows.</p>

[LowerBound(1)]
[XmlElementName("informationSource")]
[XmlAttribute(true)]
public ISetExpression<INamedElement> InformationSource { get; }

Property Value

ISetExpression<INamedElement>

InformationTarget

Defines to which target the conveyed InformationItems are directed. <p>From package UML::InformationFlows.</p>

[LowerBound(1)]
[XmlElementName("informationTarget")]
[XmlAttribute(true)]
public ISetExpression<INamedElement> InformationTarget { get; }

Property Value

ISetExpression<INamedElement>

Realization

Determines which Relationship will realize the specified flow. <p>From package UML::InformationFlows.</p>

[XmlElementName("realization")]
[XmlAttribute(true)]
public ISetExpression<IRelationship> Realization { get; }

Property Value

ISetExpression<IRelationship>

RealizingActivityEdge

Determines which ActivityEdges will realize the specified flow. <p>From package UML::InformationFlows.</p>

[XmlElementName("realizingActivityEdge")]
[XmlAttribute(true)]
public ISetExpression<IActivityEdge> RealizingActivityEdge { get; }

Property Value

ISetExpression<IActivityEdge>

RealizingConnector

Determines which Connectors will realize the specified flow. <p>From package UML::InformationFlows.</p>

[XmlElementName("realizingConnector")]
[XmlAttribute(true)]
public ISetExpression<IConnector> RealizingConnector { get; }

Property Value

ISetExpression<IConnector>

RealizingMessage

Determines which Messages will realize the specified flow. <p>From package UML::InformationFlows.</p>

[XmlElementName("realizingMessage")]
[XmlAttribute(true)]
public ISetExpression<IMessage> RealizingMessage { get; }

Property Value

ISetExpression<IMessage>

ReferencedElements

Gets the referenced model elements of this model element

public override IEnumerableExpression<IModelElement> ReferencedElements { get; }

Property Value

IEnumerableExpression<IModelElement>

Methods

Convey_classifiers(object, object)

An information flow can only convey classifiers that are allowed to represent an information item. self.conveyed->forAll(oclIsKindOf(Class) or oclIsKindOf(Interface) or oclIsKindOf(InformationItem) or oclIsKindOf(Signal) or oclIsKindOf(Component))

public bool Convey_classifiers(object diagnostics, object context)

Parameters

diagnostics object

The chain of diagnostics to which problems are to be appended.

context object

The cache of context-specific information.

Returns

bool

GetClass()

Gets the Class for this model element

public override IClass GetClass()

Returns

IClass

GetCollectionForFeature(string)

Gets the Model element collection for the given feature

protected override IList GetCollectionForFeature(string feature)

Parameters

feature string

The requested feature

Returns

IList

A non-generic list of elements

Must_conform(object, object)

The sources and targets of the information flow must conform to the sources and targets or conversely the targets and sources of the realization relationships.

public bool Must_conform(object diagnostics, object context)

Parameters

diagnostics object

The chain of diagnostics to which problems are to be appended.

context object

The cache of context-specific information.

Returns

bool

Sources_and_targets_kind(object, object)

The sources and targets of the information flow can only be one of the following kind: Actor, Node, UseCase, Artifact, Class, Component, Port, Property, Interface, Package, ActivityNode, ActivityPartition, Behavior and InstanceSpecification except when its classifier is a relationship (i.e. it represents a link). (self.informationSource->forAll( sis | oclIsKindOf(Actor) or oclIsKindOf(Node) or oclIsKindOf(UseCase) or oclIsKindOf(Artifact) or oclIsKindOf(Class) or oclIsKindOf(Component) or oclIsKindOf(Port) or oclIsKindOf(Property) or oclIsKindOf(Interface) or oclIsKindOf(Package) or oclIsKindOf(ActivityNode) or oclIsKindOf(ActivityPartition) or (oclIsKindOf(InstanceSpecification) and not sis.oclAsType(InstanceSpecification).classifier->exists(oclIsKindOf(Relationship)))))

and

(self.informationTarget->forAll( sit | oclIsKindOf(Actor) or oclIsKindOf(Node) or oclIsKindOf(UseCase) or oclIsKindOf(Artifact) or oclIsKindOf(Class) or oclIsKindOf(Component) or oclIsKindOf(Port) or oclIsKindOf(Property) or oclIsKindOf(Interface) or oclIsKindOf(Package) or oclIsKindOf(ActivityNode) or oclIsKindOf(ActivityPartition) or (oclIsKindOf(InstanceSpecification) and not sit.oclAsType(InstanceSpecification).classifier->exists(oclIsKindOf(Relationship)))))

public bool Sources_and_targets_kind(object diagnostics, object context)

Parameters

diagnostics object

The chain of diagnostics to which problems are to be appended.

context object

The cache of context-specific information.

Returns

bool