next up previous
Next: In/Out Merger Up: No Title Previous: In/Out Transformers

In/Out Couplers

They couple peers/databases/representations/abstractions to peers/views/representations/interactors (possibly in conjunction with parsers, unparsers, in/out transformers). They allow us to to separate the connection logic from the objects being coupled.

we have separate in and out couplers. A connected object announces all communicable events to its out coupler and receives announced events from its in coupler. The in and out couplers determine what is actually transmitted/received to/ from other objects. For a pair of connected objects, two in/out coupler pairs are created, one pair for each object.

One can use the Field Message server as a basis for implementing generic in/out couplers. The out coupler simply sends all events to other connected in couplers. The behavior of an in coupler is determined by a user-defined Field pattern that describes which events are to be received.

Other generic forms of in/out couplers: An out coupler that batches events it receives from its coupled object and sends them with a certain user-defined period instead of sending them incrementally. Similarly, an in coupler that batches events it receives from out couplers and delivers them periodically with a certain period to its coupled object.

We can also a more elaborate Suite-like in and out couplers. Assume that the coupled object indicates, with each event the field that changes and three change attributes, the structural level of the change (e.g. word, sentence, para, section), the correctness level of the change (e.g validated, tested, committed), and the time of the change. Each of these attributes is of an ordinal type, that is, takes values from an ordered set (say integer). The couplers is associated with user-defined parameters indicating the minimum values of these three attributes for events that are transmitted/received and also the fields that are to be transmitted/received. An event is not transmitted/received if the values of its three change attributes are not >= the minimum levels and its field is not one marked for sending/receiving.

An example of an application-specific in/out coupler is a budget coupler that only sends/receives changes marked as direct costs.


next up previous
Next: In/Out Merger Up: No Title Previous: In/Out Transformers



Prasun Dewan
Wed Jan 15 14:18:35 EST 1997