Introduction to the SIGMA Project


Over the past 30 years, scientific software models have played an increasingly prominent role in the conduct of science. Unfortunately, scientific models can be difficult and time-consuming to implement, and there is little software engineering support specifically available for constructing scientific models.

In response to the needs of scientific modelers, we have developed SIGMA, a knowledge-based visual programming environment that assists scientists in prototyping scientific models. SIGMA utilizes artificial intelligence techniques to automate parts of the scientific software development process. With a specialized graphical user interface , the scientist constructs a high-level visual specification that captures the essential computational dependencies to be expressed in the desired model. The visual specification takes the form of a data flow diagram that illustrates how desired quantities are calculated from known quantities by the application of a sequence of modeling equations. Using extensive semantic knowledge about the scientific domain and the modeling equations, the system automatically fills in missing details of the model specification and ensures that the model being built is consistent and coherent. The final product is an executable prototype of a scientific model.

As an integral part of our tool, we have developed an object-oriented knowledge base containing information about scientific quantities and constants, scientific domain entities, scientific equations, and scientific units. Our tool can be considered a kind of scientific model-building "shell". We provide a model-building framework, a graphical user interface, and a reusable knowledge base of science knowledge. Shell users must build upon the knowledge base, adding knowledge pertinent to their modeling task. We have conducted this work in three different testbed domains at NASA. In each case, we have reconstructed working models that were originally developed in FORTRAN using our tool.

On the face of it, our tool looks like any one of several data flow based data analysis and visualization tools on the market today (e.g., LabView, STELLA/IThink, Khoros, SGI Explorer, etc.). However, these tool do not "understand" anything about the scientific domain they are being used to model. As such, these tools can provide little or no assistance to the user in making semantically-based modeling decisions -- e.g., decisions about which modeling equations are appropriate to solving a given modeling task.

The primary contribution we make with our tool is to extend the notion of a scientific model beyond simply a set of equations, so that it includes a description of the underlying "modeling scenario". A modeling scenario describes the experimental situation in which the equations are being applied. The modeling scenario is represented by an object-oriented description. Each of the quantities included in the data flow specification built by the user is grounded in terms of some attribute of an object described in the modeling scenario. This connection between equations and the real-world situation being modeled provides essential information necessary to provide intelligent support for the scientific user's modeling and analysis activities.


SIGMA Home Page

Maintained by Rich Keller (keller@ptolemy.arc.nasa.gov).

Last Modified: 5/12/95