Professional Documents
Culture Documents
ZEN Tutorial
ZEN Tutorial
ZEN Tutorial
The ZEN project aims to provide an open-source implementation of highly configurable low foot-print CORBA ORB implementation using Java and the Real-time Specification for Java. The flexible configuration is achieved by making the ORB architecture pluggable, thus allowing multiple implementations of ORB components, e.g., Buffer Allocators, CDR Message Parsers, IOR Parsers and Portable Object Adapters (POA) to be customizable and loadable on demand. The remaining core portion of the ORB is called the ZEN Kernel which is minimal as features that are not needed are not loaded during initialization. The figures below visually contrast the architectures of a Monolithic (a single piece) ORB implementation and the Micro (micro as in the micro-kernel pattern) ORB implementation of ZEN.
The figure on the left shows the various policies of the POA and the different possible mechanisms for the different policies. The figure on the right shows how we have decomposed the POA along policy lines to have a minimal POA core and pluggable and loadable strategies. This approach considerably reduces the footprint of ZEN's POA. The figure summarizes the contributions to ZEN, All my publications relating to ZEN, can be obtained from here. My other contributions to ZEN include:
Thread pool implementation based on the Half-Sync/Half-Asych design pattern Designed and implemented the Acceptor and Connector components in ZEN for request demultiplexing Developed Collocation optimization strategies needed for real-time systems Implemented Active Demultiplexing strategy for request demultiplexing in the ORB: ensures O(1) worst case time bound