Efficient monitoring of objects in object-oriented database system which interacts cooperatively with client programs
With the rise of the Semantic Web and Cloud Computing, it is a premise of this blog that the most efficient methods - for the authoring and sharing of trustworthy information within social networks and along complex product supply chains - are far and away object-oriented methods.
The following quoted text is taken from a Hewlett-Packard patent filed in 1988 and issued in 1992. It is entitled Method of monitoring changes in attribute values of object in an object-oriented database and still reads fresh even today.
- "Monitoring [of data] imposes a heavy computational and input/output overhead on a database system, especially if the system is large and a number of values are being monitored at the same time for several different clients. Various methods have been proposed to minimize this overhead.
For example, in one such system an 'alerter' is called if specified boolean conditions are satisfied [see Efficiently Monitoring Relational Databases in references]. A 'retrieve always' mechanism in another system causes queries to be re-executed upon each update to specified relations [see Triggers and inference in database systems in references].
Systems of 'triggers' have been proposed for relational database systems; such triggers typically invoke a database procedure upon updates of user-specified base relations [see System R: A Relational Approach to Database Management in references].
A technique which is somewhat similar to the trigger system is the use of a 'declarative integrity constraint,' in which a proffered update to the database is rejected if specified boolean conditions are not satisfied at commit time [see Implementation of integrity constraints and views by query modification in references].
Another technique, access-oriented programming, is implemented in some object-oriented languages such as 'LOOPS'. A message to set values of instance variables is intercepted by means of a user-provided trigger procedure which may in turn set or display some other value [see Integrating Access-Oriented Programming Into a Multiparadigm Environment in references]. The trigger procedures are dynamically added and removed from running systems to avoid interfering with other system logic [see Active Objects: An Access Oriented Framework for Object-Oriented Languages in references].
Finally, expert systems such as "SYNTEL" and "OPS5" provide a method of monitoring virtual memory data retrieved from persistent data [see Syntel: Knowledge Programming Using Functional Representations in references].
Each of these proposed methods offers certain benefits, primarily in the context of the particular environment for which it was designed. However, there remains a need for an efficient way to monitor objects in an object-oriented database system which interacts cooperatively with client programs."
References (10)
-
"A method of monitoring objects in an interactive object-oriented database system." -
"Because the user interface in a relatonal data base management system may be decoupled from the storage representation of data, novel, powerful and efficient integrity control schemes are possible." International Conference on Management of Data, Proceedings of the 1975 ACM SIGMOD international conference on Management, Relational systems, pp. 65-78, ACM (May, 1975) . -
"The LOOPS (Lisp Object-Oriented Language) project was started to support development of expert systems project at PARC. We wanted a language that had many of the features of frame languages, such as objects, annotated values, inheritance, and attached procedures. We drew heavily on Smalltalk-80, which was being developed next door." -
"The Loops knowledge programming system integrates function-oriented, system object-oriented, rule-oriented, and—something notfound in most other systems—access-oriented programming." IEEE Software, 3, 10, pp. 10-18 (Jan. 1986). -
Journal of Object-Oriented Programming, Vol. 1, No. 2, pp. 6-10 (June/July 1988). -
Related: OPS5"OPS5 is a rule-based or production system computer language, notable as the first such language to be used in a successful expert system, the R1/XCON system used to configure VAX computers." -
"Syntel [tm] is a novel knowledge representation language that provides traditional features of expert". Proc. AAAI-86, Philadelphia, pp. 1003-1007, Morgan Kaufman (Aug. 1986). -
"A scheme is presented in which alerters may be placed on a complex query involving a relational database, and a method is demonstrated for reducing the amount of computation involved in checking whether an alerter should be triggered." ACM Transactions on Database Systems 4, 3, pp. 368-382, ACM (Sept. 1979) . -
Published in M. Brodie and J. Mylopoulos (eds.), On Knowledge Based Management Systems, Springer-Verlag (1986) -
Readings in database systems, pp. 16 - 36, Morgan Kaufmann Publishers Inc. (1988). Also, ACM Transactions on Database Systems, 1 (2), ACM (June 1976).



Reader Comments