E1AR0002@SMUVM1.BITNET.UUCP (02/28/87)
Seminar Announcement, Computer Science and Engineering, Southern Methodist University, MOnday, March 2, 1987, Room 315 SIC, 1:30PM A Step Toward a Logic Machine, C. S. Tang, Carnegie-Mellon University XYZ is a software development support system to unify various ways of programming programming [sic] with HLL (Pascal, Ada, Fortran etc.), programming with abstract specification (temporal logic, production systems, Prolog, pre-post condition specification, etc.) and programming with graphics (structured flow chart, Petri Nets, Data Flow Diagrams, etc.) It is based on a linear-time temporal logic language with a uniform framework of programs, to combine the abstract behavior description with dynamic state transition. It could be used to represent the dynamic semantics of HLLs, which could serve as the basis of a semantics-directed compiler generation and source to source transformation system, and also to represent different layers of abstract specification, from the very abstract level down to the assembly like efficiently executable level, such that a method is introduced for programming by decompositional specification and verification within this identical famework. And on this basis, related with programming with Dataflow Diagram, an approach to connect the informal methodology of sytem design with the fomral method of programming such as specification, verification, program decomposition and transformation are suggested. It is considered as a step toward a model of an architecture really based on logic, which could do logic reasoning and abstract specification conveniently and is still able to execute conventional programs as efficiently as on conventional Von Neumann computers. This "uniform program framework" appraoch is different from those to express program state transition by introducing new logic variants such as interval logic or branching logic in that: 1) This approach can avoid the task of building new metamathematical foundations and is easier to understand to use; 2) It could be implemented efficiently; 3) Prolog-like production systems are its sublanguage, so it is different from those systems to extend Prolog with temporal logics. The latter could not execute algorithmic programs efficiently; 4) It is even more expressive.