Real-Time Object-Oriented Data Management for Manufacturing Automation

Graduate Student: Lei Zhou

Faculty: Kang G. Shin, Elke A. Rundensteiner

Funding: NSF

Manufacturing automation applications, such as machine tool controllers, have become more sophisticated in recent years by capitalizing on the technological progress made in the field of computer. However, problems still remain in terms of life-cycle costand lack of openness in commercially available products. There is a general consensus that these applications should have a modular architecture and well-defined interfaces that allow third parties to develop and use these modules independently. Modules can be either hardware or software. The modules may be selected based on price and/or performance, while meeting the constraints of the application. Modular manufacturing applications require a built-in database management system (DBMS) to support concurrent data access and provide well-defined interfaces between different software entities (tasks, modules, etc.). They typically are subject to a range of timing constraints, which require the DBMS to provide timing guarantees, sometimes under complex conditions.

The objective of our research is to develop a high performance real-time object-oriented DBMS that is suitable for manufacturing applications. We define a real-time object model that explicitly captures important characteristics of RTDB applications, especially in the manufacturing application domain, namely, timing constraints and performance polymorphism. It uses specialization dimensions to model timing specifications and letter class hierarchies to capture performance polymorphism. The timing constraint of a task refers to the deadline by which the task must be completed. Performance polymorphism refers to the concept of maintaining and selecting among multiple implementations of a method (body) that carry out the same task and differ only in their performance measures, such as execution time, memory space, system configuration, result precision, and so on. Although regular object-oriented programming techniques (e.g., composite object classes) may be used to implement the proposed concepts, they neither explicitly capture these concepts nor provide a mechanism to enforce them.

A real-time system attempts to satisfy the timing requirements of as many tasks as possible, given that all hard real-time tasks are accommodated. If a system can only make hard deadline guarantees, some application requirements may not be met and the computational resources will be under-utilized. In such cases, a real-time system with hard and probabilistic guarantees is needed in order to satisfy the requirements of as many tasks as possible. We are investigating approaches to make probabilistic, as well as hard, deadline guarantees.