
This Article  
 
Share  
Bibliographic References  
Add to:  
Digg Furl Spurl Blink Simpy Del.icio.us Y!MyWeb  
Search  
 
ASCII Text  x  
John Jeffrey, Jorge Lobo, Tadao Murata, "A HighLevel Petri Net for GoalDirected Semantics of Horn Clause Logic," IEEE Transactions on Knowledge and Data Engineering, vol. 8, no. 2, pp. 241259, April, 1996.  
BibTex  x  
@article{ 10.1109/69.494164, author = {John Jeffrey and Jorge Lobo and Tadao Murata}, title = {A HighLevel Petri Net for GoalDirected Semantics of Horn Clause Logic}, journal ={IEEE Transactions on Knowledge and Data Engineering}, volume = {8}, number = {2}, issn = {10414347}, year = {1996}, pages = {241259}, doi = {http://doi.ieeecomputersociety.org/10.1109/69.494164}, publisher = {IEEE Computer Society}, address = {Los Alamitos, CA, USA}, }  
RefWorks Procite/RefMan/Endnote  x  
TY  JOUR JO  IEEE Transactions on Knowledge and Data Engineering TI  A HighLevel Petri Net for GoalDirected Semantics of Horn Clause Logic IS  2 SN  10414347 SP241 EP259 EPD  241259 A1  John Jeffrey, A1  Jorge Lobo, A1  Tadao Murata, PY  1996 KW  Highlevel Petri nets KW  logic programming KW  visual languages KW  parallel execution model KW  Prolog KW  SLDresolution KW  SLDALGresolution KW  FGHC. VL  8 JA  IEEE Transactions on Knowledge and Data Engineering ER   
Abstract—A new highlevel Petri net (HLPN) model is introduced as a graphical syntax for Horn Clause Logic (HCL) programs. We call these nets: Horn Clause Logic GoalDirected Nets (HCLGNs). It is shown that there is a bijection between the queried definite programs and the class of HCLGNs. In addition, a visualization of SLDresolution is realized through the enabling and firing rules and net markings. The correctness of these rules with respect to SLDresolution is also proven. Using these notions, we model SLDrefutations and failing computations.
Through minor modification of the definition of HCLGNs for pure HCL programs and of the enabling and firing rules, it is shown how HCLGNs can be used to model builtin atoms and provide a new AND/ORparallel execution model. HCLGNs have also been used to: model a subset of Prolog; provide a framework for modeling variations on SLDresolution, such as SLDALG; specify an operational semantics for committedchoice (flatguarded) concurrent logic languages using FGHC as an example.
Recently, several software packages have become available for editing and executing HLPNs. These graphical editors can now play the same role that string editors have played for many years. The simulation capabilities of the HLPN software offer opportunities to perform automated, interactive code walkthroughs and also have potential for providing a framework for visual debugging environments. We note however that HCLGNs differ from the major classes of HLPNs for which software tools have been developed in primarily two ways: 1) the tokens in the markings can have variables; and 2) the firing of a transition may not only update the marking of the adjacent places, but may instantiate variables in tokens in the markings of places that are nonadjacent to the fired transition. Thus, the existing packages can only provide graphical syntax editing and are not appropriate for graphical simulation of HCLGNs. In the paper, we provide an algebraic characterization of HCLGNs that can serve as a design guideline for implementing HCLGNs.
[1] J. Barklund, N. Hagner, and M. Wafin, "Condition Graphs," Proc. Fifth Int'l Conf. Logic Programming, pp. 435446. MIT Press, 1988.
[2] Implementations of Prolog, J.A. Campbell, ed. Great Britain: EllisHorwood, 1984.
[3] T.Y. Chen, JL. Lassez, and G.S. Port, "Maximal Unifiable Subsets and Minimal NonUnifiable Subsets," New Generation Computing, vol. 4, pp. 133152, 1986.
[4] J.S. Conery, Parallel Execution of Logic Programs.Boston: Kluwer Academic, 1987.
[5] S.K. Debray, "Static Inferences of Modes and Data Dependencies in Logic Programs," ACM Trans. Programming Languages and Systems, vol. 11, no. 3, pp. 418450, 1989.
[6] C.J. Ferguson, "An Implementation of Prolog in C," Master's thesis, Dept. of Computer Science, Univ. of Waterloo, 1977.
[7] T. Fukuzawa and H. Hasegawa, "An Analysis of Parallel Programs by Utilizing HighLevel Nets," 1991 Proc. IEEE Int'l Symp. Circuits and Systems, vol. 2(of 5), pp. 842845, 1991.
[8] J.H. Gallier, Logic for Computer Science.New York: Harper&Row, 1986.
[9] J.H. Gallier and S. Raatz, "Logic Programming and Graph Rewriting," 1985 Proc.IEEE Symp. Logic Programming, pp. 208219,Boston, 1985.
[10] H.J. Genrich, "Predicate/Transition Nets," Advances in Petri Nets 1986, Part I, Lecture Notes in Computer Science, Vol. 254, W. Bauer, W. Reisig, and G. Rozenberg, eds., SpringerVerlag, Heidelberg, Germany, 1987, pp. 208247.
[11] J. Jeffrey, "HighLevel Petri Net Semantics of Concurrent and NonConcurrent Logic Programs," PhD dissertation, Dept. of Electrical Eng. and Computer Science, Univ. of Illinois at Chicago, 1993.
[12] J. Jeffrey and T. Murata, "A HighLevel Petri Net Model for a Subset of FGHC," Proc. Second Int'l Conf. Software Eng. and Knowledge Eng., pp. 260266. World Scientific Press, 1990.
[13] J. Jeffrey and T. Murata, "Toward Using HighLevel Petri Nets to Model Declarative and Operational Semantics of Concurrent and Parallel Logic Languages," Proc. Workshop on Concurrent Logic Programs (ICLP91), June 1991.
[14] K. Jensen, "Coloured Petri Nets," Lecture Notes in Computer Science, vol. 254, pp. 248299.New York: SpringerVerlag, 1987.
[15] Highlevel Petri Nets: Theory and Applications K. Jensen and G. Rozenberg, eds. New York: SpringerVerlag, 1991.
[16] R. Kowalski, "A Proof Procedure Using Connection Graphs," J. ACM vol. 22, no. 4, pp. 572595, Dec. 1975.
[17] R. Kowalski, "Algorithm = Logic + Control," Comm. ACM, vol. 22, July 1979.
[18] J.W. Lloyd, Foundations of Logic Programming, Springer Series in Symbolic Computation, second ed. New York: SpringerVerlag, 1987.
[19] Design/CPN An noucement, Feb. 1990, Meta Software Corporation, 150 Cambridge Park Dr., Cambridge, MA 02140.
[20] T. Murata, “Petri Nets: Properties, Analysis and Application,” Proc. IEEE, vol. 77, no. 4, 1989.
[21] T. Murata, V.S. Subrahmanian, and T. Wakayama, "A Petri Net Model for Reasoning in the Presence of Inconsistency," IEEE Trans. Knowledge and Data Eng., Vol. 3, No. 3, Sept. 1991, pp. 281292.
[22] T. Murata and D. Zhang, "A PredicateTransition Net Model for Parallel Interpretation of Logic Programs," IEEE Trans. Software Eng., Vol. 14, No. 4, Apr. 1988, pp. 481497.
[23] S. Raatz, GraphBased Proof Procedures for Horn Clauses.Boston: Birkhauser, 1990.
[24] R. Ramesh, I.V. Ramakrishnan, and D.S. Warren, "AutomataDriven Indexing of Prolog Clauses," Proc. 17th Ann. ACM Symp. Principles of Programming Languages, pp. 281291, 1990.
[25] E. Shapiro, "The Family of Concurrent Logic Programming Languages," Computing Surveys, vol. 21, no. 3, pp. 413510, Sept. 1989.
[26] H. Tamaki and T. Sato, "OLD Resolution with Tabulation," Proc. Third Int'l Conf. Logic Programming (Lecture Notes in Computer Science), vol. 225, pp. 8498. SpringerVerlag, 1986.
[27] K. Ueda, "Guarded Horn Clauses: A Parallel Logic Programming Language with the Concept of a Guard," ICOT Tech. Rep. TR208, Inst. for New Generation Computer Tech nology, Tokyo, 1986.
[28] M. van Emden, "An Interpreting Algorithm for Prolog Programs," Proc. First Int'l Conf. Logic Programming Conf., 1982.
[29] L. Veille, "DatabaseComplete Proof Procedures Based on SLD Resolution," Proc. Fourth Int'l Conf. Logic Programming, pp. 74103. MIT Press, 1987.
[30] D. Zhang and T. Murata, "Fixpoint Semantics for a Petri Net Model of Definite Clause Logic Programs," Technical Report No. UICEECS872, Univ. of Illinois at Chicago, Apr. 1987. Also to appear in Advances in the Theory of Computation and Computational Mathematics, vol. 1, Ablex Pub.