7 research outputs found
Parallelism in declarative languages
Imperative programming languages were initially built for uniprocessor systems that evolved out of the Von Neumann machine model. This model of storage oriented computation blocks parallelism and increases the cost of parallel program development and porting. Declarative languages based on mathematical models of computation, seem more suitable for the development of parallel programs. In the first part of this thesis we examine different language families under the declarative paradigm: functional, logic, and constraint languages. Functional languages are based on the abstract model of functions and (lamda)-calculus. They were initially developed for symbolic computation, but today they are commonly used in numerical analysis and many other application areas. Pure lisp is a widely known member of this class. Logic languages are based on first order predicate calculus. Although they were initially developed for theorem proving, fifth generation operating systems are written in them. Most logic languages are descendants or distant relatives of Prolog. Constraint languages are related to logic languages. In a constraint language you define a program object by placing constraints on its structure and its behavior. They were initially used in graphics applications, but today researchers work on using them in parallel computation. Here we will compare and contrast the language classes above, locate advantages and deficiencies, and explain different choices made by language implementors. In the second part of thesis we describe a front end for the CONSUL, a prototype constraint language for programming multiprocessors. The most important features of the front end are compact representation of constraints, type definitions, functional use of relations, and the ability to split programs into multiple files
First Annual Workshop on Space Operations Automation and Robotics (SOAR 87)
Several topics relative to automation and robotics technology are discussed. Automation of checkout, ground support, and logistics; automated software development; man-machine interfaces; neural networks; systems engineering and distributed/parallel processing architectures; and artificial intelligence/expert systems are among the topics covered
Modeling with Metaconstraints and Semantic Typing of Variables
Recent research in hybrid optimization shows that a combination of technologies that exploits their
complementary strengths can signi cantly speed up computation. The use of high-level metaconstraints
in the problem formulation can achieve a substantial share of these computational gains by better
communicating problem structure to the solver. During the solution process, however, metaconstraints
give rise to reformulations or relaxations that introduce auxiliary variables, and some of the variables in
one metaconstraint's reformulation may be functionally the same as or related to variables in another
metaconstraint's reformulation. These relationships must be recognized to obtain a tight overall relaxation.
We propose a modeling scheme based on semantic typing that systematically addresses this problem while
providing simpler, self-documenting models. It organizes the model around predicates and declares variables
by associating each with a predicate through a keyword that is analogous to a database query. We present
a series of examples to illustrate this idea over a wide variety of applications