Representing Software Engineering Knowledge

被引:17
作者
Mylopoulos J. [1 ]
Borgida A. [2 ]
Yu E. [3 ]
机构
[1] Department of Computer Science, University of Toronto, Toronto
[2] Department of Computer Science, Rutgers University, New Brunswick
[3] Faculty of Information Studies, University of Toronto, Toronto
基金
加拿大自然科学与工程研究理事会;
关键词
Knowledge representation; Languages; Software knowledge bases;
D O I
10.1023/A:1008627026003
中图分类号
学科分类号
摘要
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.
引用
收藏
页码:291 / 317
页数:26
相关论文
共 74 条
  • [1] Anderson J.R., Durney B., Using scenarios in deficiency-driven requirements engineering, Proceedings First IEEE International Symposium on Requirements Engineering, (1993)
  • [2] Balzer R., Goldman N., Wile G., Operational specifications as a basis for rapid prototyping, ACM Software Engineering Notes, 7, 5, pp. 3-16, (1982)
  • [3] Barstow D., Artificial intelligence and software engineering, Proc. 9th International Conference on Software Engineering, pp. 200-211, (1987)
  • [4] Borgida A., Mylopoulos J., Wong H.K.T., Generalization/specialization as a basis for software specification, On Conceptual Modeling: Perspectives from Artificial Intelligence, Databases and Programming Languages, pp. 87-114, (1984)
  • [5] Borgida A., Mylopoulos J., Schmidt J., Wetzel I., Support for data-intensive applications: Conceptual design and software development, Database Programming Languages, (1990)
  • [6] Borgida A., Jarke M., IEEE Transactions on Software Engineering, 18, 6-10 SPEC. ISSUE, (1992)
  • [7] Borgida A., Mylopoulos J., Reiter R., ...And nothing else changes: The frame problem in procedure specifications, Proceedings Fifteenth International Conference on Software Engineering, (1993)
  • [8] Borgida A., Mylopoulos J., Reiter R., On the frame problem in procedure specifications, IEEE Transactions on Software Engineering, pp. 785-798, (1995)
  • [9] Briand L., Melo W., Seaman C., Basili V., Characterizing and assessing a large-scale software maintenance organization, Proc. 17th Int. Conf. Software Eng., (1995)
  • [10] Brodie M., Zilles S., Proceedings of Workshop on Data Abstraction, Databases and Conceptual Modeling, (1981)