|
| This Article | ||
| ||
| Share | ||
| Bibliographic References | ||
| Add to: | ||
| | ||
| Search | ||
| ||
| ASCII Text | x | ||
| G.-C. Roma, R.F. Gamble, W.E. Ball, "Formal Derivation of Rule-Based Programs," IEEE Transactions on Software Engineering, vol. 19, no. 3, pp. 277-296, March, 1993. | |||
| BibTex | x | ||
| @article{ 10.1109/32.221138, author = {G.-C. Roma and R.F. Gamble and W.E. Ball}, title = {Formal Derivation of Rule-Based Programs}, journal ={IEEE Transactions on Software Engineering}, volume = {19}, number = {3}, issn = {0098-5589}, year = {1993}, pages = {277-296}, doi = {http://doi.ieeecomputersociety.org/10.1109/32.221138}, publisher = {IEEE Computer Society}, address = {Los Alamitos, CA, USA}, } | |||
| RefWorks Procite/RefMan/Endnote | x | ||
| TY - JOUR JO - IEEE Transactions on Software Engineering TI - Formal Derivation of Rule-Based Programs IS - 3 SN - 0098-5589 SP277 EP296 EPD - 277-296 A1 - G.-C. Roma, A1 - R.F. Gamble, A1 - W.E. Ball, PY - 1993 KW - program refinement; efficient concurrent rule-based programs; initial rule-based program; program derivation strategy; specification refinement; UNITY programs; correct rule-based program; static knowledge base; computational model; Swarm; OPS5; correctness criteria; formal specification; knowledge based systems; logic programming; parallel programming VL - 19 JA - IEEE Transactions on Software Engineering ER - | |||
It is shown that a combination of specification and program refinement may be applied to deriving efficient concurrent rule-based programs. Specification refinement is used to generate an initial rule-based program that is refined into a program which is highly concurrent and efficient. This program derivation strategy is divided into two major tasks. The first task relies on specification refinement. Techniques similar to those employed in the derivation of UNITY programs are used to produce a correct rule-based program having a static knowledge base. The second task involves program refinement and is specific to the development of concurrent rule-based programs. It relies heavily on the availability of a computational model, such as Swarm, that has the ability to dynamically restructure the knowledge base. The ways in which a Swarm program can be translated to OPS5 specifically, given some restrictions, while maintaining the correctness criteria are discussed.
[1] R. J. R. Back and K. Sere, "Stepwise refinement of parallel algorithms,"Sci. Comput. Programming, vol. 13, pp. 133-180, 1990.
[2] J. P. Banâtre and D. Le Métayer, "The GAMMA model and its discipline of programming,"Sci. Computer Programming, vol. 15, pp. 55-77, 1990.
[3] A. Brogi and P. Ciancarini, "The concurrent language, shared prolog,"Ass. Comput. Mach. Trans. Programming Languages and Syst., vol. 13, no. 1, 1991.
[4] N. Carriero and D. Gelernter, "Linda in context,"Commun. ACM, vol. 32, pp. 444-458, Apr. 1989.
[5] K. M. Chandy and J. Misra,Parallel Program Design: A Foundation. Reading, MA: Addison-Wesley, 1988.
[6] H. C. Cunningham and G.-C. Roman, "A UNITY-style programming logic for a shared dataspace language,"IEEE Trans. Parallel and Distr. Syst., vol. 1, no. 3, pp. 365-376, 1990.
[7] E. W. Dijkstra,A Discipline of Programming. Englewood Cliffs, NJ: Prentice-Hall, 1976.
[8] C. L. Forgy, "OPS5 user's manual," Tech. Rep. CMU-CS-81-13, Carnegie-Mellon University, 1981.
[9] R. F. Gamble, G.-C. Roman, and W. E. Ball, "Formal verification of rule-based programs," inProc. 9th Nat. Conf. Artificial Intell., 1991, pp. 329-334.
[10] D. Gries,The Science of Programming. New York: Springer-Verlag, 1981.
[11] A. Gupta,Parallelism in Production Systems, Morgan Kaufmann, Palo Alto, Calif., 1987.
[12] T. Ishida and S. J. Stolfo, "Towards the parallel execution of rules in production system programs," inProc. IEEE Int. Conf. Parallel Processing, 1985, pp. 568-575.
[13] J. McDermott, "R1: A rule-based configurer of computer systems,"Artificial Intell., vol. 19, no. 1, 1982.
[14] D. P. Miranker, C. M. Kuo, and J. C. Browne, "Parallel compilation of rule-based programs," inProc. 1990 Int. Conf. Parallel Processing, pp. 247-251.
[15] A. Pasik and S. J. Stolfo, "Improving production system performance on parallel architectures by creating constrained copies of rules," Tech. Rep., Columbia University, New York, NY, 1987.
[16] G.-C. Roman and H. C. Cunningham, "Mixed programming metaphors in a shared dataspace model of concurrency,"IEEE Trans. Software Eng., vol. 16, no. 12, pp. 1361-1373, 1990.
[17] J. G. Schmolze, "Guaranteeing serializable results in synchronous parallel production systems,"J. parallel and Distributed Computing, vol. 13, no. 4, pp. 348-365, 1991.
[18] J. G. Schmolze and S. Goel, "A parallel asynchronous distributed production system," inProc. 8th Nat. Conf. Artificial Intell., 1990, pp. 65-71.
[19] T. Sellis, C.-C. Lin, and L. Raschid, "Implementing large production systems in a DBMS environment: Concepts and algorithms," Tech. Rep. UMIACS-TR-87-68, University of Maryland, College Park, 1987.
[20] P. M. Winston,Artificial Intelligence. Reading, MA: Addison-Wesley, 1984.

