Abstract
The use of design patterns is common in many areas of software engineering and programming. While they are informal, patterns provide a repository of solutions to common problems, as well as a survey of the features of a given language or software system. This paper uses design patterns to survey features and applications of Tabled Logic Programming (TLP). Patterns for commonly available features are presented, such as those of various recursion types that arise when tabling is used with definite programs, of automatic tabling and of tabling with DCGs. In addition, various patterns capture well-developed uses of tabled negation for non-monotonic reasoning. A final set of patterns describes the approaches of answer subsumption and tabled constraints, features that have fewer applications to date due to the fact that robust implementations of them have only recently become available.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Diagnostic and Statistical Manual of Mental Disorders. American Psychiatric Association, Washington, DC, 4th edition, Prepared by the Task Force on DSM-IV and Other Committees and Work Groups of the American Psychiatric Association (1994)
Codognet, P., Filé, G.: Computations, abstractions and constraints in logic programs. In: ICCL, pp. 155–164 (1992)
Coplien, J., Schmidt, D.: Pattern Languages of Program Design. Addison-Wesley, Reading (1995)
Santos Costa, V., Sagonas, K., Lopes, R.: Demand-driven indexing of prolog clauses. In: Dahl, V., Niemelä, I. (eds.) ICLP 2007. LNCS, vol. 4670, pp. 395–409. Springer, Heidelberg (2007)
Cui, B., Swift, T.: Preference logic grammars: Fixed-point semantics and application to data standardization. Artificial Intelligence 138, 117–147 (2002)
Desel, J., Reisig, W.: Place/transition Petri nets. In: Reisig, W., Rozenberg, G. (eds.) APN 1998. LNCS, vol. 1491, pp. 122–174. Springer, Heidelberg (1998)
Earley, J.: An efficient context-free parsing algorithm. CACM 13(2), 94–102 (1970)
Jayaraman, B., Govindarajan, K., Mantha, S.: Preference logic grammars. Computer Languages 24, 179–196 (1998)
Liang, S., Fodor, P., Wan, H., Kifer, M.: OpenRuleBench: An analysis of the performance of rule engines. In: WWW: Semantic Data Track, pp. 601–608 (2009)
Motik, B.: Reasoning in Description Logics using Resolution and Deductive Databases. PhD thesis (2006)
Pereira, L.M., Han, A.: Elder care via intention recognition and evolution prospection. In: INAP (2010)
Pereira, L.M., Lopes, G.: Prospective storytelling agents. In: Carro, M., Peña, R. (eds.) PADL 2010. LNCS, vol. 5937, pp. 294–296. Springer, Heidelberg (2010)
Pereira, L.M., Pinto, A.M.: Layered models top-down querying of normal logic programs. In: Gill, A., Swift, T. (eds.) PADL 2009. LNCS, vol. 5418, pp. 254–268. Springer, Heidelberg (2008)
Pereira, L.M., Ramli, C.: Modelling probabilistic causation in decision making. In: KES-IDT (2009)
Ramakrishna, Y.S., Ramakrishnan, C.R., Ramakrishnan, I.V., Smolka, S., Swift, T., Warren, D.S.: Efficient model checking using tabled resolution. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254, pp. 143–154. Springer, Heidelberg (1997)
Ramakrishnan, C.R., Ramakrishnan, I.V., Warren, D.S.: XcelLog: A deductive spreadsheet system. Knowledge Engineering Review 22(3), 269–279 (2007)
Riguzzi, F., Swift, T.: Tabling and answer subsumption for reasoning on logic programs with annotated disjunctions (2010), www.cs.sunysb.edu/~tswift/papers
Russell, N., ter Hofstede1, A., van der Aalst1, W.M.P., Mulyar, N.: Workflow control-flow patterns: A revised view. Technical report, BPM Center Report BPM-06-22, BPMcenter.org (2006)
Sarna-Starosta, B.: Constraint-based Analysis of Security Protocols. PhD thesis, SUNY Stony Brook (2005)
De Schreye, D., Decorte, S.: Termination of logic programs: The never-ending story. JLP 19, 199–260 (1994)
Shieber, S.: Constraint-based Grammar Formailsms. MIT Press, Cambridge (1992)
Stenning, K., van Lambalgen, M.: Human Reasoning and Cognitive Science. MIT Press, Cambridge (2008)
Swift, T.: Tabling for non-monotonic programming. AMAI 25(3-4), 201–240 (1999)
Swift, T., Warren, D.S.: XSB: Extending the power of Prolog using tabling (2010), www.cs.sunysb.edu/~tswift
Thomason, R. (ed.): Formal Philosophy. Selected Papers by Richard Montague. Yale, New Haven (1974)
Wan, H., Grosof, B., Kifer, M., Fodor, P., Liang, S.: Logic programming with defaults and argumentation theories. In: Hill, P.M., Warren, D.S. (eds.) ICLP 2009. LNCS, vol. 5649, pp. 432–448. Springer, Heidelberg (2009)
Warren, D.S.: Programming the PTQ grammar in XSB. In: Ramakrishnan, R. (ed.) Applications of Logic Databases, pp. 217–234 (1995)
Wasserman, S., Faust, K.: Social Network Analysis. Cambridge University Press, Cambridge (1994)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Swift, T. (2011). Design Patterns for Tabled Logic Programming. In: Abreu, S., Seipel, D. (eds) Applications of Declarative Programming and Knowledge Management. INAP 2009. Lecture Notes in Computer Science(), vol 6547. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-20589-7_1
Download citation
DOI: https://doi.org/10.1007/978-3-642-20589-7_1
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-20588-0
Online ISBN: 978-3-642-20589-7
eBook Packages: Computer ScienceComputer Science (R0)