Journal of Intelligent Manufacturing

, Volume 11, Issue 1, pp 3–28 | Cite as

Deriving engineering software from requirements

  • Keith Williamson
  • Michael Healy


With the advent of intelligent computer aided design systems, companies such as Boeing are embarking on an era in which core competitive engineering knowledge and design rationale is being encoded in software systems. The promise of this technology is that this knowledge can be leveraged across many different designs, product families, and even different uses (e.g., generative process planning for manufacturing). The current state of the practice attempts to achieve this goal through the reuse of software components. A fundamental problem with this approach to knowledge sharing and reuse is that what we are trying to reuse is software—the end artifact in a long and complicated process that goes from requirement specifications, through a process of design, to implementations. Knowledge sharing and reuse can not easily and uniformly occur at the software level. So what can be done as an alternative? This paper describes a theory, methodology, language, and tool for the semi-automatic development and maintenance of engineering software from requirement specifications. In essence, this paradigm for software development and maintenance is one that explicitly captures requirement specifications, designs, implementations, and the refinement processes that lead from requirements all the way down to software. By recording this entire refinement history, we stand a better chance of leveraging knowledge for different uses.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Bjorner, D. and Jones, C. (1982) Formal Specification & Software Development, Prentice-Hall International, London.Google Scholar
  2. Blaine, L. and Goldberg, A. (1991) DTRE—A semiautomatic transformation system, in Constructing Programs from Specifications, ed. B. Moller, North Holland, New York.Google Scholar
  3. Burstall, R. M. and Goguen, J. A. (1980) The semantics of clear, a specification language, in Proceedings of the 1979 Copenhagen Winter School on Abstract Software Specification, Lecture Notes in Computer Science, 86, Springer-Verlag, New York, pp. 292–332.Google Scholar
  4. Crole, R. (1993) Categories for Types, Cambridge University Press, Cambridge UK.Google Scholar
  5. Cutkosky, M. et al. (1993) PACT: An experiment in integrating concurrent engineering systems, in IEEE Computer, IEEE Press, Piscataway, NJ, pp. 28–37.Google Scholar
  6. Farquhar, A., Fikes, R., Pratt, W. and Rice, J. (1995) Collaborative Ontology Construction for Information Integration, Technical Report KSL-95–63, Knowledge Systems Laboratory, Stanford University.Google Scholar
  7. Fikes, R., Cutkosky, M., Gruber, T. and Van Baalen, J. (1991) Knowledge Sharing Technology Project Overview, Technical Report KSL-91–71, Knowledge Systems Laboratory, Stanford University.Google Scholar
  8. Gannon, J., Purtilo, J. and Zelkowitz, M. (1995) Software Specification—A Comparison of Formal Methods, Ablex Publishing.Google Scholar
  9. Genesereth, M. and Fikes, R. (1992) Knowledge Interchange Format, Version 3.0 Reference Manual, Technical Report Logic-92–1, Computer Science Department, Stanford University.Google Scholar
  10. Goguen, J. A. (1971) Mathematical representation of hierarchically organized systems, in Global Systems Dynamics, ed. E. Attinger and S. Karger, pp. 112–128.Google Scholar
  11. Goguen, J. A. (1993) Sheaf semantics for concurrent interacting objects, in Mathematical Structures in Computer Science, 2, pp. 159–191.Google Scholar
  12. Goguen, J. A. and Burstall, R. M. (1984) Introducing institutions, in Proceedings of the Logics in Programming Workshop, ed. E. Clarke and D. Kozen, Lecture Notes in Computer Science, 164, Springer-Verlag, New York, pp. 221–256.Google Scholar
  13. Gruber, T. (1993) A translation approach to portable ontology specifications, in Knowledge Acquisition, 5(2), pp. 199–220.Google Scholar
  14. Gruber, T. (1994) An ontology for engineering mathematics, in Proceedings of the Fourth International Conference on Principles of Knowledge Representation and Reasoning, Morgan Kauffman, New York.Google Scholar
  15. Jacky, J. (1997) The Way of Z, Cambridge University Press, Cambridge, UK.Google Scholar
  16. Kneuper, R. (1997) Limits of formal methods, in Formal Aspects of Computing, 9(4), Springer, New York, pp. 379–394.Google Scholar
  17. MacLane, S. (1971) Categories for the Working Mathematician, Springer-Verlag, New York.Google Scholar
  18. Neches, R., Fikes, R., Finin, T., Gruber, T. and Patil, R. (1991) Enabling Technology for Knowledge Sharing, AI Magazine, 12(2), pp. 36–56.Google Scholar
  19. Pierce, B. C. (1994) Basic Category Theory for Computer Scientists, MIT Press, Cambridge, MA.Google Scholar
  20. Smith, D. (1991) KIDS: A knowledge based software development system, in Automating Software Design, Eds. M. Lowry and R. McCartney, MIT Press, Cambridge, MA.Google Scholar
  21. Spivey, J. M. (1992) The Z Notation: A Reference Manual, Prentice-Hall, New York.Google Scholar
  22. Srinivas, Y. V. and Jullig, R. (1995) SpecwareTM: Formal support for composing software, in Proceedings of the Conference of Mathematics of Program Construction, Kloster Irsee, Germany.Google Scholar
  23. Uschold, M., Barley, M., Williamson, K., Woods, S. and Clarke, P. (1998) Ontology reuse and application, in Proceedings of the First International Conference on Formal Ontology in Information Systems, Trento, Italy.Google Scholar
  24. Waldinger, R., Julig, R. and Srinivas, Y.V. (1996) SpecwareTM: Language manual 2.0.1, Suresoft, Inc, Palo Alto, CA.Google Scholar
  25. Wang, T. C. and Goldberg, A. (1991) A Mechanical Verifier for Supporting the Design of Reliable Reactive Systems, International Symposium on Software Reliability Engineering, Austin, Texas.Google Scholar
  26. Williamson, K. and Riddle, P. (1991) Knowledge Repositories for Multiple Uses, Goddard Conference on Space Applications of Artificial Intelligence, Greenbelt, MD. pp. 353–367.Google Scholar

Copyright information

© Kluwer Academic Publishers 2000

Authors and Affiliations

  • Keith Williamson
    • 1
  • Michael Healy
    • 1
  1. 1.Boeing Applied Research & TechnologyBellevue

Personalised recommendations