Abstract
The software engineering industry suffers from almost unmanageable complexity both in the products it produces and in the processes of production. One of the current shortcomings in the software production process is the weakness of the models used. This paper makes observations on the role of knowledge in engineering and examines the central role of models and simulation. We develop an argument for the application of certain new forms of modelling methods in software engineering in order to impose more discipline and give a principled framework for building models that can support the software life-cycle. The concept of a model is examined in depth and different characteristics and types of model are defined. This introduces the relatively new concept of qualitative models and their use in the field known as model-based reasoning. Unlike previous knowledge-based methods, model-based reasoning has several important advantages. Although very few modelbased software projects exist, we illustrate how this approach can be developed by drawing on applications from traditional engineering. It is argued that, because qualitative modelling offers great power for addressing the issue of complexity, such models have considerable potential as high-level abstractions of software products. These could form the core of tools for the management and support of the software development process through the whole product life-cycle.
Similar content being viewed by others
References
Abbott B., Bapty T., Biegl C., Karsai G., Sztipanovits J.: Model-Based Software Synthesis. IEEE Software, 10(3), 42–52 (1993)
Bailor P.D., Hartrum T.C.: Educating Model-Based Software Engineers. Lecture Notes In Computer Science, 640, 290–297 (1992)
Collins B.S.: Freedom, Security and Design in Informatics — The Engineer’s Contribution. Chairman’s Inaugural Address, IEE Informatics Division, IEE, London, 6 Oct. 1998
(DX’99), The Tenth International Workshop on Principles of Diagnosis, Loch Awe, Scotland, 1999
Faltings, B., Struss, P. (eds): Recent Advances in Qualitative Physics. MIT Press, MA, 1992
French, M.J.: Invention and Evolution: Design in Nature and Engineering, Cambridge University Press, 1988
Friedrich, G., Stumptner, M., Wotawa, F.: Model-Based Diagnosis of Hardware Designs. Artificial Intelligence, 111(1–2), 3–39 (1999)
Hamscher, W., Console, L., De Kleer, J. (eds): Readings in Model-Based Diagnosis. Morgan Kaufman, 1992
Harel D.: Biting the Silver Bullet. Computer, 8–20, Jan. 1992
Hunt J.: Model-Based Software Diagnosis. Applied Artificial Intelligence 12(4): 289–308 (1998)
Inglis, C.: Modern Engineering, Oxford University Press, 1955
Lee K.J.: Model-Based Software Development. Special Report CMU/SEI-92-SR-00, Software Engineering Institute, Carnegie Mellon University, 1991
Lee M.H.: On Models, Modelling and the Distinctive Nature of Model-Based Reasoning. AI Communications, IOS Press, 12(3), 127–137 (1999)
Leitch, R., Shen, Q., Coghill, G., Chantler M.: Choosing the Right Model. IEE Proceedings D, Control Theory and Applications, 146(5), 435–449 (1999)
Makris C.A., Toumazou C.: ISAID: Qualitative Reasoning and Trade-off Analysis in Analog IC Design Automation. In: Pugh, A. (ed.): IEEE Int. Symp. on Circuits and Systems, IEEE, 1992, pp. 1–4
Mateis, C., Stumptner, M., Wotawa, F.: Debugging of Java Programs Using a Model-Based Approach, In: Proc. 10th Int. Workshop on Principles of Diagnosis, (DX’99), Loch Awe, Scotland, 1999, pp. 166–73
Mellor, P.: A Model of the Problem or a Problem with the Model? Computing and Control Engineering. 9(1), 8–18 (1998)
OCC’M Software GmbH, Gleissentalstr. 22, 82041 Deisenhofen, Germany, (http://www.occm.de)
Price, C.J., Pugh, D.R., Wilson, M.S., Snooke, M.: The Flame system: Automating Electrical Failure Mode and Effects Analysis (FMEA). In: Proc. Annual Reliability and Maintainability Symposium, IEEE, 1995, pp. 90–95
Price C.J., Taylor N.S.: FMEA for Multiple Failures. In: Proc. Annual Reliability and Maintainability Symposium, IEEE, January, 1998. pp. 43–47
Puccia, C.J., Levins, R.: Qualitative Modeling of Complex Systems. Harvard University Press, Cambridge MA, 1985
Reiter R.: A Theory of Diagnosis from First Principles. Artificial Intelligence, 32(1), 57–95 (1987)
Snooke N.A.: Simulating Electrical Devices with Complex Behaviour, AI Communications, IOS Press, 12(1–2), 45–59 (1999)
Stumptner, M., Wotawa, F.: A Survey of Intelligent Debugging, AI Communications, 11(1), 35–51 (1998)
Wartofsky, M.W.: Models: Representation and the Scientific Understanding, D. Reidel, Dordrecht, Holland, 1979
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Lee, M.H. Model-based reasoning: a principled approach for software engineering. Software - Concepts & Tools 19, 179–189 (2000). https://doi.org/10.1007/s003780000005
Published:
Issue Date:
DOI: https://doi.org/10.1007/s003780000005