======================== ProcessStreamThroughPipe ======================== .. rubric:: Description The relationship that a process stream flows in a pipe that is modelled as functional physical object is instantiated with this modelling pattern. Modelling decisions: 1.Since it is neither possible nor advisable to define containment between possible individuals and classes, an unnamed PIPE CLASS of entity type dm:ClassOfInanimatePhysicalObject is assumed and input of the template ClassOfContainmentDefinition. 2.This class cannot be chosen arbitrarily but must contain criteria for the extension of the pipe to which the stream is related. .. rubric:: Definition A process stream (x1) flows through a pipe (x2). .. image:: ProcessStreamThroughPipe.svg :: ProcessStreamThroughPipe(x1, x2) <-> edm:ClassOfStream(x1) & FunctionalPhysicalObject(x2) & exists u1 exists u2 exists u3( ClassOfInanimatePhysicalObject(u1) & Cardinality(u2) & Cardinality(u3) & MMT:ClassificationOfIndividual(x2, u1) & MMT:ClassOfContainmentDefinition(u1, x1, u2, u3)) . .. rubric:: Roles 1. hasProcessStream 2. hasPipe .. rubric:: Restrictions * Role filler of hasProcessStream must have entity type EdmClassOfStream. * Role filler of hasPipe must have entity type FunctionalPhysicalObject. * One of: * Role filler of hasPipe must be classified as Pipe. * Role filler of hasPipe must be used as the role filler of hasFpo with respect to the :doc:`../FpoIsSomething/index` pattern.