HCLIE: a logic-based requirement language for new software engineering paradigms

It is a paradigm of software engineering that a complete representation of the problem domain (called requirement theory) is repeatedly refined by correctness-preserving transformations into the program itself. The design of a requirement theory has to allow for such a design methodology. The authors argue that currently available languages intended to yield requirement theories fail to meet these demands. They present a logic-based requirement language, which can be used to specify the requirements for software systems under the emerging methodology. The language presented is based on first-order predicate logic but augments standard first-order logic by introducing hierarchies and exceptions to its generalisations, in order to allow for a more natural description of the problem domain.

[1]  David S. Touretzky,et al.  The Mathematics of Inheritance Systems , 1984 .

[2]  Jeffrey J. P. Tsai A Knowledge-Based Approach to Software Design , 1988 .

[3]  Robert Balzer,et al.  Using symbolic execution to characterize behavior , 1982 .

[4]  Pericles Loucopoulos,et al.  Modelling and validating office information systems: an object and logic oriented approach , 1989, Softw. Eng. J..

[5]  Edmond Schonberg,et al.  Programming by Refinement, as Exemplified by the SETL Representation Sublanguage , 1979, TOPL.

[6]  Daniel G. Bobrow,et al.  On Overview of KRL, a Knowledge Representation Language , 1976, Cogn. Sci..

[7]  Robert A. Kowalski,et al.  Logic for problem solving , 1982, The computer science library : Artificial intelligence series.

[8]  José Meseguer,et al.  Rapid prototyping: in the OBJ executable specification language , 1982, Rapid Prototyping.

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

[10]  Pamela Zave,et al.  The operational versus the conventional approach to software development , 1984, CACM.

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

[12]  William W. Agresti,et al.  New Paradigms for Software Development , 1986 .

[13]  Thomas Weigert,et al.  An explication of reasoning in multiple inheritance systems through non-monotonic horn clause logic , 1992, Inf. Sci..

[14]  Barry W. Boehm,et al.  A spiral model of software development and enhancement , 1986, Computer.

[15]  Douglas R. Smith,et al.  Research on Knowledge-Based Software Environments at Kestrel Institute , 1985, IEEE Transactions on Software Engineering.

[16]  Stephen S. Yau,et al.  Knowledge Representation of Software Component Interconnection Information for Large-Scale Software Modifications , 1987, IEEE Transactions on Software Engineering.

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

[18]  Grady Booch,et al.  Software engineering with Ada , 1983 .

[19]  Jorge Phillips,et al.  Self-described programming environments: an application of a theory of design to programming systems , 1983 .

[20]  Sol Jaffe Greenspan,et al.  Requirements modeling: a knowledge representation approach to software requirements definition , 1984 .

[21]  Robert Balzer,et al.  Operational specification as the basis for rapid prototyping , 1982 .