Summary
In spite of decades of work, the practical impact of programming language semantics (denotational semantics) has been limited. Our thesis is that a major contributing factor to this lack of practical impact is the declarative notation used for expressing the semantics, namely, the λ-calculus. We propose to use Horn Logic (and eventually Constraint Logic) instead of the λ-calculus to express denotational semantics. This simple change leads to many practical applications, most notably to automatic program verification and automatic generation of compilers from semantics specifications. These Horn Logic denotations and their applications axe discussed at length in this paper.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
R. Alur,D. Dill. The Theory of Timed Automata.Theoretical Computer Science, 126, 1994
M. Garcia de la Banda, M. Hermenegildo, et al.Global Analysis of Constraint Logic Programs. In ACM Trans. on Prog. Languages and Systems, Vol. 18, Num. 5, pages 564–615, ACM, 1996
S. K. Das. Deductive Databases and Logic Programming. Addison-Wesley. 1992
S. Debray, P. Lopez-Garcia, and M. Hermenegildo. Non-failure Analysis for Logic Programs. In International Conference on Logic Programming. MIT Press, 1997.
D.F. Brown et al. ACTRESS: an action semantics directed compiler generator. In Proc. 4th Int’l Conf. on Compiler Construction. Springer LNCS 641, pp. 95–109. 1992
W. Chen, D. S.Warren. Tabled Evaluation with Delaying for General Logic Programs,In J ACM 43(1):20–74
S. Satluri and A. C. Fleck. Semantic Specification using Logic Programs. In Proc. N. American Conf. on Logic Programming 1989, MIT Press. pp. 772–791
E. M. Clark, E. A. Emerson, A. P. Sistla.Automatic Verification of finite-state Concurrent Systems Using Temporal Logic Specification. InACM TOPLAS, 8(2), 1986
C. Consel. Architecturing Software Using a Methodology for Language Development. In Proc. 10th Int’l Symp. on Prog. Lang. Impl., Logics and Programs (PLILP), Sep. 1998, Springer LNCS 1490, pp. 170–194
P. Cousot, R. Cousot, “Abstract Interpretation: A Unified Model for Static Analysis of Programs for Construction or Approximation of Fix-points”, In Conference Record of the 4th ACM POPL, pp. 238–252, 1977
Thierry Despeyroux. Executable specification of static semantics. In Semantics of Data Types, Springer LNCS 173. pp. 215–234. 1984
G. Gupta, E. Pontelli. A Constraint-based Denotational Approach to Specification and Verification of Real-time Systems. In Proc. IEEE Real-time Systems Symposium, San Francisco, pp. 230–239. Dec. 1997
G. Gupta, E. Pontelli, R. Felix-Cardenas, A. Lara, Automatic Derivation of a Provably Correct Parallelizing Compiler, In Proceedings of International Conference on Parallel Processing,IEEE Press, Aug, 1998, pp. 579–586.
G. Gupta. Horn Logic Denotations and Their Applications. Internal Memo. Jan 1995.
G. Gupta, E. Pontelli. Specification, Verification, Composition, and Interopera- tion of Complex Software Systems: A Logical Denotational Approach. Technical Report. New Mexico State University. Dec. 1997.
G. Gupta, E. Pontelli, H. Guo, L. Zhu. Automatic Generation of a WAM- compiler and a Native Code Compiler for Prolog. New Mexico State University. Working paper
G. Gupta, E. Pontelli. Horn Logical Denotational Framework for Abstract Interpretation. New Mexico State University. Working paper.
C. Gunter. Programming Language Semantics. MIT Press. 1992
C. A. R. Hoare.An Axiomatic Basis for Computer Programming. Comm. of the ACM. Vol. 12. pp. 576–580, 1969
N. Jones. Introduction to Partial Evaluation. In ACM Computing Surveys. 28(3):480–503.
J. L. Lassez and J. Jaffar. Constraint logic programming. In Proc. 14th ACM POPL, 1987
P. Lee. Realistic Compiler Generation. The MIT Press, Cambridge, MA, 1989.
A. Karshmer, G. Gupta, S. Geiger, C. Weaver. A Framework for Translation of Braille Nemeth Math to LATEX: The MAVIS Project. In Proc. ACM Conference on Assistive Technologies, ACM Press, pp. 136–143, Mar. 1998
N. Lindenstrauss, Y. Sagiv. Automatic Termination Analysis for Logic Programs. In Proc. International Conference on Logic Programming, 1997. pp. 63–77
J.W. Lloyd. Foundations of Logic Programming. Springer Verlag. 2nd ed. 1987
J. Hannan, D. Miller. From Operational Semantics to Abstract Machines. In Proc. Lisp and Functional Programming Conference, 1990.
P.D. Mosses. Compiler Generation using Denotational Semantics. In Math. Foundations of Computer Science, Springer LNCS 45, pages 436–441, 1976
A. Nemeth. The Braille-Nemeth Math Code. American Printing House for the Blind. 1972Revision.Louisville, Kentucky
F. Nielson and H. R. Nielson. Two level semantics and code generation. Theoretical Computer Science, 56(1):59–133. 1988.
C. R. Ramakrishnan, S. Dawson, and D. Warren. Practical Program Analysis Using General Purpose Logic Programming Systems: A Case Study. In Proc. ACM Conf. on Programming Language Design and Implementation 1996
C. Ramming. Editor, Proceedings of the Usenix Conference on Domain-Specific Languages, October 1997, Santa Barbara, California, USA.
M. Raskovsky, Phil Collier. From Standard to Implementational Denotational Semantics. In Semantics Directed Compiler Generation Lecture Notes in Computer Science 94. Springer Verlag. pp. 94–139
Efficient Model Checking using Tabled Resolution. Y.S. Ramakrishnan, C.R. Ramakrishnan, I.V. Ramakrishnan et al. In Proceedings of Computer Aided Verification (CAV’97). 1997
J. Ringstrom, P. Fritzson, M. Pettersson. Generating an Efficient Compiler for a Data Parallel Language from a Denotational Specification. In Lecture Notes in Computer Science, Vol. 786, pp. 248–260. 1994.
S. Stepney. High Integrity Compilation. Prentice Hall. 1993
D. Sahlin. An Automatic Partial Evaluator for Full Prolog. Ph.D. Thesis. 1994. Royal Institute of Technology, Sweden. (Software available from www.sics.se).
K. Sagonas, T. Swift, and D. S. Warren. XSB as an efficient deductive database engine. In Proc. SIGMOD International Conf. on Management of Data, 1994
D. Schmidt. Denotational Semantics: a Methodology for Language Development. W.C. Brown Publishers, 1986.
D. Schmidt. Programming language semantics. In CRC Handbook of Computer Science, Allen Tucker, ed., CRC Press, Boca Raton, FL, 1996. Summary version, ACM Computing Surveys 28–1 (1996) 265–267.
D. Schmidt. On the Need for a Popular Formal Semantics. Proc. ACM Conf. on Strategic Directions in Computing Research, Cambridge, MA, June 1996. ACM SIGPLAN Notices 32–1 (1997) 115–116
D. Schmidt. Dataflow Analysis is Model Checking of an Abstract Interpreter. In Proc. ACM POPL’98
L. Sterling & S. Shapiro. The Art of Prolog. MIT Press’,94.
J. Tan and I-P. Lin. Compiling Dataflow Analysis of Logic Programs. In Proc. ACM Conf. on Programming Language Design and Implementation. SIGPLAN Notices, 27(7), 1992.
P. Van Hentenryck. Constraint Handling in Prolog. MIT Press, 1988
S. Abiteboul, R. Hull, V. Vianu. Foundation of Databases. Addison-Wesley, 1995.
M. Wand. Semantics-directed Machine Architecture. In ACM POPL. pp. 234–241. 1982
D.H.D. Warren. An Abstract Instruction Set for Prolog. Tech. Note 309, SRI Int’l’,83
D.H.D. Warren. Higher Order Extensions to Prolog: Are They Needed? Machine Intell., 10:441–454
D.H.D. Warren. Logic Programming for Compiler-writing. Software Practice and Experience, 10, pp. 97–125. 1979.
H. Zima, B. Chapman. Supercompilers for Parallel and Vector Computers. ACM Press’,91
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Gupta, G. (1999). Horn Logic Denotations and Their Applications . In: Apt, K.R., Marek, V.W., Truszczynski, M., Warren, D.S. (eds) The Logic Programming Paradigm. Artificial Intelligence. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-60085-2_6
Download citation
DOI: https://doi.org/10.1007/978-3-642-60085-2_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-64249-4
Online ISBN: 978-3-642-60085-2
eBook Packages: Springer Book Archive