Next: Preliminary Results
Up: System Design
Previous: Architecture.
The Bayanihan framework heavily exploits
the object-oriented features of the Java language to provide flexibility
in the kinds of systems that can be implemented using it.
Implementations of Bayanihan can be varied at three main levels:
- 1.
- Applications. At the highest level, application programmers
can write their own data objects and GUIs, and create their own problem
objects by putting together appropriate engine, manager, and data pool
components chosen from a component library. Given a component library
for eager-scheduling, for example, one can write applications for
rendering, RC5, and many other applications simply by
varying the work data and GUI classes. Within a single application,
it is also possible write different user interfaces. For example,
different data GUIs may be written to display data in different ways.
- 2.
- Components. Programmers can also write their own
engines, managers, and data pools to implement different computation
models. This would allow us, for example, to experiment with
different forms of adaptive parallelism, or different fault-tolerance
mechanisms.
- 3.
- Infrastructure. It is also possible to change
other support objects such as the chassis, and the problem table.
For example, there may be an application chassis and an applet chassis.
Also, different chassis objects may provide different ways to let
the user select problems from the problem table. Making changes
at this level may allow us to implement different security mechanisms,
or address scalability issues.
Next: Preliminary Results
Up: System Design
Previous: Architecture.
Luis Sarmenta
11/22/1997