|
Real-Time Distributed Middleware
With the increasing scale and complexity of current distributed applications,
Object Oriented (OO) software design methodology is gaining popularity in this
field. This In order to achieve timely execution of service requests, the client must have a way to express the required timing requirements, and the CORBA system must provide methods for expressing and enforcing timing constraints. The distributed nodes’ operating systems as well as the underlying network must support real-time constraint enforcement. The released RT-CORBA specifications describe the requirements to be provided and managed by the communication infrastructure, OS scheduling mechanism, and ORB end-system to ensure end-to-end predictable behavior. The RT-CORBA specifications mainly target fixed priority real-time systems and provide applications with interfaces to manage their resources, thread assignment, and priorities.
Our main objective is to develop a complete model for scheduling and
dispatching hard and soft real-time service requests in a CORBA-based
distributed environment. The
An instance of the dispatcher object runs on each node in the system. The dispatcher is responsible for analyzing the node’s local application objects and dispatching run-time tasks according to the system’s timing requirements. In the off-line system analysis phase, the node dispatcher runs as part of the CORBA IDL compiler, or as a preprocessor for it. The dispatcher parses the application objects’ IDL code and timing requirements’ specifications and register them with the central real-time scheduler. At runtime, the node dispatcher runs in the context of two objects, the Dispatcher Event Server and the HRT Server Agent. At run-time, a node’s dispatcher objects are responsible for executing local hard real-time client jobs as well as server jobs generated as a result of external service requests according to the node’s parametric dispatching calendar. The node dispatcher’s components and its role in dispatching hard real-time CORBA service requests are illustrated in the previous figure. |
|
|