Menu
News
20.09.2009

Event Handling in Mixed Mode Systems WS 07/08

Organizer Prof. Alejandro Buchmann
Description
Lecture Tue 16:15-17:55, S202/C110
Document Access The linked documents are accessible from the network of the TU Darmstadt only.

Content

This course covers two main topics: active systems that include active databases, reactive functionality services, and their parallels to aspect-oriented programming and reflective middleware, and real-time databases.

Active databases have emerged to support monitoring applications that require reactive capabilities and large quantities of persistent data. In the case of monitoring applications that track changes to the underlying (passive) database the problem lies in the need to poll periodically the state of the database to detect changes. This is highly inefficient, not only because many unnecessary queries are executed but also because monitoring functions may be replicated across applications. In other words, performing monitoring and detecting events as part of the application code scatters this crosscutting concern throughout the application or requires wasteful and expensive polling in traditional databases. Moreover, the lack of a formal approach to the management of these concerns has made it difficult to maintain, adapt and extend applications according to new requirements. Isolating them from the application code enables developers to easily find and modify the pertinent functionality when a policy change is required thereby enhancing maintainability.

Active databases solved this problem by representing the functionality in question in the form of Event-Condition-Action (ECA) rules. This paradigm is basically founded on the detection of situations of interest (events) and as a consequence a pre-defined reaction (action) is triggered whenever the guarding condition is true. Active databases are significantly more powerful than passive database management systems (DBMSs) since they can (efficiently) perform functions that in passive database systems must be encoded and scattered in applications. The same mechanism can also be used to perform tasks that require special-purpose subsystems in passive databases (e.g., integrity constraint enforcement, access control, view management, and statistics gathering). The most primitive incarnation of ECA rules is today commonplace in relational DBMSs in the form of triggers where events are restricted to database updates.

It must be noticed that active databases and Aspect-Oriented Programming (AOP) improve the separation of concerns and allow the implementation of crosscutting concerns and both paradigms present astonishing similarities, not only in the basic approach of reacting to defined situations through the execution of code, but also in the invocation mechanisms and primitives used. In this course we will present the problems, draw some parallels between paradigms and sketch the solutions that have been proposed by the active database and middleware communities.

In the second part of the course we focus on real-time systems and real-time databases. Many monitoring applications must react to detected situations within predefined timing constraints. The reactive functionality, be it in the form of an active database or a generic reactive middleware functionality must be capable of guaranteeing a response within the response-time requirements imposed by applications. We analyse the real-time requirements of monitoring applications and survey approaches that have been developed in the area of real-time operating systems and real-time databases. We will analyse how to guarantee predictability. In particular we want to process transactions under time constraints and take a closer look on the characteristics concurrency control, I/O, main memory databases and the operating system support for real-time database.

Since active functionality tends to produce unforeseen tasks (in response to events) and real-time capabilities require predictability (i.e. a well defined work load) an inherent conflict arises in monitoring applications. We will wrap up by analysing this inherent conflict and suggesting relaxed real-time criteria for active capabilities and/or constraining the active functionality in order to meet stronger real-time requirements.

Slides

Up-to-date slides will be made available throughout the course.

Bibliography

Articles

  • U. Dayal, A. Buchmann, D.McCarthy. "Rules are Objects too: a Knowledge Model for an Active, Object-oriented Database System". In Proceedings of the Intl. Workshop on Object-Oriented Database Systems, Lecture Notes in Computer Science 334, Springer, 1988.
  • ACT-NET Consortium. The Active Database Management System Manifesto: A Rulebase of ADBMS Features. ACM SIGMOD Record, Vol. 25, No 3, 1996. [pdf]
  • C. Liebig, M. Cilia, A. P. Buchmann; Event Composition in Time-dependent Distributed Systems, Fourth IFCIS Conference on Cooperative Information Systems (CoopIS'99) (In cooperation with VLDB'99), Edinburgh University, Edinburgh, Scotland, September 2-4,1999. [pdf]
  • A. Buchmann, C. Liebig, "Distributed, Object-Oriented, Active, Real-Time DBMSs: We Want It All - Do We Need Them (At) All?" Keynote at joint 24th IFAC/IFIP Workshop on Real-Time Programming and 3rd Intl. Workshop on Active and Real-Time Database Systems, Schloß Dagstuhl, Saarland, Germany, May 30th - June 2nd, 1999. Also in Annual Reviews in Control, IFAC, 2001. [pdf, ps]
  • R. Laddad, "I want my AOP!", http://www.javaworld.com/javaworld/jw-01-2002/jw-0118-aspect.html, January 2002
  • Communications of the ACM Special Issue on Aspect Oriented Programming, volume 44, No. 10. ACM Press, 2001.
  • M. Cilia, M. Haupt, M. Mezini, A. Buchmann, "The Convergence of AOP and Active Databases: Towards Reactive Middleware". In Proceedings of International Conference on Generative Programming and Component Engineering, GPCE 2003, Erfurt, Germany, Lecture Notes in Computer Science 2830, Springer, 2003. [pdf]
  • J. Widom, "Deductive and Active Databases: Two Paradigms or Ends of a Spectrum?". In Proceedings of First International Workshop on Rules in Database Systems, Sep 1993. [pdf]

Books

  • N. Paton, "Active Rules in Database Systems", Springer, 1999.
  • J. Widom, S. Ceri (editors): "Active Database Systems: Triggers and Rules for Advanced Database Processing", Morgan Kaufmann, 1996.
  • Proceedings on Rules in Databases (RIDS), Lecture Notes in Computer Science, Springer, 1993, 1995, 1997.
  • Proceedings on Active and Real-Time Database Systems (ARTDB), Lecture Notes in Computer Science, Springer, 1995, 1997.
  • Advances in Real-Time Systems, Sang H. Son, Prentice Hall, 1995.
  • Real-time database and information systems - Research Advances, Azer Bestavros and Victor Fay-Wolfe (Eds.), Kluwer Academic Publishers, 1997.
  • Real-time database systems: issues and applications, Azer Bestavros, Kwei-Jay Lin, Sang H. Son, Kluwer Academic Publishers, 1997.
  • Design Methods for Reactive Systems, Wieringa, Morgan Kaufmann, 2002.

Links