Title :
Engineering dynamic real-time distributed systems: architecture, system description language, and middleware
Author :
Ravindran, Binoy
Author_Institution :
Bradley Dept. of Electr. Eng., Virginia Polytech. Inst. & State Univ., Blacksburg, VA, USA
fDate :
1/1/2002 12:00:00 AM
Abstract :
The paper presents an architectural framework and algorithms for engineering dynamic real-time distributed systems using commercial off-the-shelf technologies. In the proposed architecture, a real-time system application is developed in a general-purpose programming language. Further, the architectural-level description of the system such as composition and interconnections of application software and hardware, and the operational requirements of the system such as timeliness and survivability are specified in a system description language. The specification of the system is automatically translated into an intermediate representation (IR) that models the system in a platform-independent manner. The IR is augmented with dynamic measurements of the system by a language runtime system to produce a dynamic system model. The dynamic model is used by resource management middleware strategies to perform resource management that achieves timeliness and survivability requirements. We present two classes of algorithms: predictive and availability-based, for performing resource allocation. To validate the viability of the approach, we use a real-time benchmark application that functionally approximates dynamic real-time command and control systems. The benchmark results illustrate that the middleware is able to achieve the desired timeliness requirements during a number of load situations. Furthermore, availability-based allocation algorithms perform resource allocation less frequently, whereas predictive algorithms give a better steady state performance for the application
Keywords :
application program interfaces; bibliographies; command and control systems; distributed programming; real-time systems; resource allocation; specification languages; IR; application software; architectural framework; architectural-level description; availability-based allocation algorithms; commercial off-the-shelf technologies; dynamic measurements; dynamic real-time command and control systems; dynamic real-time distributed systems engineering; dynamic system model; general-purpose programming language; intermediate representation; language runtime system; operational requirements; predictive algorithms; process control systems; real-time benchmark application; resource allocation; resource management middleware strategies; survivability; system description language; timeliness; Application software; Availability; Computer architecture; Computer languages; Heuristic algorithms; Middleware; Paper technology; Prediction algorithms; Real time systems; Resource management;
Journal_Title :
Software Engineering, IEEE Transactions on