Generalization/Specialization as a Basis for Software Specification

This paper describes a software specification methodology based on the notion of concept specialization. The methodology, which is particularly useful for Information Systems, applies uniformly to the various components of such systems, such as data classes, transactions, exceptions, and user interfaces (scripts), and its goal is the systematic and structured description of highly detailed world models, where concepts occur in many variations. An example from the domain of university information systems is used to illustrate and motivate the approach.

[1]  Allen Newell,et al.  Some Problems Of Basic Organization In Problem-Solving Programs , 1962 .

[2]  Marvin Minsky,et al.  Semantic Information Processing , 1968 .

[3]  Edsger W. Dijkstra,et al.  Notes on structured programming , 1970 .

[4]  Tony Hoare,et al.  Hierarchical Program Structures , 1972 .

[5]  David Lorge Parnas,et al.  A technique for software module specification with examples , 1972, CACM.

[6]  Edsger W. Dijkstra,et al.  Structured programming , 1972, A.P.I.C. Studies in data processing.

[7]  Carl Hewitt,et al.  A Universal Modular ACTOR Formalism for Artificial Intelligence , 1973, IJCAI.

[8]  Niklaus Wirth,et al.  Systematic Programming: An Introduction , 1974 .

[9]  Stephen Todd,et al.  Relations and Entities , 1976, IFIP Working Conference on Modelling in Data Base Management Systems.

[10]  Mary Shaw,et al.  An introduction to the construction and verification of Alphard programs , 1976, ICSE '76.

[11]  Craig Schaffert,et al.  Abstraction mechanisms in CLU , 1977, CACM.

[12]  Daniel H. H. Ingalls,et al.  The Smalltalk-76 programming system design and implementation , 1978, POPL.

[13]  John Mylopoulos,et al.  A language facility for designing interactive database-intensive applications , 1978, SIGMOD '78.

[14]  J. McCarthy,et al.  On the model theory of knowledge , 1978 .

[15]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[16]  Avron Barr,et al.  Representation of Knowledge , 1980 .

[17]  Dennis McLeod,et al.  Abstraction in databases , 1980, Workshop on Data Abstraction, Databases and Conceptual Modelling.

[18]  Daniel G. Bobrow,et al.  Representing design alternatives , 1980 .

[19]  John Mylopoulos,et al.  A language facility for designing database-intensive applications , 1980, TODS.

[20]  Alexander Borgida,et al.  Data Models and Data Manipulation Languages: Complementary Semantics and Proof Theory , 1981, VLDB.

[21]  Barr and Feigenbaum Edward A. Avron,et al.  The Handbook of Artificial Intelligence , 1981 .

[22]  Alexander Borgida,et al.  On the Definition of Specialization Hierarchies for Procedures , 1981, IJCAI.

[23]  Hector J. Levesque,et al.  An overview of Knowledge Representation , 1983, On Conceptual Modelling.

[24]  Dennis Tsichritzis,et al.  Form management , 1982, CACM.

[25]  John Mylopoulos,et al.  Capturing more world knowledge in the requirements specification , 1982, ICSE '82.

[26]  Niklaus Wirth,et al.  Program development by stepwise refinement , 1971, CACM.