Constructive Specifications for Compositional Units

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.

[1]  J. W. Lloyd,et al.  Foundations of logic programming; (2nd extended ed.) , 1987 .

[2]  Pierangelo Miglioli,et al.  Constructive Theories with Abstract Data Types for Program Synthesis , 1987 .

[3]  Krzysztof R. Apt,et al.  Logic Programming , 1990, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[4]  Wim Vanhoof,et al.  Binding-time analysis for Mercury , 2004 .

[5]  Stephen J. Garland,et al.  Larch: Languages and Tools for Formal Specification , 1993, Texts and Monographs in Computer Science.

[6]  Desmond D'Souza,et al.  Objects, Components, and Frameworks with UML: The Catalysis Approach , 1998 .

[7]  Evelina Lamma,et al.  Modularity in Logic Programming , 1994, J. Log. Program..

[8]  Kung-Kiu Lau,et al.  Specifying Compositional Units for Correct Program Development in Computational Logic , 2004, Program Development in Computational Logic.

[9]  John Wylie Lloyd,et al.  Foundations of Logic Programming , 1987, Symbolic Computation.

[10]  Pierangelo Miglioli,et al.  A logically justified model of computation I , 1981, Fundam. Informaticae.

[11]  Saumya K. Debray,et al.  Static inference of modes and data dependencies in logic programs , 1989, TOPL.

[12]  Maurizio Gabbrielli,et al.  A Compositional Semantics for Logic Programs , 1994, Theor. Comput. Sci..

[13]  Maurice Bruynooghe,et al.  Program Development in Computational Logic: A Decade of Research Advances in Logic-based Program Development , 2004 .

[14]  Kung-Kiu Lau,et al.  Steadfast Logic Programs , 1999, J. Log. Program..

[15]  하수철,et al.  [서평]「Component Software」 - Beyond Object-Oriented Programming - , 2000 .

[16]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Specification 2: Module Specifications and Constraints , 1990 .

[17]  Yves Deville,et al.  Logic programming - systematic program development , 1990, International series in logic programming.

[18]  Dale Miller,et al.  Logic programming in a fragment of intuitionistic linear logic , 1991, [1991] Proceedings Sixth Annual IEEE Symposium on Logic in Computer Science.

[19]  Dale Miller,et al.  A Logical Analysis of Modules in Logic Programming , 1989, J. Log. Program..

[20]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Specification 1 , 1985, EATCS Monographs on Theoretical Computer Science.

[21]  Pierangelo Miglioli,et al.  A Constructivism Based on Classical Truth , 1988, Notre Dame J. Formal Log..

[22]  Cliff B. Jones,et al.  Systematic Program Development , 1986 .

[23]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Specification 2 , 1990, EATCS Monographs on Theoretical Computer Science.

[24]  Pierangelo Miglioli,et al.  A logically justified model of computation II , 1981, Fundam. Informaticae.

[25]  Thomas A. Henzinger,et al.  Interface Theories for Component-Based Design , 2001, EMSOFT.