Abstract
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. Because these models are not easily specified to scientifically-naive programmers, and because the scientist requires intimate knowledge of the code to conduct experiments, many scientists implement their own models. This coding activity takes valuable time away from their primary scientific mission. We have developed a knowledge-based software development tool that assists scientists in prototyping scientific models. With a specialized graphical user interface, the scientist constructs a high-level visual specification that captures the essential computational dependencies in the desired model. The system uses its scientific domain knowledge to ensure that the model being built is consistent and coherent. The final product is an executable prototype of a scientific model. Our tool accelerates the model-building process and eliminates the scientist's need to program in a formal language. Furthermore, the models developed with this tool are easier to understand and reuse than typical low-level scientific modeling code. At present, models developed with our system are restricted to those involving non-coupled algebraic and first order ordinary differential equations. Research is ongoing to lessen this restriction and support models with simultaneous equations.
Similar content being viewed by others
References
Abelson, H., Eisenberg, M., Halfant, M., Katzenelson, J., Sacks, E., Sussman, G. J., Wisdom, J., and Yip, K. 1989. Intelligence in Scientific Computing.Communications of the ACM, 32(5):546–562.
Addanki, S., Cremonini, R., and Penberthy, J. S. 1991. Graphs of models.Artificial Intelligence, 51(1–3):145–177.
apE. 1992. Software product. In Columbus, OH: Ohio Supercomputer Center.
Atwood, W., Blankenbecler, R., Kunz, P. F., Mours, B., and Weir, A. 1990.The Reason Project No. SLAC-PUB-5242. Stanford Linear Accelerator Center.
AVS. 1992. Software product. Sunnyvale, CA: Stardent Computer, Inc.
Barstow, D. 1985. Domain-Specific Automatic Programming.IEEE Transactions on Software Engineering, SE-11(11):1321–1336.
Barstow, D., Duffey, R., Smoliar, S., and Vestal, S. 1982. An overview of Φnix. InNational Conference on Artificial Intelligence, pp. 367–369. Pittsburgh, PA: AAAI Press.
Borning, A. 1981. The programming language aspects of ThingLab, a constraint-oriented simulation laboratory.ACM Transactions on Programming Languages and Systems, 3(4):357–387.
Char, B. W. 1988.Maple Users Guide. Waterloo, Ontario: WATCOM Publications.
Cook, G. O., Jr. 1990. ALPAL, A program to generate physics simulation codes from natural descriptions.International Journal of Modern Physics C, 1(1):1–51.
Davis, A. L., and Keller, R. M. 1982. Data flow program graphs.IEEE Computer, February: 26–41.
Dungan, J. L., and Keller, R. 1991. Development of an advanced software tool for ecosystem simulation modelling (abstract).Bulletin of the Ecological Society of America, 72(2):104.
Extend. 1992. Software product. San Jose, CA: Imagine That, Inc.
Falkenhainer, B., and Forbus, K. 1991. Compositional modeling: Finding the right model for the job.Artificial Intelligence, 51(1–3):95–143.
Filman, R. E. 1988. Reasoning with worlds and truth maintenance in a knowledge-based programming environment.Communications of the ACM, 31(4):382–401.
Ford, B., and Chatelin, F. (Eds.). 1987.Problem Solving Environments for Scientific Computing. North-Holland.
Forrester, J. W. 1961.Industrial Dynamics. Cambridge: MIT Press.
Glinert, E. (Ed.). 1990.Visual Programming Environments. Los Alamitos: IEEE Computer Society Press.
Guha, R. V. 1991Contexts: A formalization and some applications. Ph.D., Stanford University Computer Science Department.
Guha, R. V., and Lenat, D. B. 1990. Cyc: A mid-term report.AI Magazine, 32–59.
Hearn, A. C. 1991.REDUCE User's Manual, Version 3.4. Santa Monica, CA: RAND Corporation.
Hindmarsh, A. C. 1983. ODEPACK, A systematized collection of ODE solvers. In (Stepleman, R. S. ed.)IMACS Transactions on Scientific Computation, pp. 55–64. Amsterdam: North-Holland.
Iconicode/IDF. 1992. Software product. Palo Alto, CA: Iconicon.
IDL. 1992. Software product. Boulder, CO: Research Systems, Inc.
Iscoe, N. 1991. Domain modeling—evolving research. InSixth Annual Knowledge-Based Software Engineering Conference, pp. 234–236. Syracuse, NY: IEEE Computer Society Press.
Johnson, W. L., and Harris, D. R. 1991. Sharing and reuse of requirements knowledge. InSixth Annual Knowledge-Based Software Engineering Conference, pp. 57–66. Syracuse, NY: IEEE Computer Society Press.
Kant, E., Daube, F., MacGregor, W., and Wald, J. 1991. Scientific programming by automated synthesis. In (Lowry, M. R., and McCartney, R. D. Eds.)Automating Software Design. Menlo Park: AAAI Press.
Keller, R. M. (Ed.). 1992.Proceedings of the AAAI Workshop on Automating Software Design (Theme: Domain-Specific Software Design). Moffett Field, CA: AI Research Branch, NASA Ames Research Center.
Khoros. 1992. Software product. Albuquerque, NM: Khoros Consortium, EECE Dept., University of New Mexico.
Kook, H. J., and Novak, G. S., Jr. 1991. Representation of models for expert problem solving in physics.IEEE Transactions on Knowledge and Data Engineering, 3(1).
LabVIEW. 1992. Software product. Austin, TX: National Instruments.
Lindal, G. F., Wood, G. E., Hotz, H. B., Sweetman, D. N., Eshelman, V. R., and Tyler, G. L. 1983. The atmosphere of Titan: An analysis of the Voyager 1 radio occultation measurements.Icarus, 53:348–363.
Ling, R., and Steinberg, L. 1992. Automated modeling in computational heat transfer. In (Kant, E. Ed.)AAAI Fall Symposium on Intelligent Scientific Computation, pp. 68–73. Cambridge, MA: AAAI.
MATLAB. 1989. Software product. Natick, MA: The MathWorks, Inc.
McKay, C. P., Pollack, J. B., and Courtin, R. 1989. The thermal structure of Titan's atmosphere.Icarus, 80:23–53.
Nayak, P. P. 1992.Automated Modeling of Physical Systems. Ph.D., Stanford University.
Palmer, R. S., and Cremer, J. F. 1991.SIMLAB: Automatically Creating Physical Systems Simulators (Technical Report No. TR-91-1246). Department of Computer Science, Cornell University.
Robertson, D., Bundy, A., Muetzelfeldt, R., Haggith, M., and Uschold, M. 1991.Eco-Logic: Logic-Based Approaches to Ecological Modelling. Cambridge: MIT Press.
Robertson, D., Bundy, A., Uschold, M., and Muetzelfeldt, R. 1989. The ECO program construction system: Ways of increasing its representational power and their effects on the user interface.International Journal of Man-Machine Studies, 31:1–26.
Running, S. W., and Coughlan, J. C. 1988. A general model of forest ecosystem processes for regional applications: I. Hydrologic balance, canopy gas exchange and primary production processes.Ecological Modelling, 42:125–154.
Spenke, M., and Beilken, C. 1990. An overview of GINA—the generic interactive application. In (Duce, D. A. Ed.)User Interface Management and Design. Lisbon: Springer-Verlag.
STELLA/IThink. 1992. Software products. Lyme, NH: High Performance Systems.
Weld, D. S. 1990. Approximation reformulations. InEighth National Conference on Artificial Intelligence, pp. 407–412. Cambridge, MA: AAAI Press.
Weld, D. S., and deKleer, J. (Eds.). 1990.Readings in Qualitative Reasoning about Physical Systems. Palo Alto: Morgan Kaufmann.
Wolfram, S. 1988.A System for Doing Mathematics by Computer. Redwood City: Addison-Wesley.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Keller, R.M., Rimon, M. & Das, A. A knowledge-based prototyping environment for construction of scientific modeling software. Autom Software Eng 1, 79–128 (1994). https://doi.org/10.1007/BF00871693
Issue Date:
DOI: https://doi.org/10.1007/BF00871693