Skip to main content
Log in

Representing Software Engineering Knowledge

  • Published:
Automated Software Engineering Aims and scope Submit manuscript

Abstract

We argue that one important role that Artificial Intelligence can play in Software Engineering is to act as a source of ideas about representing knowledge that can improve the state-of-the-art in software information management, rather than just building intelligent computer assistants. Among others, such techniques can lead to new approaches for capturing, recording, organizing, and retrieving knowledge about a software system. Moreover, this knowledge can be stored in a software knowledge base, which serves as “corporate memory”, facilitating the work of developers, maintainers and users alike. We pursue this central theme by focusing on requirements engineering knowledge, illustrating it with ideas originally reported in (Greenspan et al., 1982; Borgida et al., 1993; Yu, 1993) and (Chung, 1993b). The first example concerns the language RML, designed on a foundation of ideas from frame- and logic-based knowledge representation schemes, to offer a novel (at least for its time) formal requirements modeling language. The second contribution adapts solutions of the frame problem originally proposed in the context of AI planning in order to offer a better formulation of the notion of state change caused by an activity, which appears in most formal requirements modeling languages. The final contribution imports ideas from multi-agent planning systems to propose a novel ontology for capturing organizational intentions in requirements modeling. In each case we examine alterations that have been made to knowledge representation ideas in order to adapt them for Software Engineering use.

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

  • Anderson, J.R. and Durney, B. 1993. Using scenarios in deficiency-driven requirements engineering. Proceedings First IEEE International Symposium on Requirements Engineering, San Jose.

  • Balzer, R., Goldman, N., and Wile, G. 1982. Operational specifications as a basis for rapid prototyping. Proceedings Symposium on Rapid Prototyping, ACM Software Engineering Notes, Vol. 7, No. 5, pp. 3–16.

  • Barstow, D. 1987. Artificial intelligence and software engineering. Proc. 9th International Conference on Software Engineering, Monterey, pp. 200–211.

  • Borgida, A., Mylopoulos, J., and Wong, H.K.T. 1984. Generalization/specialization as a basis for software specification. In M. Brodie, J. Mylopoulos, and J. Schmidt (Eds.), On Conceptual Modeling: Perspectives from Artificial Intelligence, Databases and Programming Languages, Springer Verlag, pp. 87–114.

  • Borgida, A., Mylopoulos, J., Schmidt, J., and Wetzel, I. 1990. Support for data-intensive applications: Conceptual design and software development, In R. Hull, R. Morrison, and D. Stemple (Eds.), Database Programming Languages, Morgan Kaufmann Publishers, San Mateo, CA.

    Google Scholar 

  • Borgida, A. and Jarke, M. (Eds.) 1992. IEEE Transactions on Software Engineering, 18(6) and (10), Special issue on knowledge representation and reasoning in software development.

    Google Scholar 

  • Borgida, A., Mylopoulos, J., and Reiter, R. 1993....And nothing else changes: The frame problem in procedure specifications. Proceedings Fifteenth International Conference on Software Engineering, Baltimore.

  • Borgida, A., Mylopoulos, J., and Reiter, R. 1995. On the frame problem in procedure specifications, IEEE Transactions on Software Engineering, pp. 785–798.

  • Briand, L., Melo, W., Seaman, C., and Basili, V. 1995. Characterizing and assessing a large-scale software maintenance organization. Proc. 17th Int. Conf. Software Eng., Seattle.

  • Brodie, M. and Zilles, S. (Eds.). 1981. Proceedings of Workshop on Data Abstraction, Databases and Conceptual Modeling, Pingree Park Colorado, Joint SIGART, SIGMOD, SIGPLAN Newsletter.

    Google Scholar 

  • Brodie, M., Mylopoulos, J., and Schmidt, J. (Eds.). 1984. On Conceptual Modeling: Perspectives from Artificial Intelligence, Databases and Programming Languages, Springer-Verlag.

  • Bubenko, J. 1980. Information modeling in the context of system development. In Proceedings IFIP Vol. 80, pp. 395–411.

    Google Scholar 

  • Bubenko, J.A. 1993. Extending the scope of information modelling. Proc. 4th Int. Workshop on the Deductive Approach to Information Systems and Databases, Lloret-Costa Brava, Catalonia, pp. 73–98.

    Google Scholar 

  • Castelfranchi, C., Miceli, M., and Cesta, A. 1992. Dependence relations among autonomous agents. Proceedings Third European Workshop on Modeling Autonomous Agents in a Multiagent World; published as Decentralized AI, III, Elsevier.

  • Cohen, P. and Levesque, H. 1990. Intention is choice with commitment. Artificial Intelligence, 32(3).

  • Chung, L. 1993a. Dealing with security requirements during the development of information systems. Proceedings International Conference on Advanced Information Systems Engineering, Paris.

  • Chung, L. 1993b. Representing and Using Non-Functional Requirements: A Process-Oriented Approach. Ph.D. thesis, Department of Computer Science. University of Toronto.

  • Corbi, T.A. 1989. Program understanding: Challenge for the 1990s. IBM Systems Journal, 28(2)1.

    Google Scholar 

  • Dardenne, A. van Lamsweerde, A., and Fickas, S., 1993. Goal-directed requirements acquisition. In Science of Computer Programming, 20:3–50.

    Google Scholar 

  • Devanbu, P. 1994. Software Information Systems. Ph.D. Thesis, Dept. of Computer Science, Rutgers University.

  • Devanbu, P. Brachman, R., Selfridge, P., and Ballard, B. 1991. LaSSIE: A knowledge-based software information system. Communications of ACM.

  • Dubois, E., Hagelstein, J., Lahou, E., Ponsaert, F., and Rifaut, A. 1986. A knowledge representation language for requirements engineering. Proceedings IEEE, Vol. 74,No. 10.

  • Dubois, E., Du Bois, P., and Rifaut, A. 1992. Elaborating, structuring and expressing formal requirements for composite systems. Proc. International Conference on Advanced Information Systems Engineering, Manchester.

  • Dubois, E., Du Bois, P., and DuBru, F. 1994. Animating formal requirements specifications of cooperative information systems. Proceedings Second International Conference on Cooperative Information Systems, Toronto.

  • Feather, M. 1987. Language support for the specification and derivation of concurrent systems. ACM Transactions on Programming Languages, 9(2):198–234.

    Google Scholar 

  • Fickas, S. 1993. Position papers for panel on Neats vs. Scruffies. In Proc. of 3rd European Software Engineering Conference, Milan, Springer-Verlag, LNCS.

    Google Scholar 

  • Green, C. 1969. Application of theorem proving to problem solving. Proceedings First International Joint Conference on Artificial Intelligence, Washington, DC, pp. 219–239.

  • Green, C., Luckham, D., Balzer, R., Cheatham, T., and Rich, C. 1983. Report on a Knowledge-Based Software Assistant, Technical Report KES.U.83.2, Kestrel Institute.

  • Greenspan, S., Mylopoulos, J., and Borgida, A. 1982. Capturing more world knowledge in the requirements specification. Proc. 6th Int. Conference on Software Engineering, Tokyo.

  • Greenspan, S. 1984. Requirements Modeling: A Knowledge Representation Approach to Requirements Definition, Ph.D. thesis, Department of Computer Science, University of Toronto.

  • Greenspan, S., Borgida, A., and Mylopoulos, J. 1986. A requirements modeling language and its logic. Information Systems, 11(1):9–23.

    Google Scholar 

  • Greenspan, S. and Feblowitz, M. 1993. Requirements engineering using the SOS paradigm. Proceedings First IEEE International Symposium on Requirements Engineering, San Jose, pp. 260–265.

  • Greenspan S., Mylopoulos, J., and Borgida, A. 1994. On formal requirements modeling languages: RML revisited. Proc. 16th International Conference on Software Engineering. Naples.

  • Haas, A.R. 1987. The case for domain specific frame axioms. In F.M. Brown (Ed.), The Frame Problem in Artificial Intelligence, Proceedings of the 1987 Workshop. Morgan Kaufmann Publishers, Inc. pp. 343–348.

  • Hagelstein, J. and Roelants, D. 1992. Reconciling operational and declarative specifications. Proceedings International Conference on Advanced Information Systems Engineering (CAiSE), Manchester.

  • Hammer, M. and Champy, J. 1993. Reengineering the Corporation: A Manifesto for business revolution, Harper-Business.

  • Jackson, M. 1978. Information systems: Modeling, sequencing and transformation. Proceedings 3rd International Conference on Software Engineering, pp. 72–81.

  • Jackson, M. 1983. System Development, Prentice-Hall.

  • Jarke, M. (Ed.) 1993. Database Application Engineering with DAIDA, Research Reports ESPRIT, Springer-Verlag.

  • Jarke, M., Gallersdvrfer, R., Jeusfeld, M.A., Staudt, M., and Eherer, S. 1995. ConceptBase—a deductive object base for meta data management. Journal of Intelligent Information Systems. (Special Issue on Advances in Deductive Object-Oriented Databases), 4(2):167–192.

    Google Scholar 

  • Johnson, W.L., Feather, M., and Harris, D. 1992. Representing and presenting requirements knowledge. IEEE Transactions on Software Engineering, 853–869.

  • Lesperance, Y. 1991. A Formal Theory of Indexical Knowledge and Action, Ph.D. thesis, Department of Computer Science, University of Toronto.

  • Lesperance, Y., Levesque, H., Lin, F., Marcu, D., Reiter, R., and Scherl, R. 1994. A logical approach to high-level robot programming—A progress report. Control of the Physical World by Intelligent Systems, Papers from the 1994 AAAI Fall Symposium, New Orleans, LA, 79–85.

  • Lowry, M. and Duran, R. 1989. Knowledge-based software engineering. In A. Barr and P. Cohen (Eds.), Handbook of Artificial Intelligence IV, Addison-Wesley.

  • McCarthy, J. and Hayes, P. 1969. Some philosophical problems from the standpoint of artificial intelligence, B. Melzter and D. Michie (Eds.), Machine Intelligence, Edinburgh University Press, Vol. 4, pp. 463–502.

  • Mostow, J., (Ed.). 1985. IEEE Transactions on Software Engineering. Special issue on artificial intelligence and software engineering, 11(11).

  • Mylopoulos, J., Borgida, A., Jarke, M., and Koubarakis, M. 1990. Telos: Representing knowledge about information systems. ACM Transactions on Information Systems.

  • Mylopoulos, J., Chung, L., and Nixon, B. 1992. Representing and using non-functional requirements. In IEEE transaction in Software Engineering, 483–497.

  • Newell, A. 1982. The knowledge level. Artificial Intelligence, 18:87–127.

    Google Scholar 

  • Nixon, B. 1993. Representing and using performance requirements during the development of information systems. Proceedings First IEEE International Symposium on Requirements Engineering, San Jose, pp. 42–49.

  • Norman, D. The Psychology of Everyday Things, Basic Books.

  • Pednault, E.P.D. 1989. ADL: Exploring the middle ground between {STRIPS} and the situation calculus. Proceedings of the First International Conference on Principles of Knowledge Representation and Reasoning (KR'89), Morgan Kaufmann Publishers Inc., pp. 324–332.

  • Potts, C. and Bruns, G. 1988. Recording the reasons for design decisions. Proceedings 10th International Conference on Software Engineering, Singapore.

  • Reiter, R. 1987. Nonmonotonic reasoning. Annual Review of Computer Science, 2:147–186, Annual Reviews Inc.

  • Reiter, R. 1991. The frame problem in the situation calculus: A simple solution (sometimes) and a completeness result for goal regression. In V. Lifschitz (Ed.), Artificial Intelligence and the Mathematical Theory of Computation: Papers in Honor of John McCarthy, Academic Press, San Diego, CA, pp. 359–380.

    Google Scholar 

  • Rich, C. and Waters, R. 1986. Readings in Artificial Intelligence and Software Engineering, Morgan-Kaufmann.

  • Rich, C. and Waters, R. 1988. The programmer's apprentice: A research overview. IEEE Computer, 21(11):10–25.

    Google Scholar 

  • Ross, D.T. and Schoman. 1977a. Structured analysis for requirements definition. IEEE Trans. on Software Engineering, SE-3(1):6–15.

    Google Scholar 

  • Ross, D.T. and Schoman. 1977b. Structured analysis: A language for communicating ideas. IEEE Trans. on Software Engineering, SE-3(1):16–34.

    Google Scholar 

  • Rubin, H., Yourdon, E., and Battaglia, H. 1995. Industry Canada Worldwide Benchmark Project, Rubin Systems Inc.

  • Ryan, M. 1993. Defaults in specifications. Proceedings First IEEE International Symposium on Requirements Engineering, San Jose, pp. 142–151.

  • Schubert, L.K. 1990. Monotonic solution of the frame problem in the situation calculus: An efficient method for worlds with fully specified actions. In H.E. Kyberg, R.P. Loui, and G.N. Carlson (Eds.), Knowledge Representation and Defeasible Reasoning, Kluwer Academic Press, 23–67.

  • Selfridge, P. 1991. Knowledge representation support for a software information system. Proc. IEEE Conf. on AI Applications.

  • Selfridge, P.G. and Terveen, L.G. 1996. Knowledge management tools for business process support and reengineering. Journal of Intelligent Systems in Accounting, Finance, and Management.

  • Smith, D. 1985 Top-down synthesis of divide-and-conquer algorithms. Artificial Intelligence, 27(1):43–96.

    Google Scholar 

  • Soloway, E., Pinto, J., Letovsky, S., Littman, D., and Lampert, R. 1988. Designing documentation to compensate for de-localized plans. Communications of ACM, 31(11).

  • Solvberg, A. 1979. A contribution to the definition of concepts for expressing users' information system requirements. Proceedings International Conference on E-R Approach to Systems Analysis and Design.

  • Thomas, B., Shoham, Y., Schwartz, A., and Kraus, S. 1991. Preliminary thoughts on an agent description language. International Journal of Intelligent Systems, 6:498–508.

    Google Scholar 

  • Yu, E. 1993. Modeling organizations for information systems requirements engineering. Proceedings First IEEE International Symposium on Requirements Engineering, San Jose, pp. 34–41.

  • Yu, E. and Mylopoulos, J. 1994 Understanding ‘why’ in software process modeling, analysis and design, Proceedings Sixteenth International Conference on Software Engineering, Sorrento, Italy.

    Google Scholar 

  • Yu, E. 1995. Modelling Strategic Relationships for Process Reengineering, Ph.D. thesis, Department of Computer Science, University of Toronto.

  • Yu, E. and Mylopoulos, J. 1995. From E-R to ‘A-R’—Modelling strategic actor relationships for business process reengineering. International Journal of Cooperative Information Systems, 4(2–3):125–144.

    Google Scholar 

  • Yu, E. and Mylopoulos, J. 1996. Using goals, rules, and methods to support reasoning in business process reengineering. International Journal of Intelligent Systems in Accounting, Finance and Management, 5(1).

  • Yu, E., Mylopoulos, J., and Lesperance, Y. 1996. Modelling the organization: New concepts and tools for reengineering. IEEE Expert.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Mylopoulos, J., Borgida, A. & Yu, E. Representing Software Engineering Knowledge. Automated Software Engineering 4, 291–317 (1997). https://doi.org/10.1023/A:1008627026003

Download citation

  • Issue Date:

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

Navigation