Semantics-Based Filtering: Logic Programming’s Killer App

  • Gopal Gupta
  • Hai-Feng Guo
  • Arthur I. Karshmer
  • Enrico Pontelli
  • Juan Raymundo Iglesias
  • Desh Ranjan
  • Brook Milligan
  • Nayana Datta
  • Omar El Khatib
  • Mohammed Noamany
  • Xinhong Zhou
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2257)


We present a logic programming based framework for rapidly translating one formal notation \( \mathcal{L}_s \) to another formal notation \( \mathcal{L}_t \). The framework is based on Horn logical semantics—a logic programming encoding of formal semantics. A Horn logical semantics of the language \( \mathcal{L}_s \) is constructed which employs the parse trees of the language \( \mathcal{L}_t \) as semantic domains for expressing the meaning of sentences in \( \mathcal{L}_s \). This formal semantics, coded in logic programming, immediately yields an executable (reversible) filter. This (reversible) filter is provably correct, as it is generated from the semantic specification. Our approach provides a formal basis for interoperability and is illustrated through five major practical applications: Translating Nemeth Math Braille notation to LaTEX, translating HTML to VoiceXML to make web-pages accessible via an audio-browser or a phone, translating ODBC programs/data to OQL (Object Query Language) programs/data, automatically generating validating parsers for XML, and interoperating between various biological software systems developed for phylogenetic inference via the NEXUS data representation language.


Logic Program Logic Programming Formal Semantic Parse Tree Context Free Grammar 
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.
    A. Aho, J. D. Ullman, R. Sethi. Compilers: Principles, Techniques, and Tools. Addison Wesley. 1986.Google Scholar
  2. 2.
    S. F. Altschul and B. W. Erickson. Significance of nucleotide sequence alignments. Mol. Biol. Evol., 2:526–538, 1985.Google Scholar
  3. 3.
    A. Appel. Modern Compiler Construction in ML: Basic Techniques. 1997. Cambridge University Press.Google Scholar
  4. 4.
    W. Chen and D. S. Warren. Tabled Evaluation with Delaying for General Logic Programs, In JACM 43(1):20–74.Google Scholar
  5. 5.
    N. Datta. Semantic basis for Interoperability: An approach based on Horn Logic and Denotational Semantics. MS thesis. NMSU. Aug. 2000.Google Scholar
  6. 6.
    J. Felsenstein. PHYLIP: Phylogeny inference package, version 3.5c. Distributed by the author, Deparment of Genetics, Univ. Washington, Seattle, 1993.Google Scholar
  7. 7.
    J. W. Lloyd. Foundations of Logic Programming. Springer Verlag. 2nd ed. 1987.Google Scholar
  8. 8.
    C. Goldfarb, P. Prescod. The XML Handbook. Prentice Hall. 1998.Google Scholar
  9. 12.
    G. Gupta. Horn logic denotations and their applications. In The Logic Programming Paradigm: The next 25 years, pages 127–160. Springer Verlag, 1999.Google Scholar
  10. 13.
    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.Google Scholar
  11. 14.
    G. Gupta and E. Pontelli. A Horn logical semantic framework for specification, implementation, and verification of domain specific languages. Essays in honor of Robert Kowalski, Springer Verlag, Lecture Notes in Computer Science, to appear.Google Scholar
  12. 15.
    G. Gupta, O. El Khatib, M. Noamany. Building the tower of Babel: Converting XML to VoiceXML for Accessibility. Proc. 7th International Conference on Computers Helping People with Special Needs (ICCHP00). OCG Press (Austria). pp. 267–272.Google Scholar
  13. 16.
    G. Gupta, X. Zhou. Auotmatically Generating Validating Parsers for XML. Internal Report. U. T. Dallas. 2001.Google Scholar
  14. 17.
    Haifeng Guo. Translating Nemeth Math Braille Code to LATEX: A Semantics-based Approach. Master Thesis. New Mexico State Univ, 1999.Google Scholar
  15. 18.
    C. Gunter. Programming Language Semantics. MIT Press. 1992.Google Scholar
  16. 19.
    C. Heitmeyer, et al. Automated Consistency Checking of Requirement Specification. In ACM Trans. on Software Engg. and Methodology, 1996.Google Scholar
  17. 20.
    D. G. Higgins, J. D. Thompson, and T. J. Gibson. Using CLUSTAL for multiple sequence alignments. Methods in Enzymology, 266:383–402, 1996.CrossRefGoogle Scholar
  18. 21.
    J. R. Iglesias, G. Gupta, E. Pontelli, D. Ranjan, B. Milligan. Interoperability between Bioinformatics Tools: A logic programming approach. In Proc. Practical Aspects of Declarative Langs, 2001. Springer Verlag LNCS 1990.Google Scholar
  19. 22.
    H. Guo, A. Karshmer, G. Gupta, S. Geiger, C. Weaver. A Framework for Translation of Nemeth Braille Code to LATEX: The MAVIS Project. In Proc. ACM Conf. on Assistive Technologies, pp. 136–143, 1998.Google Scholar
  20. 23.
    L. Liebmann. Extensible Markup Language, XML’s Tower Of Babel.
  21. 24.
    David R. Maddison, David L. Swofford, and Wayne P. Maddison. NEXUS: An extensible file format for systematic information. Syst. Biol., 46(4):590–621, 1997.CrossRefGoogle Scholar
  22. 25.
    Wayne P. Maddison and David R. Maddison. MacClade: Analysis of phylogeny and character evolution, version 3.07. Sinauer, Sunderland, Massachusetts, 1997.Google Scholar
  23. 26.
    K. Miesenberger, B. Stöger. Personal Communication.Google Scholar
  24. 27.
    A. Nemeth. The Nemeth Braille Code for Mathematics and Science Notation 1972 Revision (Frankfort KY: American Printing House for the Blind, 1972)Google Scholar
  25. 28.
    R. A. O’Keefe. The Craft of Prolog. MIT Press. 1990.Google Scholar
  26. 29.
  27. 30.
    L. Scadden. Making Mathematics and Science Accessible to Blind Students Through Technology. Proceedings of RESNA’96, 1996.Google Scholar
  28. 31.
    D. Schmidt. Denotational Semantics: a Methodology for Language Development. W. C. Brown Publishers, 1986.Google Scholar
  29. 32.
    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.Google Scholar
  30. 33.
    L. Sterling & S. Shapiro. The Art of Prolog. MIT Press,’ 94.Google Scholar
  31. 34.
    S. Stepney. High Integrity Compilation. Prentice Hall. 1993.Google Scholar
  32. 35.
    S. D. Swierstra and L. Duponcheel. Deterministic, Error Correcting Combinator Parsers. In Advanced Functional Programming: Second international School. LNCS 1129, pages 184–207, Springer Verlag, Berlin, 1996.Google Scholar
  33. 36.
    D. L. Swofford. PAUP: Phylogenetic analysis using parsimony version 3.1.1. Illinois Natural History Survey, Champaign, 1993.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2002

Authors and Affiliations

  • Gopal Gupta
    • 1
  • Hai-Feng Guo
    • 2
  • Arthur I. Karshmer
    • 3
  • Enrico Pontelli
    • 4
  • Juan Raymundo Iglesias
    • 4
  • Desh Ranjan
    • 4
  • Brook Milligan
    • 5
  • Nayana Datta
    • 6
  • Omar El Khatib
    • 4
  • Mohammed Noamany
    • 4
  • Xinhong Zhou
    • 7
  1. 1.Dept. of Computer ScienceUT DallasRichardsonUSA
  2. 2.Dept. of Computer ScienceSUNY Stony Brook, Stony BrookNYUSA
  3. 3.National Science Foundation and University of S. FloridaTampaUSA
  4. 4.Dept. of Computer ScienceNew Mexico State UniversityLas CrucesUSA
  5. 5.Dept. of BiologyNew Mexico State UniversityLas CrucesUSA
  6. 6.Synopsis, Inc.BostonUSA
  7. 7.Sabre, IncUSA

Personalised recommendations