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)


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.


Logic Program Logic Programming Call Statement Server Unit Observation Sequence 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bossi, A., Gabbrielli, M., Levi, G., Meo, M.C.: A compositional semantics for logic programs. Theoretical Computer Science 122, 3–47 (1994)zbMATHCrossRefMathSciNetGoogle 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)zbMATHGoogle Scholar
  9. 9.
    Hodas, J., Miller, D.: Logic Programming in a Fragment of Intuitionistic Linear Logic. Information and Computation 110(2), 327–365 (1994)zbMATHCrossRefMathSciNetGoogle 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)zbMATHCrossRefMathSciNetGoogle Scholar
  12. 12.
    Lloyd, J.W.: Foundations of Logic Programming, 2nd edn. Springer, Heidelberg (1987)zbMATHGoogle 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)zbMATHMathSciNetGoogle 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)zbMATHCrossRefMathSciNetGoogle Scholar
  16. 16.
    Miller, D.: A logical analysis of modules in logic programming. JLP 6(1-2), 79–108 (1989)zbMATHCrossRefGoogle 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