This Article 
 Bibliographic References 
 Add to: 
Using Flat Concurrent Prolog in System Modeling
June 1991 (vol. 17 no. 6)
pp. 493-512

The flat concurrent Prolog (FCP) language, which enables the implementation of synchronization through data flow, communication through shared variables, parallelism through the reduction of the AND components in the clause's body, and indeterminacy through guarded commands, is discussed. It is shown that FCP, used in conjunction with Petri net methods, forms a powerful tool in the modeling of parallel systems that involve concurrency. The simulation of systems represented by various types of Petri nets is achieved using the reduction process of FCP. AND parallelism supports free competition among conflicting enabled transitions. A structural analysis of systems is provided using the metaprogramming technique.

[1] A. Takeuchi and K. Furukawa,Parallel Logic Programming Languages(LNCS 225). New York: Springer-Verlag, 1986, pp. 242-254.
[2] K. Ueda, "Guarded Horn clauses," Ph.D. dissertation, Tokyo Univ., Mar. 1986.
[3] K. L. Clark and S. Gregory, "PARLOG: Parallel programming in logic,"ACM Trans. Program. Lang., vol. 8, pp. 1-49, 1986.
[4] E. Shapiro, "Concurrent Prolog: A progress report,"Computer, vol. 19, pp. 44-58, Aug. 1986.
[5] C. Mierowsky, "Design and implementation of Flat Concurrent Prolog," Weitzmann Inst., Tech. Rep. CS84-21, 1984.
[6] P. Azemaet al., "Specification and verification of distributed systems using Prolog interpreted Petri nets," inProc. IEEE 7th Int. Conf. Software Eng., 1984, pp. 510-518.
[7] W. I. Bullers, "Logic programming for manufacturing system specification," inProc. IEEE Int. Conf. Robotics and Automation, 1986, pp. 1831-1836.
[8] S. A. Hutchinson and A. C. Kak, "FProlog: A language to integrate logic and functional programming for automated assembly," inProc. Int. Conf. Robotics and Automation, 1986, pp. 904-909.
[9] A. Davison, "Representation Petri nets in PARLOG," The PARLOG Group, Imperial College, London, May 1987.
[10] The Logix System User Manual. Israel: Weitzmann Inst., 1988.
[11] C. V. Ramamoorthy and G. S. Ho, "Performance evaluation of asynchronous concurrent systems of Petri nets,"IEEE Trans. Software Eng., vol. SE-6, pp. 440-449, 1980.
[12] W. M. Zuberek, "Timed Petri nets and preliminary performance evaluation," inProc. 7th Annu. Symp. Computer Architecture, May 6-8, 1980, pp. 88-96.
[13] J. Sifakis,Use of Petri Nets for Performance Evaluation in Measuring, Modelling, and Evaluating Computer Systems. Amsterdam, The Netherlands: North-Holland, 1977, pp. 75-93.
[14] N. Suzuki, "Concurrent Prolog as a efficient VLSI design language,"Computer, vol. 18, pp. 33-40, Feb. 1985.
[15] D. Weinbaum and E. Shapiro, "Hardware description and simulation using Concurrent Prolog," TR-CS 86-26, Weizman Inst., Israel, Sept. 1986.
[16] A. Takeuchi and K. Furukawa, "Bounded buffer communication in Concurrent Prolog,"New Generations Comput., vol. 3, pp. 145-155, 1985.
[17] A. Takeuchi, "How to solve it in Concurrent Prolog," unpublished note, 1983.
[18] S. Safra and E. Shapiro, "Meta interpreters for Real," Weitzman Inst., Israel, Tech. Rep. CS-86-11, 1986.
[19] K. Jensen, "Colored Petri nets," inAdvances in Petri Nets(LNCS 254). New York: Springer-Verlag, 1987, pp. 248-299.
[20] M. Kamath and N. Vishwanadham, "Applications of Petri net based models in the modeling and analysis of Flexible Manufacturing systems," inProc. IEEE Int. Conf. Robotics and Automation, 1986, pp. 312-317.
[21] E. Shapiro and A. Takeuchi, "Object-oriented programming in Concurrent Prolog,"New Generations Comput., vol. 1, pp. 25-48, 1983.
[22] G. Bruno and G. Marchetto, "Process-translatable Petri nets for the rapid prototyping of process control systems,"IEEE Trans. Software Eng., vol. SE-12, Feb. 1986.
[23] J. E. Coolahan and N. Roussopoulos, "Timing requirements for time-driven systems using augmented Petri nets,"IEEE Trans. Software Eng., vol. SE-9, pp. 603-616, 1983.
[24] E. Shapiro, "Systolic Programming: A paradigm of parallel processing," Weizman Inst., Israel, Tech. Rep. CS-84-16, 1984.
[25] W. Dijkstraet al., "Derivation of a termination algorithm for distributed computation,"Inform. Processing Lett., vol. 16, pp. 217-219, 1983.
[26] F. Feldbrugge and K. Jensen,Petri Net Tool Overview--1986(LNCS 225). New York: Springer-Verlag, 1986, pp. 20-61.
[27] C. Minkowitz and P. Henderson, "Object-oriented programming of discrete event simulation using Petri nets," presented at the European Conf. Object Oriented Programming, AFCET, Paris, France, 1987.
[28] K. Fitzgerald, "Next-generation race bogs down,"IEEE Spectrum, vol. 24, pp. 28-33, June 1987.

Index Terms:
system modeling; flat concurrent Prolog; synchronization; data flow; shared variables; parallelism; AND components; indeterminacy; guarded commands; FCP; Petri net methods; parallel systems; Petri nets; reduction process; free competition; conflictingenabled transitions; structural analysis; metaprogramming technique; logic programming; parallel programming; Petri nets; PROLOG; structured programming; virtual machines
Y. Dotan, B. Arazi, "Using Flat Concurrent Prolog in System Modeling," IEEE Transactions on Software Engineering, vol. 17, no. 6, pp. 493-512, June 1991, doi:10.1109/32.87277
Usage of this product signifies your acceptance of the Terms of Use.