Skip to main content
Log in

Concurrent behavior: A construct to specify the external behavior of objects in object databases

  • Published:
Distributed and Parallel Databases Aims and scope Submit manuscript

Abstract

We present a linguistic construct to define concurrency control for the objects of an object database. This construct, calledconcurrent behavior, allows to define a concurrency control specification for each object type in the database; in a sense, it can be seen as a type extension. The concurrent behavior is composed by two parts: the first one, calledcommutativity specification, is a set of conditional rules, by which the programmer specifies when two methods do not conflict each other. The second part, the constraint specification, is a set of guarded regular expressions, calledconstraints, by which the programmer defines the allowed sequences of method calls. At each time during an actual execution, a subset of constraints may be active so limiting the external behavior of the object. A constraint becomesactive when its guard is verified, where a guard is composed of the occurrence of some method callm along with the verification of a boolean expression on the object state and the actual parameters ofm. A constraint dies when a string of the language corresponding to the regular expression has been recognized. While the commutativity specification is devoted to specify the way in which the external behavior of an object is influenced by the existence of concurrent transactions in the system, the constraint specification defines the behavior of the object, independently from the transactions. Since the two parts of the concurrent behavior are syntactically distinct and, moreover, each of them consists of a set of independent rules, modularity in specifying the objects is enhanced, with respect to a unique specification. We outline an implementation of the construct, which is based on a look-ahead policy: at each method execution, we foresee the admissible successive behaviors of the object, instead of checking the admission of each request at the time it is actually made.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. A. Albano, G. Ghelli and R. Orsini, “Objects for a database programming language,” in3rd Int. Workshop Database Programming Languages, Napflion, Greece, 1991.

    Google Scholar 

  2. P. America and F. Van der Linden, “A parallel object-oriented language with inheritance and sub-typing,”Proceedings of ECOOP/OOPSLA 90, October 21–25, 1990.

  3. F. Banchilon, “Object-oriented database systems,” in7th Symp. Principles of Database Systems, ACM, Austin, Texas, 1988, pp. 152–162.

    Google Scholar 

  4. P.A. Bernstein, V. Hadzilacos and N. Goodman,Concurrency Control and Recovery in Database Systems, Addison-Welsey: Reading, MA, 1987.

    Google Scholar 

  5. A. Bondavalli, N. De Francesco, D. Latella, and G. Vaglini, “Shared abstract data types: an algebraic methodology for their specification,” inMFDBS-89, LNCS 364, Budapest, 1989, pp. 53–67.

  6. P.K. Chrysanthis, S. Raghuram and K. Ramamritham, “Extracting concurrency from objects: a methodology,” inProc. ACM SIGMOD, Int. Conf. Management of Data, vol. 20, 2, 1991.

    Google Scholar 

  7. N. De Francesco, L. Mancini, A. Pereira Paz and G. Vaglini, “Specification of concurrency control in persistent programming languages,” inFifth Int. Workshop Persistent Object Systems, S. Miniato (Pisa), 1992.

  8. N. De Francesco and G. Vaglini, “An axiomatic approach to concurrency control,” submitted for publication onFormal Aspects of Computing.

  9. H. Ehrig and B. Mahr,Fundamentals of Algebraic Specification 1, Springer-Verlag: Berlin, 1985.

    Google Scholar 

  10. H. Garcia-Molina, “Using semantic knowledge for transaction processing in a distributed database,”ACM Trans. Database Systems, vol. 8, pp. 186–213, 1983.

    Google Scholar 

  11. M.P. Herlihy and W.E. Weihl, “Hybrid concurrency control for abstract data types,”J. Comput. System Sci., vol. 43, pp. 25–61, 1991.

    Google Scholar 

  12. C.A.R. Hoare, “Communicating sequential processes”,Comm. ACM, vol. 21, no. 8, pp. 666–677, 1978.

    Google Scholar 

  13. W. Kim, “A foundation for object-oriented databases,”MCC Tech. Report, 1988.

  14. H.F. Korth, “Locking primitives in a database system,”J. ACM, vol. 30, pp. 55–79, 1983.

    Google Scholar 

  15. H.F. Korth and G.D. Speegle, “Formal models of correctness without serializability,”SIGMOD-ACM, 1988, pp. 379–386.

  16. E. Levy, H.F. Korth and A. Silberschatz, “An optimistic protocol for distributed transaction management,” Proc.ACM SIGMOD, Int. Conf. Management of Data, vol. 20, 2, 1991.

    Google Scholar 

  17. R. Milner,Communication and Concurrency, Prentice-Hall, 1989.

  18. O.M. Nierstrasz, “A guide to specifying concurrent behavior with abacus,” inObject Management, D.C. Tsichiritzis (Ed.), Centre Universitaire d'Informatique, University of Geneva, 1990.

  19. O. Nierstrasz and M. Papathomas, “Viewing object as patterns of communicating agents,” inProc. ECOOP/OOPSLA 90.

  20. M.H. Nodine and S.B. Zdonik, “Cooperative transaction hierarchies: a transaction model to support design application,” inProc. 16th VLDB, 1990.

  21. C.H. Papadimitriou,The Theory of Database Concurrency Control, Computer Science Press, Oakville, MD, 1986.

    Google Scholar 

  22. P.M. Schwarz and A.Z. Spector, “Synchronizing shared abstract types,”ACM ToCS, vol. 2, pp. 223–250, 1984.

    Google Scholar 

  23. A.H. Skarra, “Concurrency control for cooperating transactions in an object-oriented database,”SIGPLAN Notices, vol. 24, 1989.

  24. A.H. Skarra and S.B. Zdonik, “Concurrency control and object-oriented databases,” inObject Oriented Concepts, Databases and Applications, W. Kim and F.H. Lochovsky (Eds.), ACM Press, 1989, pp. 395–421.

  25. J. Van Den Bos and C. Laffra, “PROCOL: a parallel object oriented language with protocols,”Proc. OOPSLA 89, SIGPLAN Notices, vol. 24, no. 10, pp. 95–102, 1989.

    Google Scholar 

  26. W.E. Weihl, “Local atomicity properties: modular concurrency control for abstract data types,”ACM ToPLaS, vol. 11, no. 2, pp. 249–283, 1989.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

De Francesco, N., Vaglini, G. Concurrent behavior: A construct to specify the external behavior of objects in object databases. Distrib Parallel Databases 2, 33–58 (1994). https://doi.org/10.1007/BF01263338

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01263338

Keywords

Navigation