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
- TITLE OF EFFORT
- High-Performance Design Environments (HPDE)
OBJECTIVE
High Performance Design Environments (HPDE) is a three year
research effort (7/1/91--6/30/94), which focuses on the implementation of
efficient multiparadigm design environments and on their use in the
development of high performance applications. 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, 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 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
graphics, distributed operating systems, and multidatabases.
PROGRESS
A number of key components of our HPDE prototype environment have
been developed: in particular the PLUM system for 3D visualizations and the
VMON analysis and debugging component. There has been considerable work on
advanced languages (e.g., new object-oriented and functional languages, and
the CCEL and cc(FD) constraint-based prototypes), on parallel debugging
support, on graphics support, and on database tools (e.g., the MONGREL
multidatabase and the EPOQ optimizer). There has been significant progress on
algorithmic methods including: dynamic algorithms, approximation algorithms
for combinatorial optimization, parallel computing and hierarchical learning.
FY93 ACCOMPLISHMENTS
Steven Reiss and his students have been working on the
framework and tools for a new prototype HPDE. They have developed three
prototype systems over the past year.
(a) The first, PLUM, is designed as the
backbone of the program visualization efforts. This new 3D visualization tool
is one of the significant events of this year's work (see first significant
event below).
(b) The second prototype system, VMON, is designed to provide
run time information for program visualization, analysis, and debugging. The
system dynamically modifies the executable and its shared libraries to
generate, store and analyze trace information. The implementation provides
memory typestate checking ala Purify and linkage to the FIELD programming
environment for fast function and line tracing.
(c) The third is the design
and implementation of the language CCEL, a constraint-based version of C++.
The relevant publications in this area are [12,30,34,42-45].
Much has been accomplished on debugging tools, operating system support and
optimization techniques that are critical for HPDE efficiency. (a) In
debugging tools, Robert Netzer and his students have addressed tracing to
support execution replay in both shared-memory and message-passing systems.
The techniques reduce trace requirements by orders of magnitude over past
work. The relevant publications are [36-37,67]. (b) In operating systems
support, Tom Doeppner has improved the Brown Threads package so that its
I/O efficiency rivals that of OS-supported threads packages. (c) In
optimization techniques, Stan Zdonik and his students have designed (and
are currently testing) the extensible optimization architecture EPOQ for
heterogeneous oodbs [31,35,50].
In the area of languages: (a) Peter Wegner has published extensively on
object-oriented modeling (both books and articles) with particular emphasis on
concurrency and reactiveness [1,51,57-66]. He has, (in an article with Ceri and
Wiederhold) formalized the notion of megaprogramming. He is developing a
framework for component-based systems, which are interactive, open,
distributed, and suited to modeling changing application domains. (b) In the
area of constraint-based languages, Pascal Van Hentenryck has completed the
final design and implementation of the constraint language cc(FD) (see second
significant event below). Extensive research was conducted on constraint
programming concepts see [8-9,11,13,19,28-29,53-56].
In the area of databases: (a) Paris Kanellakis and his students developed a
new framework for functional query languages in databases (see third significant
event below) [18]. (b) Paris Kanellakis, Jeff Vitter and their students
developed new indexing algorithms with improved I/O performance [22]. (c) Jeff
Vitter and his students have new prefetching techniques, with applications to
CAD and very promising benchmark performance [10]. (d) Stan Zdonik and his
students have augmented the Interactions transaction mechanism for concurrency
and recovery in multidatabases with new reactive features [38-39,68].
In the area of graphics: Andries van Dam, John Hughes and their graphics group
made the UGA 3D interactive illustration development environment more
powerful, flexible, and usable through significant enhancements to the FLESH
scripting language. They have developed an interactive toolkit to facilitate
the visual programming of the geometry and behavior of interactive 3D user
interfaces. In the virtual environments area, the graphics group has also been
involved in developing algorithms and software for improved tracking
technology. In related projects, the graphics group began investigating 3D
user interfaces for virtual environments (in conjunction with NASA's Virtual
Windtunnel project) and developing multiprocessor graphics applications. The
relevant publications are [7,16,17,52,69].
Much has been accomplished in new algorithmic techniques which have applications
to HPDE. (a) John Savage completed two projects in the last year. The first is
a study of space-time tradeoffs in multi-level memory hierarchies [48], and the
second is a formalization of heterogeneous supercomputing called the Mesh
SuperHet model with tight performance bounds for many key problems [49].
(b) Roberto Tamassia and his students have developed new dynamic algorithms for
basic geometric problems such as point location and ray shooting. They have
developed new shortest path algorithms and new notions of incremental complexity
[2-6,14-15,46-47]. (c) Philip Klein and his students have developed new
algorithms for approximation problems in network optimization [23-27,32,40-41].
He has also collaborated with Robert Netzer on some new debugging algorithms
[33]. (d) Leslie Kaelbling has developed the first hierarchical algorithm for
learning from reinforcement in stochastic domains [20-21].
FY-94 PLANS
Realizing a prototype HPDE, which will integrate tools such as
the PLUM, VMON, CCEL systems described above and an object store.
New parallel debugging tools that will be integrated into the HPDE. OSF's DCE
will be used to experiment with distributed object-oriented programming.
Design and implementation of efficient constraint programming languages
and constraint query languages. Research planned on both user interface
and efficient use of secondary storage.
Advances are expected in: 4D graphics, mobile workstation technology,
multidatabases, approximation and dynamic/parallel algorithms.
PUBLICATIONS
For the list of 69 publications partly supported see appendix.
TECHNOLOGY TRANSITION
Considerable use is made by universities and research
laboratories of the software prototypes developed through this (and its
predecessor) DARPA efforts. The distribution of software has been centralized
in the department and the responsible systems staff member is John Bazik
jsb@cs.brown.edu 401-863-7624. Since June 1990: (1) FIELD programming
environment of Steven Reiss at 571 sites. (2) IDYL dynamic loader of Steven
Reiss at 265 sites. (3) GARDEN visual programming environment at 255 sites.
(4) ENCORE oodb of Stanley Zdonik at 454 sites. (5) SPHIGS and SRGP graphics
packages of Andy van Dam mostly used in conjunction with his book at 1991
sites and 2129 sites. (6) THREADS packages of Tom Doeppner 30 sites with UNIX
licenses and 424 sites for version that requires no special license. (7) FIX
is Pascal Van Hentenryck's new general abstract interpreter at 41 sites. (8)
The AARD memory analysis debugging tool 262 sites.
- DATE PREPARED
- July 2 1993
APPENDIX: PUBLICATION LIST
- G. Agha, P. Wegner, and A. Yonezawa (eds.).
"Research Directions in Concurrent Object-Oriented Programming."
MIT Press 1993.
- P. Bertolazzi, R.F. Cohen, G. Di Battista, R. Tamassia, and I.G. Tollis.
"How to Draw a Series-Parallel Digraph."
Proceedings of the Workshop on Algorithm Theory (SWAT '92),
Springer LNCS 621, 1992.
- Y.-J. Chiang and R. Tamassia.
"Dynamization of the Trapezoid Method for Planar Point Location in
Monotone Subdivisions."
Int. J. of Computational Geometry & Applications, 1992.
- Y.-J. Chiang, F.P. Preparata, and R. Tamassia.
"A Unified Approach to Dynamic Point Location, Ray Shooting and
Shortest Paths in Planar Maps."
Proceedings of the ACM-SIAM Symposium on Discrete Algorithms, 1993.
- R.F. Cohen, G. Di Battista, A. Kanevsky, and R. Tamassia.
"Reinventing the Wheel: An Optimal Data Structure for Connectivity
Queries."
Proceedings of the 25th ACM Symposium on the Theory of Computing (STOC
'93), San Diego, April 1993.
- R.F. Cohen, S. Sairam, R. Tamassia, and J.S. Vitter.
"Dynamic Algorithms for Optimization Problems in Bounded Tree-Width
Graphs."
Proceedings of the Third Integer Programming and Combinatorial
Optimization Conference, 1993.
- D. Brookshire Conner and Andries van Dam.
"Sharing Between Graphical Objects Using Delegation."
Proceedings of the Third Eurographics Workshop on Object-Oriented Graphics,
October 1992.
- Isabel F. Cruz.
"Using a Visual Constraint Language for Data Display Specification."
Proceedings of the First Workshop on Principles and Practice of Constraint
Programming (PPCP '93), Newport, April 1993.
- Isabel F. Cruz, Roberto Tamassia, and Pascal Van Hentenryck.
"A Visual Approach to Graph Drawing."
To appear in Proceedings of Graph Drawing '93, Paris, September 1993.
- K. M. Curewitz, P. Krishnan, and J. S. Vitter.
"Practical Prefetching via Data Compression."
Proceedings of the 1993 ACM SIGMOD International Conference on Management
of Data (SIGMOD '93), Washington, May 1993.
- O. Degimbe, B. Le Charlier, L. Michel, and P. Van Hentenryck.
"Practical Efficiency of Three General Purpose Fixpoint ALgorithms
Applied to the Abstract Interpretation of Prolog."
Proc. WSA '93, Padova, September 1993.
- Carolyn K. Duby, Scott Meyers, and Steven P. Reiss.
"Constraining the Structure and Style of Object-Oriented Programs."
Proceedings of the First Workshop on Principles and Practice of Constraint
Programming (PPCP '93), Newport, April 1993.
- V. Englebert, B. Le Charlier, D. Roland, and P. Van Hentenryck.
"Generic Abstract Interpretation Algorithms for Prolog: Two Optimization
Techniques and Their Experimental Evaluation."
Software Practice and Experience, 23(4), April 1993.
- A. Garg, M.T. Goodrich and R. Tamassia.
"Area-Efficient Upward Tree Drawings."
Proceedings of the ACM Symposium on Computational Geometry, 1993.
- M.T. Goodrich and R. Tamassia.
"Dynamic Ray Shooting and Shortest Paths via Balanced Geodesic
Triangulations."
Proceedings of the ACM Symposium on Computational Geometry, 1993.
- Stefan Gottschalk and John F. Hughes.
"Autocalibration for Virtual Environments Tracking Hardware."
To appear in Proc. SIGGRAPH '93, August 1993.
- Kenneth P. Herndon, Robert C. Zeleznik, Daniel C. Robbins, D.
Brookshire Conner, Scott S. Snibbe, and Andries van Dam.
"Interactive Shadows."
Proc. UIST '92, November 1992.
- G. Hillebrand, P.C. Kanellakis, and H.G. Mairson.
"Database Query Languages Embedded in the Typed Lambda Calculus."
Proceedings of the Eighth IEEE Symposium on Logic in Computer Science
(LICS '93), Montreal, June 1993.
- J.L. Imbert and P. Van Hentenryck.
"Efficient Handling of Disequations in Linear Rational Arithmetic."
To appear in "Constraint Logic Programming: Selected Research,"
MIT Press, 1993.
- Leslie Pack Kaelbling.
"Hierarchical Reinforcement Learning: Preliminary Results."
Proceedings of the Tenth International Conference on Machine Learning,
1993.
- Leslie Pack Kaelbling.
"Learning to Achieve Goals."
Proceedings of the Thirteenth International Joint Conference on
Artificial Intelligence, 1993.
- P.C. Kanellakis, S. Ramaswamy, D.E. Vengroff, and J.S. Vitter.
"Indexing for Data Models with Constraints and Classes."
Proceedings of the Twelfth ACM Symposium on the Principles of Database
Systems (PODS '93), Washington, May 1993.
- Philip N. Klein, Serge Plotkin, and Satish Rao.
"Excluded Minors, Network Decomposition, and Multicommodity Flow."
Proceedings of the 25th ACM Symposium on Theory of Computing (STOC '93),
San Diego, April 1993.
- Philip N. Klein and R. Ravi.
"A Nearly Best-Possible Approximation Algorithm for Node-Weighted
Steiner Trees."
Proceedings of the Third Symposium on Integer Programming and
Combinatorial Optimization, 1993.
- Philip N. Klein and R. Ravi.
"When Cycles Collapse: A General Approximation Technique for
Constrained Two-Connectivity Problems."
Proceedings of the Third Symposium on Integer Programming and
Combinatorial Optimization, 1993.
- Philip N. Klein and Sairam Sairam.
"Fully Dynamic Approximation Schemes for Shortest Path Problems in
Planar Graphs."
To appear in Proceedings of the Workshop on Algorithms and Data
Structures (WADS '93), 1993.
- Philip N. Klein.
"On Gazit and Miller's Parallel Algorithm for Planar Separators:
Achieving Greater Efficiency Through Random Sampling."
To appear in Proceedings of the Fifth ACM Symposium on Parallel
Algorithms and Architectures, 1993.
- B. Le Charlier and P. Van Hentenryck.
"Reexecution in Abstract Interpretation of Prolog."
International Joint Conference and Symposium on Logic Programming,
Washington, November 1992.
- B. Le Charlier and P. Van Hentenryck.
"Experimental Evaluation of an Abstract Interpretation Algorithm for
Prolog."
To appear in ACM Transactions on Programming Languages and Systems.
- Moises Lejter, Scott Meyers, and Steven P. Reiss.
"Support for Maintaining Object-Oriented Programs."
IEEE Transactions on Software Engineering, December 1992.
- T. Leung et. al.
"The AQUA Data Model and Algebra."
Proceedings of the Fourth International Workshop on Database
Programming Languages, New York, September 1993.
- Hsueh-I Lu and R. Ravi.
"The Power of Local Optimization: Approximation Algorithms for
Maximum-Leaf Spanning Tree."
Proceedings of the Thirteenth Allerton Conference on Communication,
Control and Computing, 1992.
- Hsueh-I Lu, Philip N. Klein, and Robert H. B. Netzer.
"Detecting Race Conditions in Parallel Programs That Use One Semaphore."
To appear in Proceedings of the Workshop on Algorithms and Data Structures
(WADS '93), 1993.
- Scott Meyers and Steven P. Reiss.
"An Empirical Study of Multiple-View Software Development."
Proceedings of the Fifth ACM Symposium on Software Development
Environments (ACM SIGSOFT '92), December 1992.
- G. Mitchell, U. Dayal, and S. Zdonik.
"Control of an Extensible Query Optimizer: A Planning Based Approach."
Proc. VLDB '93, August 1993.
- Robert H.B. Netzer.
"Trace Size vs. Parallelism in Trace-and-Replay Debugging of
Shared-Memory Programs."
To appear in Proceedings of the Sixth Workshop on Languages and
Compilers for Parallelism, Portland, Oregon, August 1993.
(Also
Techreport 93-27,
Brown University, May 1993.)
- Robert H.B. Netzer and Jian Xu.
"Adaptive Message Logging for Incremental Replay of Message-Passing
Programs."
To appear in Supercomputing '93, Portland, Oregon, November 1993.
(Also
Techreport 93-26,
Brown University, May 1993.)
- Marian Nodine.
"Supporting Long-Running Tasks on an Evolving Multidatabase Using
Interactions and Events."
Proceedings of the Second International Conference on Parallel and
Distributed Information Systems, January 1993.
- Marian Nodine.
"Interactions: Multidatabase Support for Planning Applications."
PhD Thesis, Brown University, May 1993.
- R. Ravi, Balaji Raghavachari, and Philip N. Klein.
"Approximation Through Local Optimality: Designing Networks with Small
Degree."
Proceedings of the Twelfth Annual Conference on Foundations of Software
Technology and Theoretical Computer Science, Springer LNCS 652, 1992.
- R. Ravi, M. V. Marathe, S. S. Ravi, D. J. Rosenkrantz, and H. B. Hunt III.
"Many Birds With One Stone: Multi-Objective Approximation Algorithms."
Proceedings of the 25th ACM Symposium on Theory of Computing (STOC '93),
San Diego, April 1993.
- Steven P. Reiss.
"Program Visualization: Where We Go From Here."
Proc. Information Processing 92, pp. 218-227, September 1992.
- Steven P. Reiss.
"Trace-based debugging."
Proc. AADEBUG '93, May 1993.
- Steven P. Reiss.
"A Framework for Abstract 3D Visualization."
To appear in Proc. VL'93, August 1993.
- Steven P. Reiss.
"Presentation and Editing of Structured 3D Graphics."
To appear in Proc. HCI '93, August 1993.
- S. Sairam, R. Tamassia, and J.S. Vitter.
"A Divide and Conquer Approach to Shortest Paths in Planar Layered
Digraphs."
Proceedings of the IEEE Symposium on Parallel and Distributed
Processing, 1992.
- S. Sairam, J.S. Vitter, and R. Tamassia.
"A Complexity Theoretic Approach to Incremental Computation."
Proceedings of the Symposium on Theoretical Aspects of Computer Science
(STACS '93), Springer LNCS 665, 1993.
- J.E. Savage.
"Space-Time Tradeoffs in Memory Hierarchies."
Technical Report 93-08,
Brown University, February 1993.
- J.E. Savage.
"Limits on Heterogeneous Supercomputing."
Technical Report 93-19,
Brown University, June 1993.
- B. Subramanian et. al.
"Ordered Types in the AQUA Data Model."
Proceedings of the Fourth International Workshop on Database
Programming Languages, New York, September 1993.
- M. Tokoro, O. Nierstrasz, and P. Wegner (eds.).
"Object-Based Concurrent Computing."
Springer LNCS 612, 1992.
- Tom J. True and John F. Hughes.
"Volume Morphing."
Proceedings Visualization '92, October 1992.
- P. Van Hentenryck, Y. Deville and C.M. Teng.
"A Generic Arc Consistency Algorithm and its Specializations."
Artificial Intelligence, 57(2-3), October 1992.
- P. Van Hentenryck, H. Simonis and M. Dincbas.
"Constraint Satisfaction using Constraint Logic Programming."
Artificial Intelligence, 58(1), November 1992.
- P. Van Hentenryck.
"Scheduling and Packing in the Constraint Language cc(FD)."
To appear in "Intelligent Scheduling," Morgan Kaufman, 1993.
- P. Van Hentenryck and Y. Deville.
"The Cardinality Operator: A new Logical Connective and its Application
to Constraint Logic Programming."
To appear in "Constraint Logic Programming: Selected Research,"
MIT Press, 1993.
- P. Wegner.
"Reusability Considered Harmful."
Technical Report, Brown University, November 1989.
- P. Wegner.
"Design Issues for Object-Oriented Concurrency."
In Tokoro, Nierstrasz, Wegner (eds.), "Object-Based Concurrent Programming,"
Springer LNCS 612, 1992.
- P. Wegner.
"Object-Based Versus Logic Programming."
Proceedings of the International Conference on Fifth-Generation Computing,
Tokyo, June 1992.
- P. Wegner.
"Dimensions of Object-Oriented Modeling."
IEEE Computer, October 1992.
- P. Wegner.
"Ada Pro and Con."
Proc. 1992 Tri-Ada, November 1992.
- P. Wegner.
"Tradeoffs between Reasoning and Modeling."
In G. Agha, P. Wegner, A. Yonezawa (eds.), "Research Directions in
Concurrent Object-Oriented Programming," MIT Press 1993.
- P. Wegner.
"Reasoning and Modeling Paradigms are Incompatible."
Proc. 1993 Hawaii System Conference, Hawaii, 1993.
- P. Wegner.
"Towards Component-Based Software Technology."
Technical Report 93-11, Brown University, June 1993.
- P. Wegner.
"Reasoning, Modeling, and Component-Based Technology."
Proceedings of the Fourth International Conference on Logic Programming
and Automated Programming, St. Petersburg, July 1993.
(Invited talk.)
- G. Wiederhold, P. Wegner, and S. Ceri.
"Towards Megaprogramming."
CACM, November 1992.
- Jian Xu and Robert H.B. Netzer.
"Adaptive Independent Checkpointing for Reducing Rollback Propagation."
Technical Report 93-25,
Brown University, May 1993.
- S. Zdonik.
"Incremental Database Systems: Databases From the Ground Up."
Proceedings of the 1993 ACM SIGMOD International Conference on
Management of Data (SIGMOD '93), Washington, May 1993.
- Robert C. Zeleznik, Kenneth P. Herndon, Daniel C. Robbins, Nate Huang,
Tom Meyer, Noah Parker and John F. Hughes.
"An Interactive 3D Toolkit for Constructing 3D Widgets."
To appear in Proc. SIGGRAPH '93, August 1993.
SIGNIFICANT EVENTS
- DESIGN AND IMPLEMENTATION OF PLUM: A 3D PROGRAM VISUALIZATION TOOL
Steven Reiss has developed PLUM, a system that provides a flexible framework
to support a wide range of 3D visualizations of program structures. This
framework allows the definition and integration of different visualization
strategies such as graphs in 2 and 3 dimensions, tagged objects, scatter
plots, file representations, constraint-based tilings, simple objects, and
time-sequence representations. Both the framework and a variety of different
strategies to demonstrate its utility have been implemented.
- DESIGN AND IMPLEMENTATION OF THE CONSTRAINT-BASED LANGUAGE
cc(FD)
In the area of constraint-based languages, Pascal Van Hentenryck has completed
the final design and implementation of the constraint language cc(FD). This
(concurrent constraint with finite domains) system was applied to novel
applications such as frequency allocation for mobile telephones, scheduling in
digital scheduling applications, and two dimensional packing. The language
will be distributed at the end of the summer.
- A SIMPLE FUNCTIONAL FRAMEWORK FOR DATABASE QUERY LANGUAGES
Paris Kanellakis and his students have shown in [18] how to efficiently embed
in a typed functional setting a very broad spectrum of database query
languages. This spectrum includes most relational and complex object
database languages that have been defined to date. The proof techniques shed
new light on the capabilities of the simply typed lambda calculus, which is a
basic programming language type system in current use.
John Bazik