And/Or Programs: A New Approach to Structured Programming

@article{Harel1980AndOrPA,
  title={And/Or Programs: A New Approach to Structured Programming},
  author={David Harel},
  journal={ACM Trans. Program. Lang. Syst.},
  year={1980},
  volume={2},
  pages={1-17}
}
  • D. Harel
  • Published 1980
  • Computer Science
  • ACM Trans. Program. Lang. Syst.
A simple tree-like programming/specification language is presented. The central idea is the dividing of conventional programming constructs into the two classes of and and or subgoaling, the subgoal tree itself constituting the program. Programs written in the language can, in general, be both nondeterministic and parallel. The syntax and semantics of the language are defined, a method for verifying programs written in it is described, and the practical significance of programming in the… Expand
Transformations of Logic Programs
TLDR
It is shown how every logic program can be transformed to a program computing the same function of which the computation tree has at most one called node and at most two alternations on every branch. Expand
constraint logic programming
We claim that programming within the logic programming paradigm suffers from lack of attention given to iteration and arrays. To convince the reader about their merits we present several examples ofExpand
on And/Or Schemes
  • D. Harel
  • Mathematics, Computer Science
  • MFCS
  • 1980
TLDR
A normal form theorem is proved showing that with the addition of “auxiliary variables”, every and/or scheme is strongly equivalent to one with “and/or depth” equal to 1. Expand
Developing Logic Programs: Computing Through Normalizing
TLDR
It is argued that more specific domain-dependent transformations are needed that change not only the logical structure of the program but its control and data flow, as well. Expand
Arrays, Bounded Quantification and Iteration in Logic and Constraing Logic Programming
  • K. Apt
  • Computer Science, Mathematics
  • Sci. Comput. Program.
  • 1996
TLDR
It is claimed that programming within the logic programming paradigm suffers from lack of attention given to iteration and arrays, and several examples of logic and constraint logic programs which use iteration and array instead of explicit recursion and lists are presented. Expand
Alternation as a programming paradigm
TLDR
Alter-Java is presented -- an extension of Java by language constructs to express alternation, i.e., a sequence of "there exists" and "for all" statements, which shows that many practical problems have a very natural and succinct description in terms of alternation. Expand
Casting Petri Nets into Programs
A programming system has been implemented in which annotated Petri nets are used as machine-processable high-evel design representations. The nets can be used to express the parallelism and theExpand
PROVING THE CORRECTNESS OF REGULA DETERMINISTIC PROGRAMS : A UNIFYING S USING DYNAMIC LOGIC
The simple set WL of deterministic while programs is defined iand a number of known methods for proving the correctness of these programs are surveyed. Emphasis is placed on the tradeoff existingExpand
A Perspective on Automatic Programming
TLDR
The role played by knowledge of the task domain seems to be at least as important, both for the usability of an automatic programming system and for the feasibility of building one which works on non-trivial problems. Expand
Proving the Correctness of Regular Deterministic Programs: A Unifying Survey Using Dynamic Logic
  • D. Harel
  • Computer Science
  • Theor. Comput. Sci.
  • 1980
Abstract The simple set WL of deterministic while programs is defined and a number of known methods for proving the correctness of these programs are surveyed. Emphasis is placed on the tradeoffExpand
...
1
2
3
4
5
...

References

SHOWING 1-10 OF 24 REFERENCES
Structured programming
TLDR
The first monograph has suggested that in analysing a problem and groping towards a solution, a programmer should take advantage of abstract concepts such as sets, sequences, and mappings; and judiciously postpone decisions on representation until he is constructing the more detailed code of the program. Expand
Equivalence between AND/OR graphs and context-free grammars
TLDR
This paper argues that AND/OR graphs of a restricted type are equivalent to context-free grammars and can be set-up formally as a model of problem decomposition. Expand
Assigning meaning to programs
Floyd 3 On page 25, the author states “this fact offers the possibility of automatic verification of programs, the programmer merely tagging entrances and one edge in each innermost loop; theExpand
Higher Order Software—A Methodology for Defining Software
TLDR
The formal methodology of Higher Order Software (HOS), specifically aimed toward large-scale multiprogrammed/multiprocessor systems, is dedicated to systems reliability. Expand
Revised report on the algorithm language ALGOL 60
a survey of the basic coustituents arid fcuturcs of the language is given, and the formal notation, by which the syntactic structure is defined, is esplaincd. The sccnnd chapter lists all the basicExpand
Systematic Programming: An Introduction
  • N. Wirth
  • Mathematics, Computer Science
  • 1973
TLDR
This systematic programming an introduction, it will really give you the good idea to be successful in everything. Expand
On parallelism in turing machines
  • D. Kozen
  • Mathematics, Computer Science
  • 17th Annual Symposium on Foundations of Computer Science (sfcs 1976)
  • 1976
TLDR
A natural characterization of the polynomial time hierarchy of Stockmeyer and Meyer in terms of parallel machines is given, and a generalization of Saviten's result NONDET-L(n)-SPACE ⊆ L(n)2-SPACE is given. Expand
Revised Report on the Algorithmic Language ALGOL 68
TLDR
The definition of a protonotion is a process of transferring a value from one mode to another and then back again, using a computer program to do exactly that. Expand
Theory of Games and Economic Behavior
THIS book is based on the theory that the economic man attempts to maximize his share of the world's goods and services in the same way that a participant in a game involving many players attempts toExpand
Artificial Intelligence
TLDR
The history, the major landmarks, and some of the controversies in each of these twelve topics are discussed, as well as some predictions about the course of future research. Expand
...
1
2
3
...