Information Technology Reference
In-Depth Information
3
Essential Mechanisms of IntelligentBox and WebIB
WebIB
employs the same essential mechanisms of
IntelligentBox
. This section ex-
plains those mechanisms in the following two subsections. They are very simple but
very useful. After that, we describe extended mechanisms for
WebIB
.
3.1
Model-Display Object (MD) Structure
As shown in Figure 1, each
box
consists of two objects, a model and a display object.
This structure is called MD (Model-Display object) structure. A model holds state
values of a
box
. They are stored in variables called slots. A display object defines how
the
box
appears on a computer screen and also defines how the
box
reacts to user
operations. An example of
RotationBox
in Figure 1 has a slot named 'ratio' that holds
a double precision number used as a rotation angle. Through direct manipulation on
the
box
using a mouse device, its slot value is changed. Furthermore, its visual image
changes simultaneously with the change of the slot value. In this way, a
box
reacts to
the user's manipulation according to its functionality.
Fig. 1.
An
MD
structure of a
box
and its internal messages
3.2
Dynamic Data-Linkage Mechanism Called Slot Connection
Figure 2 illustrates a data linkage concept among
boxes
. As shown in the figure, each
box
has multiple slots. Its one slot can be connected to one of the slots of other
box
.
This connection is called a slot connection. The slot connection is carried out by three
standard messages, i.e., a set message, a gimme (give me) message and an update
message, when there is a parent-child relationship between two
boxes
. These messag-
es have the following formats:
(1) Parent
box
set <slotname> <value>.
(2) Parent
box
gimme <slotname>.
(3) Child
box
update.
A <value> in a format (1) represents any value, and a <slotname> in formats (1) and
(2) represents a user-selected slot of the parent
box
that receives these two messages.
A set message writes a child
box
slot value into its parent
box
slot. A gimme message
reads a parent
box
slot value and sets it into its child
box
slot. Update messages are