Information Technology Reference
In-Depth Information
«CV_OperationInterfaceSignature»
IControl
«CV_FlowSignature»
Audio
«CV_FlowSignature»
Video
+pause()
+resume()
«CV_StreamInterfaceSignature»
RepairerStream
«CV_StreamInterfaceSignature»
AdviserStream
«CV_Flow»+videoOut : Video{causality = producer}
«CV_Flow»+audioOut : Audio{causality = producer}
«CV_Flow»+videoIn : Video{causality = consumer}
«CV_Flow»+audioIn : Audio{causality = consumer}
«CV_Flow»+videoOut : Video{causality = consumer}
«CV_Flow»+audioOut : Audio{causality = consumer}
«CV_Flow»+videoIn : Video{causality = producer}
«CV_Flow»+audioIn : Audio{causality = producer}
«CV_Object»
Repairer
«CV_Object»
Adviser
«CV_PrimitiveBinding»
media : RepairerStream
media : AdviserStream
«CV_OperationInterfaceSignature»
IControl
ctrl : IControl
ctrl : IControl
«CV_OperationInterfaceSignature»
IControl
FIGURE 4.10: Using streams when specifying a multimedia application.
In this example, we assume that the control interfaces are bound by the
infrastructure, whilst the stream interfaces are bound using an explicit binding
action; in this first case, both of these are primitive bindings.
To create the configuration, the system at the service centre should initiate
an interaction with the system at the manufacturer; this interaction causes the
creation of the repairer and adviser proxy objects on each side, and exchanges
the interface references of the control and stream interfaces on the created
objects; the performance of the binding actions by the repairer completes the
conguration. Either party can control the media ows by calling its peer's
control interface. Once the conference is over, the proxy objects would be
instructed to remove themselves and the references and resources used by
these objects cleaned up.
Now let us look at the same application, but this time introducing an
explicit binding object. The resulting configuration is shown in figure 4.11.
There is a trade-off here; another object is added to the design, but the number
of interface types defined by the application can be reduced. Now both the
application components offer the same interface, MediaUserStream, so that
both send audio out on their audioOut flow. The binding object offers a
pair of complementary interfaces, with signature MediaBindingStream, which
is derived from MediaUserStream by reversing the directions of all the flows in
it. This signature is shown in grey in the figure to indicate that it is derived
when the binding is created. The binding object would then have behaviour
that consumes samples from audioOut on one side and produces it as audioIn
 
Search WWH ::




Custom Search