Constructive Specifications for Compositional Units

  • Kung-Kiu Lau
  • Alberto Momigliano
  • Mario Ornaghi
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3573)

Abstract

In previous work, we have introduced a model-theoretic semantics for compositional units, i.e. reusable units that can be used for compositional program development. Such units contain open (logic) programs and our model-theoretic semantics characterizes their correctness and the correctness of their composition. However, for real-world software development, compositional units should be inter-operable, i.e. they should accept programs in different languages. To cater for this, our model-theoretic semantics needs to be used in conjunction with suitable semantics for behaviours and interfaces. In this paper we describe one possible approach based on constructive specifications.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Bossi, A., Gabbrielli, M., Levi, G., Meo, M.C.: A compositional semantics for logic programs. Theoretical Computer Science 122, 3–47 (1994)MATHCrossRefMathSciNetGoogle Scholar
  2. 2.
    Bugliesi, M., Lamma, E., Mello, P.: Modularity in logic programming. J. Logic Programming 19-20, 443–502 (1994); Special issue: Ten years of logic programmingCrossRefMathSciNetGoogle Scholar
  3. 3.
    de Alfaro, L., Henzinger, T.: Interface Theories for Component-based Design. In: Henzinger, T.A., Kirsch, C.M. (eds.) EMSOFT 2001. LNCS, vol. 2211, pp. 148–165. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  4. 4.
    Debray, S.K.: Static Inference of Modes and Data Dependencies in Logic Programs. ACM Transactions on Programming Languages and Systems 11(3), 418–450 (1989)CrossRefGoogle Scholar
  5. 5.
    Deville, Y.: Logic Programming. Systematic Program Development. Addison-Wesley, Reading (1990)Google Scholar
  6. 6.
    D’Souza, D.F., Wills, A.C.: Objects, Components, and Frameworks with UML: The Catalysis Approach. Addison-Wesley, Reading (1999)Google Scholar
  7. 7.
    Ehrig, H., Mahr, B.: Fundamentals of Algebraic Specification 2. Springer, Heidelberg (1989)Google Scholar
  8. 8.
    Guttag, J.V., Horning, J.J.: Larch: Languages and Tools for Formal Specification. Springer, Heidelberg (1993)MATHGoogle Scholar
  9. 9.
    Hodas, J., Miller, D.: Logic Programming in a Fragment of Intuitionistic Linear Logic. Information and Computation 110(2), 327–365 (1994)MATHCrossRefMathSciNetGoogle Scholar
  10. 10.
    Lau, K.-K., Ornaghi, M.: Specifying Compositional Units for Correct Program Development in Computational Logic. In: Bruynooghe, M., Lau, K.-K. (eds.) Program Development in Computational Logic. LNCS, vol. 3049, pp. 1–29. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  11. 11.
    Lau, K.-K., Ornaghi, M., Tärnlund, S.-Å.: Steadfast logic programs. J. Logic Programming 38(3), 259–294 (1999)MATHCrossRefMathSciNetGoogle Scholar
  12. 12.
    Lloyd, J.W.: Foundations of Logic Programming, 2nd edn. Springer, Heidelberg (1987)MATHGoogle Scholar
  13. 13.
    Miglioli, P., Ornaghi, M.: A logically justified model of computation I, II. Fundamenta Informaticae 4(1), 151–172, 4(2), 277–342 (1981)MATHMathSciNetGoogle Scholar
  14. 14.
    Miglioli, P., Moscato, U., Ornaghi, M.: Constructive theories with abstract data types for program synthesis. In: Skordev, D.G. (ed.) Mathematical Logic and its Applications, pp. 293–302. Plenum Press (1987)Google Scholar
  15. 15.
    Miglioli, P., Moscato, U., Ornaghi, M., Usberti, G.: A Constructivism based on classical truth. Notre Dame Journal of Formal Logic 30(1), 67–90 (1989)MATHCrossRefMathSciNetGoogle Scholar
  16. 16.
    Miller, D.: A logical analysis of modules in logic programming. JLP 6(1-2), 79–108 (1989)MATHCrossRefGoogle Scholar
  17. 17.
    Szyperski, C., Gruntz, D., Murer, S.: Component Software: Beyond Object-Oriented Programming, 2nd edn. Addison-Wesley, Reading (2002)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Kung-Kiu Lau
    • 1
  • Alberto Momigliano
    • 2
  • Mario Ornaghi
    • 2
  1. 1.School of Computer ScienceThe University of ManchesterManchesterUnited Kingdom
  2. 2.Dipartimento di Scienze dell’InformazioneUniversita’ degli studi di MilanoMilanoItaly

Personalised recommendations