Richard ZippelSenior Research Associate Dept. of Computer Science, Email: rz@cs.cornell.edu |
The key to effective collaboration is efficient communication. More important than how fast the bits flow between the collaborators, is how much meaning and understanding is shared in each interaction. For scientists and engineers, the most efficient and precise language for interaction has always been mathematics. Whether describing the shape of an object we want to build, how it bends under loading, or some other property, desired or observed we always rely on mathematics specifications. Over the past several years, we have developed a variety of tools and technologies that allow scientists and engineers to collaborate more effectively using mathematics.
The computer algebra substrate Weyl extends the data structures available in Common Lisp to include objects like polynomials, matrices, rational functions, rings, vector spaces, and ideals. The introduction of these new objects into a programming language provides a number of new challenges to the language's type system and provides new opportunities for deductive reasoning, which we are pursuing.
SPL is a programming language that combines both constraint-based programming and imperative programming. However, the constraints can be non-linear algebraic equations, or as complex as partial differential equations. This allows physical phenomena to be specified in a succinct and natural mathematical fashion. A library of program transformation tools has been developed that convert SPL programs in to purely imperative programs, which can then be executed. The specification of a fluid flow problem is only a few lines, although the actual running program that is produced may be tens of thousands.
Technology is needed that allows scientific and engineering information to be exchanged, embedded in mail, placed in data bases, used in Web pages, indexed and used as input to programs as easily as ASCII text is now. Towards this end, we have been developing a simple technology for exchange and embedding mathematical objects of all types, equations, geometric specification and logical formulas, called the MathBus. The MathBus structure is lightweight, language independent and efficient. It embodies, in a sense, a "RISC" approach to inter-application communications. MathBus expressions can be embedded in mail messages and web pages, and cut and pasted between these applications and mathematical tools like Maple and Mathematica.
We are integrating all of these tools to create Active Models. The simplest specification of an artifact is a textual one. But, graphical images of an artifact are better than textual descriptions, and precise geometric models superior to graphical images. Each of these is an increasingly accurate and complete description of the artifact. The limit of this sequence is a mathematical description that not only captures externally visible characteristics of the artifact, but also captures behavior. We call such a description an active model. This is the research of the Active Models in Support of Collaborative Engineering project.
Last revised: August 26, 1998 by CUCS\rz@cs.cornell.edu