Previous UML Classes Table of Contents UML Packages Next


17.2.1 InformationFlow

InformationFlows


*Generalizations

   

    DirectedRelationship (from Kernel ) on page 62

   

    PackageableElement (from Kernel ) on page 111

   Description

Issue 8506 -fix typo

   An InformationFlow specifies that one or more information items circulates from its sources to its targets. Information flows require some kind of information channel for transmitting information items from the source to the destination. An information channel is represented in various ways depending on the nature of its sources and targets. It may be represented by connectors, links, associations, or even dependencies. For example, if the source and destination are parts in some composite structure such as a collaboration, then the information channel is likely to be represented by a connector between them. Or, if the source and target are objects (which are a kind of InstanceSpecification), they may be represented by a link that joins the two, and so on.

   Attributes

   No additional attributes

   Associations

Issue 8508 - fix capitalization

   Constraints

Issue 6446 - Sources and targets of information flow can also include ActivityNode and ActivityPartition .

   8506 - add OCL expression

   [1] 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 and InstanceSpecification except when its classifier is a relationship (i.e. it represents a link).

   (self.source->forAll(p | p->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 (self.target-> forAll(p | p->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)))

Issue 8506 - fix typos

   [2] The sources and targets of the information flow must conform with the sources and targets or, conversely, the targets and sources of the realization relationships, if any.

   [3] An information flow can only convey classifiers that are allowed to represent an information item. (see constraints on InformationItem (from InformationFlows) on page 636).

Issue 8506 - add OCL constraint

   self.conveyed.represented->forAll(p | p->oclIsKindOf(Class) or oclIsKindOf(Interface) or oclIsKindOf(InformationItem) or oclIsKindOf(Signal) or oclIsKindOf(Component)

   Semantics

   An information flow is an abstraction of the communication of an information item from its sources to its targets. It is used to abstract the communication of information between entities of a system. Sources or targets of an information flow designate sets of objects that can send or receive the conveyed information item. When a source or a target is a classifier, it represents all the potential instances of the classifier; when it is a part, it represents all instances that can play the role specified by the part; when it is a package, it represents all potential instances of the directly or indirectly owned classifiers of the package.

   An information flow may directly indicate a concrete classifier, such as a class, that is conveyed instead of using an information item.

   Notation

   An information flow is represented as a dependency, with the keyword <<flow>>.

Figure 17.3 - Example of information flows conveying information items

   Changes from previous UML

   InformationFlow does not exist in UML 1.4.