Next: CORBA in DAQ Systems
Up: An Assessment of CORBA
Previous: The Model
  Contents
The object communication architecture as standardised by the OMG does
not address any performance requirements. When applying this technology
to performance critical applications such as
avionics[GS98c] or real-time control[PWP98],
it became clear that some effort has to be made towards making
CORBA implementations more efficient[YS98]. Efficiency here means
deterministic behaviour of the ORB in terms of scale,
speed and memory consumption. These are prerequisites for
building CORBA components that support application environments with
special demands. Unfortunately only few efforts concentrating at CORBA
for real-time environments have shown significant impact on further
development
.
Two examples of high-performance CORBA projects that are worth
mentioning are the COOL and the TAO systems:
- Chorus/COOL - Although already designed and implemented
in late 1988 for the Chorus real-time operating system,
COOL has been redesigned several times to be
compliant with the CORBA architecture[HM90]. It focuses on being
efficient in terms of upcall latency and small memory
footprint[JHJ$^$94, p.5]. Not only have these goals been
achieved[Sys93][SMFGG98],
but the modular design also allows
ports to other operating systems, such as WindowsNT and
Solaris[Sys96, p.2]. The work on Chorus/COOL
also resulted in contribution to the OMG Minimum CORBA
specification[Gro97a] and the OMG CORBA real-time
efforts[Sys97]. Chorus and COOL are now commercial products,
maintained by Sun Microsystems.
- TAO (The ACE ORB) - TAO[SGH$^$97] is an ORB based on the
ADAPTIVE Communication Environment (ACE)[Sch94,SLM88].
ACE is an object oriented
toolkit providing an operating system abstraction layer and building
blocks for network programming. ACE is written entirely in C++ and
aims at efficient implementation of design patterns for programming
distributed systems. TAO makes heavy
use of these patterns[SLC99,SC99,POS$^$99,SC97],
thus resulting in a highly configurable
middleware system. Not only concurrency policies are freely exchangeable at
runtime, but also ORB resources that affect the way in which servants
are located and invoked[GS97b]. TAO can be configured to
work with different communication subsystems[GS98a]. It is
however not possible to mix these pluggable transport components.
Its internals are well documented
and evaluated. Information about concurrency mechanisms used for
handling an increasing amount of clients[Sch98],
alleviation from performance limitations
in the server[SG99] and scheduling issues[GLSK99,SMFGG98,HLS97] for real-time applications are presented
in numerous publications[LFGS99,SBL$^$97,GS97a,GHSP96].
This rich set of documentation allows us to use TAO as a subject for
investigating possible CORBA application.
Next: CORBA in DAQ Systems
Up: An Assessment of CORBA
Previous: The Model
  Contents
Johannes Gutleber
1999-10-29