Skip to main content
Log in

Deriving engineering software from requirements

  • Published:
Journal of Intelligent Manufacturing Aims and scope Submit manuscript

Abstract

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.

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.

Institutional subscriptions

Similar content being viewed by others

References

  • Bjorner, D. and Jones, C. (1982) Formal Specification & Software Development, Prentice-Hall International, London.

    Google Scholar 

  • 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 

  • 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 

  • Crole, R. (1993) Categories for Types, Cambridge University Press, Cambridge UK.

    Google Scholar 

  • 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 

  • 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.

  • 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.

  • Gannon, J., Purtilo, J. and Zelkowitz, M. (1995) Software Specification—A Comparison of Formal Methods, Ablex Publishing.

  • Genesereth, M. and Fikes, R. (1992) Knowledge Interchange Format, Version 3.0 Reference Manual, Technical Report Logic-92–1, Computer Science Department, Stanford University.

  • Goguen, J. A. (1971) Mathematical representation of hierarchically organized systems, in Global Systems Dynamics, ed. E. Attinger and S. Karger, pp. 112–128.

  • Goguen, J. A. (1993) Sheaf semantics for concurrent interacting objects, in Mathematical Structures in Computer Science, 2, pp. 159–191.

    Google Scholar 

  • 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 

  • Gruber, T. (1993) A translation approach to portable ontology specifications, in Knowledge Acquisition, 5(2), pp. 199–220.

    Google Scholar 

  • 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 

  • Jacky, J. (1997) The Way of Z, Cambridge University Press, Cambridge, UK.

    Google Scholar 

  • Kneuper, R. (1997) Limits of formal methods, in Formal Aspects of Computing, 9(4), Springer, New York, pp. 379–394.

    Google Scholar 

  • MacLane, S. (1971) Categories for the Working Mathematician, Springer-Verlag, New York.

    Google Scholar 

  • 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 

  • Pierce, B. C. (1994) Basic Category Theory for Computer Scientists, MIT Press, Cambridge, MA.

    Google Scholar 

  • 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 

  • Spivey, J. M. (1992) The Z Notation: A Reference Manual, Prentice-Hall, New York.

    Google Scholar 

  • 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 

  • 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.

  • Waldinger, R., Julig, R. and Srinivas, Y.V. (1996) SpecwareTM: Language manual 2.0.1, Suresoft, Inc, Palo Alto, CA.

    Google Scholar 

  • 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.

  • Williamson, K. and Riddle, P. (1991) Knowledge Repositories for Multiple Uses, Goddard Conference on Space Applications of Artificial Intelligence, Greenbelt, MD. pp. 353–367.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Williamson, K., Healy, M. Deriving engineering software from requirements. Journal of Intelligent Manufacturing 11, 3–28 (2000). https://doi.org/10.1023/A:1008959706859

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1008959706859

Keywords

Navigation