Task‐based conceptual graphs as a basis for automating software development

It is widely recognized that requirements engineering is a knowledge‐intensive process and cannot be dealt with using only a few general principles. Since knowledge plays a crucial role in software development, software engineers have to describe and organize various aspects of knowledge before the program can be written. A recent work by Robillard reveals that software development can be further improved by recognizing the relevant knowledge structures. In this paper, we propose the use of a task‐based conceptual graphs (TBCB) framework as a basis for automating software development. By structuring and operationalizing conceptual graphs, TBCG specifications can be transformed into executable programs automatically. To construct a conceptual model, task‐based specification methodology is used as the mechanism to structure the knowledge captured in conceptual models, whereas conceptual graphs are adopted as the formalism to express task‐based specifications and to provide a reasoning capability for the purpose of automation. Once task‐based graphs have been constructed and verified, a blackboard system will automatically transform TBCG specifications into a software system composed of database schemas, knowledge base, and user interfaces. A meeting scheduling system is used as an illustrative example to demonstrate our approach. © 2000 John Wiley & Sons, Inc.

[1]  Gerard Ellis Object-Oriented Conceptual Graphs , 1995, ICCS.

[2]  Carlo Ghezzi,et al.  TRIO: A logic language for executable specifications of real-time systems , 1990, J. Syst. Softw..

[3]  David H. D. Warren,et al.  Generating Conditional Plans and Programs , 1976, AISB.

[4]  Pierre N. Robillard,et al.  The role of knowledge in software development , 1999, CACM.

[5]  Sanja Vranes,et al.  Integrating Multiple Paradigms within the Blackboard Framework , 1995, IEEE Trans. Software Eng..

[6]  Philippe Massonet,et al.  Goal-directed elaboration of requirements for a meeting scheduler: problems and lessons learnt , 1995, Proceedings of 1995 IEEE International Symposium on Requirements Engineering (RE'95).

[7]  Jonathan Lee,et al.  Analyzing User Requirements by Use Cases: A Goal-Driven Approach , 1999, IEEE Softw..

[8]  Jonathan Lee Task structures as a basis for modeling knowledge‐based systems , 1997 .

[9]  Wilhelm Hasselbring,et al.  Animation of Object-Z Specifications with a Set-Oriented Prototyping Language , 1994, Z User Workshop.

[10]  Harry S. Delugach,et al.  Animating Conceptual Graphs , 1997, ICCS.

[11]  John Yen,et al.  A tool for task‐based knowledge and specification acquisition , 1994, Int. J. Intell. Syst..

[12]  Kyungsook Han,et al.  Knowledge specification of an expert system , 1990, IEEE Expert.

[13]  Hiroshi Yamazaki,et al.  A mapping system from Object-Z to C++ , 1994, Proceedings of 1st Asia-Pacific Software Engineering Conference.

[14]  James A. Hendler,et al.  Incremental planning using conceptual graphs , 1992, J. Exp. Theor. Artif. Intell..

[15]  Brian Mathews,et al.  Matching conceptual graphs as an aid to requirements re-use , 1993, [1993] Proceedings of the IEEE International Symposium on Requirements Engineering.

[16]  Matthew Love Animating Z Specifications in SQL*Forms 3.0 , 1992, Z User Workshop.

[17]  Harry S. Delugach,et al.  Specifying multiple-viewed software requirements with conceptual graphs , 1992, J. Syst. Softw..

[18]  Jonathan Lee,et al.  Verifying task-based specifications in conceptual graphs , 1998, Inf. Softw. Technol..

[19]  Matthias Jarke,et al.  Editorial: Knowledge Representation and Reasoning in Software Engineering , 1992 .

[20]  Pericles Loucopoulos,et al.  Concept acquisition and analysis for requirements specification , 1990, Softw. Eng. J..

[21]  Pamela Zave,et al.  An Operational Approach to Requirements Specification for Embedded Systems , 1982, IEEE Transactions on Software Engineering.

[22]  P.G. Selfridge,et al.  Knowledge-based software engineering , 1992, IEEE Expert.

[23]  John F. Sowa Toward the Expressive Power of Natural Language , 1991, Principles of Semantic Networks.

[24]  G.-H. Bagherzadeh Rafsanjani,et al.  From Object-Z to C++: A Structural Mapping , 1992, Z User Workshop.

[25]  John Yen,et al.  A task-based methodology for specifying expert systems , 1993, IEEE Expert.

[26]  Jeff Kramer,et al.  Animation of requirements specifications , 1988, Softw. Pract. Exp..

[27]  Jonathan Lee,et al.  A fuzzy Petri net-based expert system and its application to damage assessment of bridges , 1999, IEEE Trans. Syst. Man Cybern. Part B.

[28]  Gary Berg-Cross,et al.  Acquiring and managing knowledge using a conceptual structures approach: introduction and framework , 1989, IEEE Trans. Syst. Man Cybern..

[29]  Pamela Zave,et al.  An Insider's Evaluation of PAISLey , 1991, IEEE Trans. Software Eng..

[30]  Guus Schreiber,et al.  KADS : a principled approach to knowledge-based system development , 1993 .

[31]  Norbert E. Fuchs Specifications are (preferably) executable , 1992, Softw. Eng. J..

[32]  John F. Sowa,et al.  Conceptual Structures: Information Processing in Mind and Machine , 1983 .

[33]  Jonathan Lee,et al.  Task-Based Specifications Through Conceptual Graphs , 1996, IEEE Expert.

[34]  Samuel H. Valentine The programming language Z- , 1995, Inf. Softw. Technol..

[35]  Barry Eaglestone,et al.  Software development: two approaches to animation of Z specifications using Prolog , 1992, Softw. Eng. J..