Skip to main content
Log in

The Evolving Role of Constraints in the Functional Data Model

  • Published:
Journal of Intelligent Information Systems Aims and scope Submit manuscript

Abstract

We describe how to express constraints in a functional (semantic) data model, which has a working implementation in an object database. We trace the development of such constraints from being integrity checks embedded in procedural code to being something declarative and self-contained, combining data access and computation, that can be moved around into other contexts in intelligent distributed systems. We see this as paralleling and extending the original vision of functions as values in functional programming systems. It is greatly helped by using a referentially transparent functional formalisation. We illustrate these ideas by showing how constraints can move around within database systems (Colan & Angelic Daplex), being transformed for various uses, or even moved out into other systems and fused into a specification for a configuration problem. We look forward to future directions involving Agents.

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.

Institutional subscriptions

Similar content being viewed by others

References

  • Atkinson, M., Bancilhon, F., DeWitt, D., Dittrich, K., Maier, D., and Zdonik, S. (1989). The Object-Oriented Database System Manifesto. In W. Kim, J.-M. Nicolas, and S. Nishio (Eds.), Proceedings of 1st International Conference on Deductive and Object-Oriented Databases. Kyoto, Japan: North Holland. Elsevier Science, pp. 223–240.

    Google Scholar 

  • Bassiliades, N. and Gray, P. (1994). CoLan: A Functional Constraint Language and its Implementation. Data and Knowledge Engineering, 14, 203–249.

    Google Scholar 

  • Buneman, P. and Frankel, R. (1979). Fql—A Functional Query Language. In P. Bernstein (Ed.), SIGMOD 79 Conference. Boston. ACM Press, pp. 52–58.

    Google Scholar 

  • Buneman, P., Libkin, L., Suciu, D., Tanen, V., and Wong, L. (1994). Comprehension Syntax. SIGMOD Record, 23(1), 87–96.

    Google Scholar 

  • Cattell, R. (Ed.) (1995). The Object Database Standard: ODMG-93, Release 1.2, Morgan Kaufmann.

  • Chang, C. (1978). DEDUCE 2: Further Investigations of Deduction in Relational Data Bases. In H. Gallaire and J. Minker (Eds.), Logic and Databases. Plenum Press, pp. 201–236.

  • Davidson, S. and Kosky, A. (1997). WOL: A Language for Database Transformations and Constraints. In W. Gray and P. Larson (Eds.), Proceedings of the Thirteenth International Conference on Data Engineering (ICDE). Birmingham, UK: IEEE Computer Society, pp. 55–65.

    Google Scholar 

  • Eaton, P., Freuder, E., and Wallace, R. (1998). Constraints and Agents: Confronting Ignorance. AI Magazine, 19(2), 51–65.

    Google Scholar 

  • Embury, S. (1995). A Formal Semantics for the Daplex Language. Technical Report AUCS/TR9504, University of Aberdeen, Department of Computing Science, King' College, Aberdeen, Scotland, U.K.AB243UE. Accessible as http://www.csd.abdn.ac.uk/»pfdm/postscript/embury.1995b.ps.

    Google Scholar 

  • Embury, S. and Gray, P. (1995a). Compiling a Declarative, High-Level Language for Semantic Integrity Constraints. In R. Meersman and L. Mark (Eds.), Proceedings of 6th IFIP TC-2 Working Conference on Data Semantics. Atlanta, USA: Chapman and Hall, pp. 188–226.

    Google Scholar 

  • Embury, S. and Gray, P. (1995b). Planning Complex Updates to Satisfy Constraint Rules Using a Constraint Logic Search Engine. In T. Sellis (Ed.), '95). Lecture Notes in Computer Science 985, Glyfada, Athens, Greece: Springer-Verlag, pp. 230–244.

    Google Scholar 

  • Embury, S. and Gray, P. (1995c). The Declarative Expression of Semantic Integrity in a Database of Protein Structure. In A. Illaramendi and O. Diaz (Eds.), Data Management Systems: Proceedings of the Basque InternationalWorkshop on Information Technology (BIWIT 95). San Sebastían, Spain: IEEE Computer Society Press, pp. 216–224.

    Google Scholar 

  • Embury, S. and Gray, P. (1996). A modular compiler architecture for a data manipulation language. In Proceedings of 14th British National Conference on Databases (BNCOD 14) (pp. 170–188). Edinburgh, Scotland: Springer-Verlag.

    Google Scholar 

  • Erwig, M. and Lipeck, U. (1991). A functional DBPL revealing high level optimizations. In P. Kanellakis and J. Schmidt (Eds.), Proceedings of the Third InternationalWorkshop on Database Programming Language—Bulk Types and Persistent Data. Nafplion, Greece: Morgan Kaufmann, pp. 306–321.

    Google Scholar 

  • Floyd, R. (1967). Nondeterministic Algorithms. Journal of the ACM, 14(4), 636–644.

    Google Scholar 

  • Gray, P. (1994). Knowledge Reuse Through Networks of Large KBS. In D. Bowers (Ed.), Proceedings of 12th British National Conference on Databases, LNCS 826. Springer-Verlag, pp. 13–22.

  • Gray, P., Cui, Z., Embury, S., Gray, W., Hui, K., and Preece, A. (1998). An Agent-Based System for Handling Distributed Design Constraints. In M. Boddy and M. Gini (Eds.), Proceedings of Agents'98 Workshop on Agent-Based Manufacturing, Minneapolis, USA. Dept. of Comp. Science and Eng., Univ. of Minnesota.

  • Gray, P. and Kemp, G. (1994). Object-Oriented Systems and Data Independence. In D. Patel, Y. Sun, and S. Patel (Eds.), Proc. 1994 International Conference on Object Oriented Information Systems. London: Springer-Verlag, pp. 3–24.

    Google Scholar 

  • Gray, P., Kulkarni, K., and Paton, N. (1992). Object-Oriented Databases: A Semantic Data Model Approach, Prentice Hall Series in Computer Science, Prentice Hall International.

  • Gray, P., Moffat, D., and Paton, N. (1988). A Prolog Interface to a Functional Data Model Database. In J. Schmidt, S. Ceri, and M. Missikoff (Eds.), Extending Database Technology Conference. Springer-Verlag, pp. 34–48.

  • Gray, P., Preece, A., Fiddian, N., Gray, W., Bench-Capon, T., Shave, M., Azarmi, N., Wiegand, M., Ashwell, M., Beer, M., Cui, Z., Diaz, B., Embury, S., Hui, K., Jones, A., Jones, D., Kemp, G., Lawson, E., Lunn, K., Marti, P., Shao, J., and Visser, P. (1997). KRAFT: Knowledge Fusion from Distributed Databases and Knowledge Bases. In R. Wagner (Ed.), Proceedings of the Eighth International Workshop on Database and Expert Systems Applications. Toulouse, France: IEEE Computer Society Press, pp. 682–691.

    Google Scholar 

  • Grufman, S., Samson, F., Embury, S., Gray, P., and Risch, T. (1997). Distributing Semantic Constraints Between Heterogenous Databases. In W. Gray and P. Larson (Eds.), Proceedings of the Thirteenth International Conference on Data Engineering (ICDE). Birmingham, UK: IEEE Computer Society, pp. 33–42.

    Google Scholar 

  • Grust, T., Kroger, J., Gluche, D., Heuer, A., and Scholl, M. (1997). Query Evaluation in Croque Calculus and Algebra Coincide. In C. Small, P. Douglas, R. Johnson, P. King, and N. Martin (Eds.), Advances in Databases: Proceedings of 15th British National Conference on Databases (LNCS 1271). London, UK: Springer Verlag, pp. 84–100.

    Google Scholar 

  • Jagadish, H. and Qian, X. (1992). Integrity Maintenance in an Object-Oriented Database. In L.-Y. Yuan (Ed.), Proceedings of the 18th VLDB Conference. Vancouver: Morgan Kaufmann, pp. 469–480.

    Google Scholar 

  • Jiao, Z. and Gray, P. (1991). Optimisation of Methods in a Navigational Query Language. In C. Delobel, M. Kifer, and Y. Masunaga (Eds.), Second International Conference on Deductive and Object-Oriented Databases. Munich: Springer-Verlag, pp. 22–42.

    Google Scholar 

  • Kemp, G., Iriarte, J., and Gray, P. (1994). Efficient Access to FDM Objects Stored in a Relational Database. In D. Bowers (Ed.), Directions in Databases: Proceedings of the Twelfth British National Conference on Databases (BNCOD 12). Springer-Verlag, pp. 170–186.

  • Kerschberg, L. and Pacheco, J. (1975). A Functional Database Model. Universidade Catolica Rio de Janeiro.

  • Kulkarni, K. and Atkinson, M. (1986). EFDM: Extended Functional Data Model. The Computer Journal, 29(1), 38–46.

    Google Scholar 

  • Landers, T. and Rosenberg, R. (1982). An Overview of Multibase. In H.-J. Schneider (Ed.), Distributed Data Bases. North-Holland.

  • Nicolas, J.-M. (1982). Logic for Improving Integrity Checking in Relational Databases. Acta Informatica, 18, 227–253.

    Google Scholar 

  • Paton, N. (1989). ADAM: An Object-Oriented Database System Implemented in Prolog. In M. Williams (Ed.), Proceedings of 7th British National Conference on Databases. British Computer Society Workshop Series, Heriot-Watt University, Edinburgh: Cambridge University Press, pp. 147–162.

    Google Scholar 

  • Paton, N. and Gray, P. (1990). Optimising and Executing Daplex Queries Using Prolog. The Computer Journal, 33, 547–555.

    Google Scholar 

  • Reddi, S. (1993). Integrity Constraint Enforcement in the Functional Database Language PFL. In M. Worboys and A. Grundy (Eds.), Proceedings of the 11th British National Conference on Databases. Keele, UK: Springer-Verlag, pp. 238–257.

    Google Scholar 

  • Shepherd, A. and Kerschberg, L. (1984). Prism: A Knowledge Based System for Semantic Integrity Specification and Enforcement in Database Systems. In B. Yormark (Ed.), SIGMOD 84 Conference. Boston: ACM Press, pp. 307–315.

    Google Scholar 

  • Shipman, D. (1981). The Functional Data Model and the Data Language DAPLEX. ACM Transactions on Database Systems, 6(1), 140–173.

    Google Scholar 

  • Simon, E. and Kotz-Dittrich, A. (1995). Promises and realities of active database systems. Proceedings of the 21st Int'l Conf. on Very Large Databases, VLDB'95.

  • Singh, N. (1998). Unifying Heterogeneous Information Models. Communications of the ACM, 41(4), 37–44.

    Google Scholar 

  • Söndergaard, H. and Sestoft, P. (1992). Non-Determinism in Functional Languages. The Computer Journal, 35(5), 514–523.

    Google Scholar 

  • Stonebraker, M., Rowe, L., Lindsay, B., Gray, J., Carey, M., Brodie, M., Bernstein, P., and Beech, D. (1990). Third-Generation Database System Manifesto—The Committee for Advanced DBMS Function. In R. Meersman, W. Kent, and S. Khosla (Eds.), Proceedings of the IFIP TC2/WG 2.6 Working Conference on Object-Oriented Databases: Analysis, Design & Construction (DS-4). Windermere, UK: North-Holland, pp. 495–511.

    Google Scholar 

  • Turner, D. (1985). Miranda: A Non-Strict Functional Language with Polymorphic Types. In J.-P. Jouannaud (Ed.), Proceedings of the IFIP Int. Conf. on Functional Programming Languages and Computer Architecture, Lecture Notes in Computing Science. Nancy, France: Springer-Verlag, vol. 201, pp. 1–16.

    Google Scholar 

  • Urban, S. (1989). ALICE: An assertion language for integrity constraint expression. Proceedings of Conference on Computer Software Applications.

  • Van Gelder, A. and Topor, R. (1991). Safety and Translation of Relational Calculus Queries. ACM Transactions on Database Systems, 16, 235–278.

    Google Scholar 

  • Van Hentenryck, P. (1989). Constraint Satisfaction in Logic Programming, MIT Press.

  • Yoon, J. and Kerschberg, L. (1997). Semantic Update Optimization in Active Database. Database Applications Semantics. Chapman & Hall, pp. 253–269.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Gray, P.M., Embury, S.M., Hui, K.Y. et al. The Evolving Role of Constraints in the Functional Data Model. Journal of Intelligent Information Systems 12, 113–137 (1999). https://doi.org/10.1023/A:1008748808699

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1008748808699

Navigation