[11]
DejaVU Online:
Principles of Object-Oriented Software Development
(©)
As an example, look at the visualization displayed
in slide screenshot.
It presents a waiting queue, which is the result of
a business process simulation, as described in
To deploy visualizations effectively in actual argumentation,
it must be possible, literally,
to share one's point of view with other participants,
or to enforce
one's perspective.
In practice this means that a particular visualization,
that is presentation of a perspective, is displayed
to the other users.
So, instead of the length of the queue, the average
waiting times may be displayed, for example to
illustrate that customer satisfaction will not be affected.
Technically, our solution for sharing or
exporting views is based on mobile object technology, as
will be discussed shortly.
Finally, we need additional means to
communicate with the other participants,
such as a telepointer and a chatting facility.
Voyager, described in
We use VRML, see
The visualization gadgets in the presentation component are represented by mobile display agents. These agents are
constructed using Voyager. Display agents can also `dock' in a user environment and, in addition, get access to the local
VRML world. They collect the needed information from shared concept spaces to build and maintain the 3D visualization.
The combination of CORBA and the Web enables access to information resources by means of HTML, Java and VRML.
For example, the simulation and shared concept space,
that is the derived model, can be hosted on a Unix server
while the presentation components are executed in a Web-browser on Windows client machines.
DIVA is based on three requirements
Conceptually, a visualization may be regarded as a
transition of data through a sequence of models,
as depicted in slide diva-arch.
In the case of business process visualization, the primary
model, or generator component, is a simulation
of a business process.
The derived model collects these data,
filters some out, and computes aggregate data, as for example the
average waiting time for a queue.
The presentation model defines how the data is presented,
that is what visual gadgets are used to display
the outcome and the dynamics of the simulation.
Collaborative visualization
The conceptual architecture in slide diva-arch
allows for having multiple perspectives
on the same data.
For example, instead of the queue length,
we might also display the actual throughput or the product lead time.
In
Collaborative visualization
Obviously, the original DIVA architecture needs to be extended
with sessions, defining a (virtual) meeting and
corresponding roles,
such as a chair, listeners, talkers, and interactors.
Restarting the simulation is an example of
the action of an interactor.
Clearly, such interactions disrupt the actual course
of events and must be limited to
privileged participants.
Display agents
To allow for sharing or enforcing perspectives,
we introduced so-called display agents,
mobile Java objects that may be used by a Java applet to create a VRML
world using the external authoring interface (EAI).
See
As sketched in slide diva-agents,
the simulation server sends
events to the visualization, embedded in a Web browser.
A visualization consists of a VRML world
and Java objects that intercept the visualization events
(using the CORBA Event Service)
and react to possible user actions.
The content of VRML worlds are stored as display agents,
which reflect the contents of the secondary model or concept
space.
Display agents are mobile objects that may be activated on demand,
to display the simulation scene, or to update the other
participants' view.
Implementation details
DIVA is designed as a distributed object-oriented system. The DIVA components are written in C++ and Java, and can run
on different platforms. We use the Common Object Request Broker Architecture (CORBA) to let our distributed objects
communicate with each other.
By using the interface definition language (IDL) to describe the interfaces between
components and by making use of the object request broker (ORB), distributed components are able to communicate.
[11]
-
[up]
[top] -
[I]
[II]
[III]
[IV] -
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12] -
[A]
[R]
|
Hush Online Technology
hush@cs.vu.nl
12/30/99 |
|
|