Skip to main content
Log in

A new programming paradigm for engineering design software

  • Published:
Engineering with Computers Aims and scope Submit manuscript

Abstract

Currently available programming and database systems are insufficient for engineering applications. The authors contend that a logical progression from a formal conceptual model of the engineering domain to a computational model will lead to new programming paradigms capable of directly supporting engineering applications in a rigorous, concise manner. A formal domain model devised by the authors, theHybrid Model (HM) of design information, is briefly introduced. It is an extension of axiomatic set theory and is discussed in detail elsewhere. HM forms the basis ofDesigner, a prototype-based object-oriented programming language supporting a signature-based canonical message-passing mechanism and multiple inheritance. Designer is implemented using the Scheme programming language. Because Designer satisfies a formal conceptual model, and because it is based on a formally specified language, its robustness and logical validity are superior to those of other languages not founded on formal principles. Designer combines concepts of functional and object-oriented programming to provide the formal rigor and flexibility to capture the complex and strongly interrelated information that designers use. Examples demonstrate how Designer represents design information. The results of the authors' research indicate that Designer can capture design information (including aspects of functional requirements and design intent) effectively and efficiently.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Bradley, S.R.; Agogino, A.M. (1991) Design capture and information management for concurrent design, International Journal of Systems Automation: Research and Application, 1, 2, 117–141

    Google Scholar 

  2. Bernus, P.; Letray, Z. (1987) Intelligent systems interconnection: what should come after open systems interconnection? Intelligent CAD Systems I (Theoretical and Methodological Aspects), (ten Hagen, P.J.W.; Tomiyana, T., Editors), Eurographic Seminar Series, Springer-Verlag, Berlin, 44–55

    Google Scholar 

  3. Dixon, J.R.; Duffey, M.R. (1990) The neglect of engineering design, California Management Review, 32, 2, 1–19

    Google Scholar 

  4. Zdonik, S.B.; Maier, D. (1990) Fundamentals of Object-Oriented Databases, Morgan Kaufmann Series in Data Management Systems, Morgan Kaufmann, San Mateo, CA.

    Google Scholar 

  5. Kamin, S.N. (1990) Programming Languages: An Interpreter-Based Approach, Addison-Wesley, Reading, Massachusetts

    Google Scholar 

  6. Sethi, R. (1990) Programming Languages: Concepts and Constructs, Addison-Wesley, Reading, Massachusetts

    Google Scholar 

  7. Pratt, T.W. (1975) Programming Languages: Design and Implementation, Prentice-Hall, Englewood Cliffs, New Jersey

    Google Scholar 

  8. Salustri, F.A.; Venter, R.D. (1992) An axiomatic theory of engineering design information, Engineering with Computers, 8, 4, 197–211

    Google Scholar 

  9. Fraenkel, A.A.; Bar-Hillel, Y.; Levy, A. (1973) Foundations of Set Theory, North-Holland, Amsterdam

    Google Scholar 

  10. Salustri, F.A. (1993) The formal modeling of engineering design information by means of an axiomatic system, PhD thesis, Department of Mechanical Engineering, University of Toronto

  11. Salustri, F.A.; Venter, R.D. (1993) A new research program in design theory and computation, CANCAM 1993 (to appear)

  12. Copi, I.M. (1979) Symbolic Logic, Macmillan, London

    Google Scholar 

  13. Suh, N.P. (1990) The Principles of Design, Oxford University Press, Oxford

    Google Scholar 

  14. Dixon, J.R. (1991) The state of education, Mechanical Engineering, February, 64–67

    Google Scholar 

  15. Kessler, R.R. (1988) LISP, Objects and Symbolic Programming, Scott, Foresman, Glenview, Ill.

    Google Scholar 

  16. Baugh Jr., J.W.; Rehak, D.R. (1992) Applications of coarsegrained dataflow in computational mechanics, Engineering with Computers, 8, 1, 13–30

    Google Scholar 

  17. Miller, G.R. (1988) A LISP-based object-oriented approach to structural analysis, Engineering with Computers, 4, 197–203

    Google Scholar 

  18. Meyer, B. (1990) Introduction to the Theory of Programming Languages, Prentice-Hall International Series in Computer Science, Prentice-Hall, Englewood Cliffs, New Jersey

    Google Scholar 

  19. Laumann, O.; Bormann, C. (1992) Elk: The Extension Language Kit, Working paper, included with source.

  20. Argo, G.; Hughes, J.; Trinder, P.; Fairbairn, J.; Launchbury, J. (1990) Implementing Functional Databases, ACM Press Frontier Series, Addison-Wesley, Reading, Massachusetts, chapter 19, 165–176

    Google Scholar 

  21. Nierstrasz, O. (1989) A Survey of Object-Oriented Concepts, ACM Press Frontier Series, Addison-Wesley, Reading, Massachusetts, chapter 1, 3–21

    Google Scholar 

  22. Kahn, K.; Tribble, E.D.; Miller, M.S.; Bobrow, D.G. (1987) Vulcan: Logical Concurrent Objects, Computer Systems Series, MIT Press, Cambridge, Massachusetts

    Google Scholar 

  23. Stroustrup, B. (1988) What is object-oriented programming? IEEE Software, May, 10–20

    Google Scholar 

  24. Fenves, G.L. (1990) Object-oriented programming for engineering software development, Engineering with Computers, 6, 1, 1–15

    Google Scholar 

  25. Law, K.H.; Wiederhold, G.; Siambela, N.; Sujansky, W.; Zingmond, D.; Singh, H. (1991) Architecture for managing design objects in a shareable relational framework, International Journal of Systems Automation: Research and Applications, 1, 1, 47–65

    Google Scholar 

  26. Lee, H.H.; Arora, J.S. (1991) Object-oriented programming for engineering applications, Engineering with Computers, 7, 4, 225–235

    Google Scholar 

  27. Various authors (1991) X3/SPARC/DBSSG/OODBTG Final Report, Technical report, Accredited Standards Committee X3, ANSI

  28. Peckham, J.; Maryanski, F. (1988) Semantic data models, ACM Computing Surveys, 20, 3, 153–189

    Google Scholar 

  29. Jaynes, J. (1976) The Origin of Consciousness in the Breakdown of the Bicameral Mind, University of Toronto Press, Toronto

    Google Scholar 

  30. Durant, W. (1961) The Story of Philosophy, Pocket Books, New York

    Google Scholar 

  31. Goldberg, A.; Robson, D. (1983) Smalltalk-80: The Language and Its Implementation, Addison-Wesley, Reading, Massachusetts

    Google Scholar 

  32. Stroustrup, B. (1984) A C++ Tutorial, Computer Science Technical Reports 113, AT&T Bell Labs, Murray Hill, New Jersey, September

    Google Scholar 

  33. Johnson, R.E.; Zweig, J.M. (1991) Delegation in C++, Journal of Object-Oriented Programming, 4, 7, 31–34

    Google Scholar 

  34. Various authors (1991) The SELF Papers, Technical Report CIS 209, Stanford University, Stanford, California

    Google Scholar 

  35. Shaw, G.M.; Zdonik, S.B. (1989) A Query Algebra for Object-Oriented Databases, Technical Report CS-89-19. Department of Computer Science, Brown University, Providence, Rhode Island, March

    Google Scholar 

  36. Adams, N.; Rees, J. (1988) Object-oriented programming in Scheme, Proceedings of the 1988 ACM Conference on LISP and Functional Programming, (Chailloux, J., Editor), ACM, New York, 277–288

    Google Scholar 

  37. Hailpern, B.; Nguyen, V. (1987) A Model for Object-Based Inheritance, Computer Systems Series, MIT Press, Cambridge, Massachusetts

    Google Scholar 

  38. Sandor, G.N.; Erdman, A.G. (1984) Advanced Mechanism Design: Analysis and Synthesis, Prentice-Hall, Englewood Cliffs, New Jersey

    Google Scholar 

  39. Fogle, M.A.; Wu, J.K. (1990) A relative coordinate formulation for variational solid modeling, Design Theory and Methodology, (Rinderle, J.R.; Ullman, D.G., Editors), ASME Design Automation Conferences, ASME, New York, 11–18

  40. Eastman, C.M.; Bond, A.H.; Chase, S.C. (1991) Application and evaluation of an engineering data model, Research in Engineering Design, 2, 185–207

    Google Scholar 

  41. Puttré, M. (1992) Virtual prototypes move alongside their physical counterparts, Mechanical Engineering, August, 59–61

  42. Fenves, S.J.; Rasdorf, W.J. (1985) Treatment of engineering design constraints in a relational data base, Engineering with Computers, 1, 1, 27–37

    Google Scholar 

  43. Serrano, D. (1991) Constraint-based concurrent design, International Journal of Systems Automation: Research and Applications, 1, 3, 287–304

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Salustri, F.A., Venter, R.D. A new programming paradigm for engineering design software. Engineering with Computers 10, 95–111 (1994). https://doi.org/10.1007/BF01200180

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01200180

Keywords

Navigation