This Article 
 Bibliographic References 
 Add to: 
A Logic-Based Transformation System
January/February 1998 (vol. 10 no. 1)
pp. 91-107

Abstract—In spite of advances in various transformation systems [5], [8], the transformation of a nonmonotonic-logic-based requirements specification into a procedural (imperative) language program has not been investigated. This paper presents a logic-based transformation system that can transform a nonmonotonic-logic-based specification, the Frame-and-Rule Oriented Requirement Specification Language (FRORL) [12], into procedural language programs. We discuss how to handle nonmonotonic inheritance in FRORL and then establish a matrix-based data flow and dependency analysis mechanism to find all the possible data transformation paths in a logic-based specification. Using a newly developed algorithm, we can adjust the execution sequence of a logic-based specification so that the functions included in the logic-based specification can be represented by a sequential procedural language program.

[1] D. Barstow, "Automatic Programming for Streams II: Transformation Implementation," Proc. 10th Int'l Conf. Software Eng.,Singapore, pp. 439-447, 1988.
[2] A. Bossi, N. Cocco, and S. Dulli, "A Method for Specializing Logic Programs," ACM Trans. Programming Languages and Systems, vol. 12, no. 2, pp. 253-302, Apr. 1990.
[3] S.K. Debray, "Flow Analysis of Dynamic Logic Programs," J. Logic Programming, vol. 7, pp. 149-176, 1989.
[4] S.K. Debray and D.S. Warren, "Automatic Mode Inference for Logic Programs," J. Logic Programming, vol. 5, pp. 207-229, 1988.
[5] M.S. Feather, "A Survey and Classification of Some Program Transformation Approaches and Techniques," Proc. IFIP Working Conf. Program Specification and Transformation,Bad Tolv, Germany, Apr. 1986.
[6] M.V. Hermenegildo, R. Warren, and S. K. Debray, "Global Flow Analysis as a Practical Compilation Tool," J. Logic Programming, vol. 13, pp. 349-366, 1992.
[7] H. Mannila and E. Ukkonen, "Flow Analysis of Prolog Programs," Proc. Fourth IEEE Symp. Logic Programming,San Francisco, Sept. 1987.
[8] H.A. Partsch, Specification and Transformation of Programs. Springer-Verlag, 1990.
[9] U.S. Reddy, "Transformation of Logic Programs into Functional Programs," Proc. 1984 Int'l Symp. Logic Programming,Atlantic City, N.J., IEEE CS Press, pp. 187-196, Feb. 1984.
[10] Readings in Artificial Intelligence and Software Engineering, C. Rich and R.C. Waters, eds. Los Altos, Calif.: Morgan-Kaufmann, 1986.
[11] H. Tamaki and T. Sato, "Unfold/Fold Transformation of Logic Programs," Proc. Second Int'l Logic Programming Conf.,Upssala, Sweden, pp. 127-138, July 1984.
[12] J.J.P. Tsai, T. Weigert, and H. Jang, "A Hybrid Knowledge Representation as a Basis of Requirements Specification and Specification Analysis," IEEE Trans. Software Eng., pp. 1,076-1,100, vol. 18, no. 12, Dec. 1992.
[13] J. J.-P. Tsai and T. Weigert, Knowledge-Based Software Development for Real-Time Distributed Systems. World Scientific, 1993.
[14] D.H.D. Warren, "An Abstract Prolog Instruction Set," Technical Note 309, SRI International, Menlo Park, Calif., 1983.
[15] M. Bruynooghe, "Adding Redundancy to Obtain More Reliable and More Readable Prolog Programs," Proc. First Int'l Logic Programming Conf.,Marseille, France, 1982.
[16] M. Bruynooghe, B. Demoen, A. Callebaut, and G. Janssens, "Abstract Interpretation: Towards the Global Optimization of Prolog Programs," Proc. Fourth IEEE Symp. Logic Programming,San Francisco, Sept. 1987.
[17] C.S. Mellish, "Some Global Optimizations for a Prolog Compiler," J. Logic Programming, vol. 2, no. 1, pp. 43-66, Apr. 1986.

Index Terms:
Knowledge representation techniques, multiple inheritance, nonmonotonic logic, requirement specification language, transformation system.
Jeffrey J.P. Tsai, Bing Li, Thomas Weigert, "A Logic-Based Transformation System," IEEE Transactions on Knowledge and Data Engineering, vol. 10, no. 1, pp. 91-107, Jan.-Feb. 1998, doi:10.1109/69.667092
Usage of this product signifies your acceptance of the Terms of Use.