Engineering dynamic real-time distributed systems architecture, system description language, and middleware. - Ravindran, B.
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: 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