Project Summary
- ORGANIZATION
- Computer Science,
Brown University
- SUBCONTRACTORS
- None
- PRINCIPAL INVESTIGATORS
- Eugene Charniak ec@cs.brown.edu 401-863-7601,
- Steven P. Reiss spr@cs.brown.edu 401-863-7641,
- Paris C. Kanellakis pck@cs.brown.edu 401-863-7647
- TEAM MEMBERS
- Thomas W. Doeppner
- Maurice P. Herlihy
- John F. Hughes
- Leslie Kaelbling
- Philip N. Klein
- Robert H.B. Netzer
- Mariane Nodine
- Franco P. Preparata
- John E. Savage
- Roberto Tamassia
- Andries van Dam
- Pascal Van Hentenryck
- Peter Wegner
- Stanley B. Zdonik
- TITLE OF EFFORT
- High Performance Design Environments (HPDE)
EXECUTIVE SUMMARY PARAGRAPH
High Performance Design Environments (HPDE) is a
research effort (7/1/91--6/30/94 extended to 6/30/96), which focuses on the
implementation of efficient multiparadigm design environments and on their use
in the development of high performance applications.
OBJECTIVE
This effort will lead to a new generation of open software
environments (extending systems such as FIELD) with 3D program visualization
tools, advanced languages, parallel debugging, and object store support. The
new environments will facilitate the programming of high performance
applications in: graphics, CAD, operations research and scientific computing.
APPROACH
Our approach involves three facets:
- Research on programming environments for high performance applications,
in particular on new 3D visualization techniques, debugging techniques, and
code optimization methods.
- Research on enhancing the performance of specific programming paradigms
and on linking them with the prototype environment under development (in
particular concurrent constraint-based and concurrent object-oriented
paradigms). This is coupled with the study of dynamic, approximate, and
parallel algorithms.
- Research on key supporting technologies, such as 3D graphics, distributed
operating systems, and multidatabases.
PROGRESS
We have combined in one experimental environment: control and
fragment integration with a common editor appoarch. This is a considerable
extension of the FIELD environments towards the objectives of HPDE. There has
been considerable work on advanced languages, e.g., the NEWTON
constraint-based prototype, on graphics support, and on database tools. In
particular, we have developed a new method for indexing objects in a class
hierarchy that has wide applicability and improves on existing commercial
technology. Another important technology development is broadcast disks: a new
technique for delivering data to clients in asymmetric communication
environments.
PRODUCTS
The FIELD environment has been the basis for a number of
commercial products from DEC, Sun and HP.
FY95 ACCOMPLISHMENTS
A new prototype programming environment based on an inexpensive data
integration mechanism, called ``fragment integration''. The environment
expands upon the concepts of ``control integration'', pioneered in FIELD, by
offering a database that contains information derived from the various
software artifacts. The environment utilizes a ``common editor'' based on the
commercial word-processing system FrameMaker to provide either direct or
live-link based access to the different software tools used to manage software
artifacts. (Also, the completed description of the FIELD environment was
published as a book).
The development of Trim, an interactive 3D graphics research testbed. It uses
the interpreted scripting language called FLESH, developed previously as part
of this effort.
A new constraint language (Newton) and its program to solve nonlinear
constraint systems over the reals. The Newton constraint solver
outperforms other methods in the area (continuation and interval methods)
on most benchmarks. Newton will be the basis for the next generation of
constraint languages.
A new method for indexing objects in a class hierarchy, according to a common
attribute. This method, called indexing by class-division, is based on
standard B-tree technology and offers an order of magnitude performance
improvement over previous techniques (used in all commercial oodbs).
The development of broadcast disk technology. Broadcast disks are a technique
for delivering data to clients in asymmetric communication environments. The
technique is based on the notion of cyclical broadcast of data in advance of
any client request. We have developed a scheme for structuring such a disk in
which pages can be broadcast with different frequencies, and we have designed
cache management policies that are closely coupled with the broadcast program.
FY 96 EVENTS
We expect to continue the development of an environment with control, fragment
and common editor integration over the coming year. Our current system is
implemented as a set of tools and an API for FrameMaker. Once the system
becomes stable and usable by other researchers, probably by the end of the
calendar year, we hope to make an experimental version available to other
researchers via ftp.
We plan to extend our previous work on 3D software visualization to provide a
front end for viewing a wide variety of information about the static and
dynamic behaviour of a system. This work will concentrate on improving the
quality of the presentations, implementing new information sources that show
promise as visualization sources, and developing a common visual front end for
defining queries and presentations simultaneously.
We plan to continue our constraint programming language, 3D graphics and
database infrastructure work. In particular, the broadcast disk technology
could have both military and commercial spin-offs, because of its impact on
mobile computing applications.
PUBLICATIONS
S. Achyra, R. Alosno, M. Franklin, S. Zdonik. Broadcast Disks: Data
Management for Asymmetric Communication Environments. ACM SIGMOD Symposium on
the Management of Data, San Jose CA USA, May 1995.
J. Aspnes, M.P. Herlihy, and N. Shavit. Counting Networks. Journal of the
ACM, 41(5): pp 1020--1048, September 1994.
F. Benhamou, D. McAllester, and P. Van Hentenryck CLP(Intervals) Revisited
Proceedings of the International Logic Programming Symposium (ILPS-94),
Ithaca, NY, November 1994
G. Bilardi, F.P. Preparata. Horizons of Parallel Computation. Journal of
Parallel and Distributed Computing, 27,2,172-182, June 1995.
G. Bilardi, F.P. Preparata. Upper Bounds to Processor-Time Tradeoffs under
Bounded-Speed Message Propagation. Proceedings - SPAA 95, 7th Annual Symposium
on Parallel Algorithms & Architectures, July 16-18, 1995
Y.-J. Chiang, M.T. Goodrich, E.F. Grove, R. Tamassia, D.E. Vengroff and J.S. Vitter.
External-Memory Graph Algorithms.
Proc. ACM-SIAM Symp. on Discrete Algorithms (1995).
M. Das, T. Reps, and P. Van Hentenryck Semantic Foundations of Binding-Time
Analysis for Imperative Programs ACM Symposium on Partial Evaluation and
Semantic-based Program Manipulation (PEPM-95), La Jolla, CA, June 1995.
G. Di Battista, A. Garg, G. Liotta, R. Tamassia, E. Tassinari and F. Vargiu.
An Experimental Comparison of Three Graph Drawing Algorithms.
Proc. ACM Symp. on Computational Geometry (1995).
P.F. Fischer, F.P. Preparata, J.E. Savage. Generalized Scans and Tri-Diagonal
Systems. Procs. 12th Annl. Symp. on Th. Aspects of Computer Science.
M.P. Herlihy and S. Rajsbaum. Set Consensus Using Arbitrary Objects. 12th
Annual ACM Symposium on Principles of Distributed Systems
K.P. Herndon, T. Meyer. 3D Widgets for Exploratory Scientific Visualization.
Proceedings of UIST '94, ACM SIGGRAPH, November, 1994, pp. 69-70.
P.C. Kanellakis, D. Michailidis, A.A. Shvartsman. Concurrency =
Fault-Tolerance in Parallel Computation. 5th International Conference on
Concurrency Theory, in LNCS 836, Uppsala Sweden, pp. 242--266, August 1994.
P.C. Kanellakis, G. Hillebrand, H.G. Mairson. An Analysis of Core-ML:
Expressive Power and Type Inference. International Colloquium on Automata,
Languages and Programming, in LNCS 820, Jerusalem Israel, pp. 83--105, July
1994.
P. Klein, D. Karger, R.E. Tarjan A randomized linear-time algorithm for
finding a minimum spanning tree. Journal of the ACM, Vol. 42 (1995), pp.
321-328.
M. Loughlin, J.F. Hughes. An Annotation system for 3D Fluid Flow
Visualization, Proceedings of Visualization '94, pp. 273-279, Washington, DC,
Oct. 1994.
P. B. Miltersen, S. Subramanian, J. S. Vitter, R. Tamassia.
Complexity Models for Incremental Computation.
Theoretical Computer Science, vol. 130, pp. 203-236 (1994).
S. Ramaswamy, P.C., Kanellakis. OODB Indexing by Class-Division. ACM SIGMOD
Symposium on the Management of Data, San Jose CA USA, May 1995.
S. P. Reiss. 3D visualization of Program Information. Graph Drawing '94.
S. P. Reiss. Fragments: a mechanism for low cost data integration.
Tech Report, Brown University Dept of Computer Science
S. P. Reiss. An engine for the 3D visualization of program information J.
Visual Languages (to appear 95)
S. P. Reiss FIELD: A Friendly Integrated Environment for Learning and
Development Kluwer, 1994.
M.P. Stevens, R.C. Zeleznik, J.F. Hughes. An Architecture for an Extensible 3D
Interface Toolkit. Proceedings of UIST '94, ACM SIGGRAPH, November, 1994.
S. Subramanian and T. Leung and S. Vandenberg and S. Zdonik
The AQUA Approach to Querying Lists and Trees in Object-Oriented Databases
Proceedings of the International Conference on Data Engineering
P. Van Hentenryck, D. McAllester, and D. Kapur Solving Polynomial Systems
Using a Branch and Prune Approach SIAM Journal on Numerical Analysis (To
Appear)
P. Van Hentenryck, A. Cortesi, and B. Le Charlier Evaluation of the Domain
Prop Journal of Logic Programming, 22(3):179-208, March 1995
P. Van Hentenryck, A. Cortesi, and B. Le Charlier Type Analysis of Prolog
using Type Graphs Journal of Logic Programming, 22(3):179-208, March 1995
P. Wegner. Interaction as a framework for Empirical Computer Science,
Computing Surveys, March 1995.
TECHNOLOGY TRANSITION
Considerable use is made by universities and research laboratories of the
software prototypes developed through this (and its predecessor) DARPA
efforts. The
John Bazik jsb@cs.brown.edu
401-863-7624. Since June 1990 (when our accounting was put in place) there
are the following statistics:
- FIELD programming environment of Steven Reiss
at 703 sites. Most often
used by the C++ community since it was the first reasonable debugging
environment available. FIELD has also been licensed by DEC and is being
distributed by them as DEC FUSE.
- IDYL dynamic loader of Steven Reiss at
283 sites.
- GARDEN visual programming environment of Steven
Reiss at 378 sites.
- ENCORE oodb of Stanley Zdonik at 620 sites.
- SPHIGS and SRGP graphics packages of Andy van
Dam mostly used in conjunction with his book at 3701 sites and 4072 sites.
- THREADS packages of Tom Doeppner 30 sites with
UNIX licenses and 642 sites for version that requires no special license.
- FIX is Pascal Van Hentenryck's new general
abstract interpreter at 99 sites.
SIGNIFICANT EVENTS
INTEGRATION IN PROGRAMMING ENVIRONMENTS: CONTROL, FRAGMENTS,
COMMON EDITOR
Over the past year Steve Reiss and his students
have been developing a
prototype of a new programming environment based on an inexpensive data
integration mechanism called fragment integration. The environment expands
upon the concepts of control integration, pioneered in FIELD, by offering a
database that contains information derived from the various software
artifacts. This information is organized in terms of fragments, semantically
significant portions of the original artifacts, and includes the information
to identify and associate fragments based on syntactic and semantic
information. The environment utilizes a common editor based on the commercial
word-processing system FrameMaker to provide either direct or live-link based
access to the different software tools used to manage different software
artifacts. In addition to providing a central framework for accessing all
software artifacts, the environment allows us to establish both static and
dynamic links among the artifacts, preserves openness in terms of languages
and support for existing tools and systems, and supports the notion of a
fragment file. Fragment files contain sets of related fragments that have
been extracted from their original source file. When they are saved, the
modified fragments are inserted into the original locations. The overall
approach is a significant extension of the FIELD programming environment.
BROADCAST DISKS
Broadcast disks are a technique developed by Stan
Zdonik and his co-authors
for delivering data to clients in asymmetric communication environments. The
technique is based on the notion of cyclical broadcast of data in advance of
any client request. Zdonik and his co-authors has developed a scheme for
structuring such a disk in which pages can be broadcast with different
frequencies, and has designed cache management policies that are closely
coupled with the broadcast program. These results should generalize to
account for update in a broadcast-based environment (this is work in
progress). A working partnership with Intel and IBM has been developed in
this area.
DATE PREPARED: July 7, 1995
Kathy Kirman