Advertisement

A model-theoretic approach to specification, extension, and implementation

  • Farshid Nourani
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 83)

Abstract

The questions of specification and particularly extensions of abstract data types are investigated within the framework of many-sorted logic and model theory. A new constructive method of extensions of abstract specification is presented defining a notion of a first order constructor. This is useful for step-wise development of specifications. A first order relative completeness and consistency theorem is proved guaranteeing that the extension method is sound. This is a syntactic preservation theorem for type extension. A corresponding semantic preservation theorem follows as a simple generalization of a known result of model theory.

Induction schemas for constructors are introduced as important rules for proving properties of objects specified by first order axioms within a typed language. It is conjectured that such set of schema constitute a minimal sufficient set for proving inductive properties that hold in certain natural models.

Implementations are considered as faithful interpretation between theories and relation to Hoare's method of proving correctness of data representation is briefly discussed.

Keywords

Data Type Order Theory Induction Schema Abstract Data Type Consistent Extension 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

References

  1. BMM (79).
    Bertoni, A., Mauri, G., and Miglioli, P. A., "A Characterization of Abstract Data as Model-Theoretic Invariants," Proc. Sixth Colloquium on Automata, Languages and Programming, Graz, Austria (1979).Google Scholar
  2. BDPP (79).
    Broy, M., Dosch, W., Partsch, H., Pepper, P. and Wirsing, M., "Existential Quantifiers in Abstract Data Types," Proc. Sixth Colloquium on Automata, Languages, and Programming, Graz, Austria (1979).Google Scholar
  3. Burs (67).
    Burstall, R. M., "Proving Properties of Programs by Structural Induction," Computer Journal, vol. 12, No. 1, (February 1967).Google Scholar
  4. CM (79).
    Cartwright, R. and McCarthy, J., "First Order Programming Logic," Conference Record of the 6th Annual ACM Symposium on Principles of Programming Languages, San Antonio, Texas (January 1979).Google Scholar
  5. CF (58).
    Curry, H. B. and Feys, R., Combinatory Logic, vol. 1, North-Holland, Amsterdam (1958).Google Scholar
  6. CK (73).
    Chang, C. C. and Kiesler, H. J., Model Theory, North-Holland (1973).Google Scholar
  7. CKPR (72).
    Colmeraurer, A., Kanoui, H., Pawero, R. and Roussell, P., "Un System de Communication Homme-machine en Francais," Group d' Intelligence Artificielle, V.E.R. de Luming, Marseille (1972).Google Scholar
  8. Ehri (78).
    Ehrich, H. D., "Extensions and Implementations of Abstract Data Type Specification," Proc. 7th Symposium on Mathematical Foundations of Computer Science, Zakopane, Poland (1978).Google Scholar
  9. EKP (78).
    Ehrig, H., Kreowaski, H.-J., and Padawitz, P., "Stepwise Specification and Implementation of Abstract Data Types," Proc. 5th International Colloq. Automata, Languages, and Programming, Udine, Italy (July 1978).Google Scholar
  10. GTW (76).
    Goguen, J. A., Thatcher, J. W., and Wagner, E. G., "Abstract Data Types As Initial Algebras and the Correctness of Data Representation," in Current Trends in Programming Methodology, vol. IV (R. Yeh, ed.), Prentice-Hall, Englewood Cliffs, N.J. (1978), also IBM Research Report RC-6487 (1976).Google Scholar
  11. Gutt (75).
    Guttag, J. W., "The Specification and Application to Programming of Abstract Data Types," University of Toronto, Computer Systems Research Group, Tech. Report CSRG-59, September 1975.Google Scholar
  12. Henk (60).
    Henkin, L., "On Mathematical Induction," Amer. Math. Mon., 67 (1960).Google Scholar
  13. KK (72).
    Kreisel, G. and Krivine, J. L., Elements of Mathematical Logic (Model Theory), North-Holland, Amsterdam, 1971.Google Scholar
  14. Kowa (74).
    Kowalski, R. A., "Predicate Logic as Programming Language," Proc. IFIP 74, North-Holland (1974).Google Scholar
  15. Majs (77).
    Majster, M. E., "Limits of the Algebraic Specification of Abstract Data Types," SIGPLAN Notices 12, (October 1977).Google Scholar
  16. Mend (64).
    Mendelson, E., Introduction to Mathematical Logic, Van Nostrand (1964).Google Scholar
  17. MW (77).
    Manna, Z. and Waldinger, R., "The Logic of Computer Programming," Stanford AIM-298, Computer Science Department Report No. STAN-CS-77-611 (August 1977).Google Scholar
  18. Nour (78).
    Nourani, F., "A Note on Logic Oriented Approaches to Data Abstraction," ACM Software Engineering Notes, vol. 3, No. 3, (July 1978); UCLA Semantics and Theory of Computation Report No. 12 (June 1978).Google Scholar
  19. Nour (78a).
    Nourani, F., "On Data Type Specification by Step-wise Extension," UCLA Computer Science Department, Extended Abstract (October 1978).Google Scholar
  20. Nour (79).
    Nourani, F., "Constructive Extension and Implementation of Abstract Data Types and Algorithms," Ph.D. Dissertation, UCLA Computer Science Department, June 1979 (published August 1979).Google Scholar
  21. Nour (79b).
    Nourani, F., "Inductive Extensions of Equational Theories of Data Types," Technical memorandum, Systems Engineering Lab., University of Michigan, Ann Arbor (November 1979).Google Scholar
  22. Robi (65).
    Robinson, J. A., "A Machine-Oriented Logic Based on the Resolution Principle," JACM 12 (1965).Google Scholar
  23. Shoe (67).
    Shoenfield, J. R., Mathematical Logic, Addision-Wesley, Reading, Mass. (1967).Google Scholar
  24. Tars (65).
    Tarski, A., Logic, Semantics, and Mathematics, Oxford, Clarendon Press (1965).Google Scholar
  25. Tars (71).
    Tarski, A., Mostowski, A., and Robinson, R. M., Undecidable Theories, North-Holland, 3rd Edition (1971).Google Scholar
  26. Wand (79).
    Wand, M., "Final Algebra Semantics and Data Type Extensions," JCSS, vol. 19, No. 1, August 1979.Google Scholar
  27. WLS (76).
    Wulf, W. A., London, R. L., and Shaw, M., "An Introduction to the Construction and Verification of Alphard Programs," IEEE Trans. on Software Engineering, vol. SE-2, No. 4 (December 1976).Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1980

Authors and Affiliations

  • Farshid Nourani
    • 1
  1. 1.Systems Engineering LabUniversity of MichiganAnn ArborUSA

Personalised recommendations