Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Using Flat Concurrent Prolog in System Modeling
Dotan Y., Arazi B. IEEE Transactions on Software Engineering17 (6):493-512,1991.Type:Article
Date Reviewed: Oct 1 1992

The evolution of a system with parallel components can be described graphically in terms of a Petri net representation. This representation lends itself naturally to a logic program description. The aim of this paper is to develop the use of Flat Concurrent Prolog (FCP) as a modeling and simulation tool for such systems. FCP has the ability to simulate the dynamic behavior of a system modeled by a Petri net. This simulation is achieved by a procedure that checks each transition in the net for the presence of all its input tokens. Since these checks are performed in parallel, the transition requiring the least number of resources will be fired first. Other elements to be included in the firing policy to resolve conflicts can also be taken into account; thus, random firing may be achieved by the inclusion of a random variable. It would seem that the indeterminacy of Concurrent Prolog should achieve the same effect.

Subsequent sections deal with simulations of timed Petri nets using timing mechanisms that can be programmed in FCP. Synchronization is achieved using the short-circuit technique of Concurrent Prolog, which is explained adequately. The development is then extended to include colored nets, and thence to flexible manufacturing system designs that entail timed colored nets, by way of an example incorporating machine tools, conveyors, and a warehouse. The paper investigates the use of FCP to analyze system behavior with respect to structural features. Sample programs determine whether a system is asynchronous, check whether each process in a system has sufficient resources to run at least once, and detect deadlock (defined somewhat restrictively).

The authors feel that FCP has advantages over existing techniques of system modeling using Petri nets in that it is a programming tool (with top-down design ability) and in that it provides a single environment for both design and analysis. The approach lends itself to the possibility of providing a practical working tool, subject to the availability of an efficient implementation of FCP.

The paper is of adequate length for the material covered, but I have some reservations about the presentation. Better proofreading could have eliminated a host of errors that distract the reader from the thread of the discussion. Some of the programs could have been expressed in a more readable form, and editing of the paper has apparently introduced a mismatch between the procedures listed and the procedures discussed in the text.

Reviewer:  P. Mett Review #: CR116209
Bookmark and Share
 
Fcp (F.4.1 ... )
 
 
Concurrent Programming Structures (D.3.3 ... )
 
 
Model Classification (I.6.1 ... )
 
 
Language Constructs and Features (D.3.3 )
 
Would you recommend this review?
yes
no

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy