A framework for the support of a common structural level for software-, data base-, and knowledge-based systems

Abstract Currently, many languages, tools, and techniques are used for the development of software systems, including data base- and knowledge-based systems. Although underlying languages employ structuring concepts such as classification, modularization, generalization, perspectives, etc., these common concepts remain overshadowed by differing terminology and notations among diverse approaches in software engineering, data bases, and knowledge representation. As a consequence, we have to cope with a large number of specific but incompatible tools to support the development of software systems. This situation appears inconvenient, since the still more complex and ambitious requirements on software systems call for integrated solutions concerning software engineering environments. As a starting point toward integration, in this article we concentrate on structuring concepts and their support. While the central role of structuring in software development, as well as maintenance, is well established, a uniform support of some set of structuring concepts has not yet been achieved. Therefore, we present a catalog of generally useful structuring concepts, explain their derivation, and suggest a self-contained language called SFW ( S tructuring F rame w ork) and a tool (SFW-TOOL) to provide means for a general and uniform specification and support of the structure of software systems.

[1]  G. A. Miller THE PSYCHOLOGICAL REVIEW THE MAGICAL NUMBER SEVEN, PLUS OR MINUS TWO: SOME LIMITS ON OUR CAPACITY FOR PROCESSING INFORMATION 1 , 1956 .

[2]  Michael Jackson,et al.  Principles of program design , 1975 .

[3]  Jack C. Wileden,et al.  Ada-Based support for programming-in-the-Large , 1985, IEEE Software.

[4]  E. F. Codd,et al.  Extending the database relational model to capture more meaning , 1979, ACM Trans. Database Syst..

[5]  Dzenan Ridjanovic,et al.  On the Design and Specification of Database Transactions , 1982, On Conceptual Modelling.

[6]  Edward H. Shortliffe,et al.  Production Rules as a Representation for a Knowledge-Based Consultation Program , 1977, Artif. Intell..

[7]  Henk Sol,et al.  Information Systems Design Methodologies: A Comparative Review , 1983 .

[8]  Edward Yourdon,et al.  Structured design : fundamentals of a discip!ine of computer proqram and system desiqn , 1979 .

[9]  Niklaus Wirth,et al.  Programming in Modula-2 , 1985, Texts and Monographs in Computer Science.

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

[11]  Douglas T. Ross,et al.  Structured Analysis (SA): A Language for Communicating Ideas , 1977, IEEE Transactions on Software Engineering.

[12]  Walt Scacchi,et al.  Maintaining Configurations of Evolving Software Systems , 1987, IEEE Transactions on Software Engineering.

[13]  Hans H. Kron,et al.  Programming-in-the-Large Versus Programming-in-the-Small , 1975 .

[14]  Jack C. Wileden,et al.  Interface control and incremental development in the PIC environment , 1985, ICSE '85.

[15]  David Robson,et al.  Smalltalk-80: The Language and Its Implementation , 1983 .

[16]  Marvin Minsky,et al.  A framework for representing knowledge , 1974 .

[17]  Nancy Martin,et al.  Programming Expert Systems in OPS5 - An Introduction to Rule-Based Programming(1) , 1985, Int. CMG Conference.

[18]  Dennis McLeod,et al.  Database description with SDM: a semantic database model , 1981, TODS.

[19]  Michael L. Brodie,et al.  Active and passive component modelling: ACM/PCM , 1986, Trends in Information Systems.

[20]  John Mylopoulos,et al.  Generalization/Specialization as a Basis for Software Specification , 1982, On Conceptual Modelling.

[21]  Ronald J. Brachman,et al.  What IS-A Is and Isn't: An Analysis of Taxonomic Links in Semantic Networks , 1983, Computer.

[22]  Atul Prakash,et al.  Programming in the large , 1986, IEEE Transactions on Software Engineering.

[23]  Richard Fikes,et al.  The role of frame-based representation in reasoning , 1985, CACM.

[24]  Bruce G. Buchanan,et al.  Meta-Level Knowledge: Overview and Applications , 1977, IJCAI.