A survey and classification of some program transformation approaches and techniques
The IFIP TC2/WG 2.1 Working Conference on Program specification and transformation
Automatic mode inference for logic programs
Journal of Logic Programming
Automatic programming for streams II: transformational implementation
ICSE '88 Proceedings of the 10th international conference on Software engineering
Flow analysis of dynamic logic programs
Journal of Logic Programming
A method for specializing logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Specification and transformation of programs: a formal approach to software development
Specification and transformation of programs: a formal approach to software development
Global flow analysis as a practical compilation tool
Journal of Logic Programming
A Hybrid Knowledge Representation as a Basis of Requirement Specification and Specification Analysis
IEEE Transactions on Software Engineering - Special issue on software maintenance
Knowledge-Based Software Development for Real-Time Distributed Systems
Knowledge-Based Software Development for Real-Time Distributed Systems
Parallel evaluation of software architecture specifications
Communications of the ACM
Knowledge-Based Software Architectures: Acquisition, Specification, and Verification
IEEE Transactions on Knowledge and Data Engineering
Journal of Systems and Software
Hi-index | 0.02 |
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.