The Automated Refinement of a Requirements Domain Theory

The specification and management of requirements is widely considered to be one of the most important yet most problematic activities in software engineering. In some applications, such as in safety critical areas or knowledge-based systems, the construction of a requirements domain theory is regarded as an important part of this activity. Building and maintaining such a domain theory, however, requires a large investment and a range of powerful validation and maintenance tools. The area of theory refinement is concerned with the use of training data to automatically change an existing theory so that it better fits the data. Theory refinement techniques, however, have not been extensively used in applications because of the problems in scaling up their underlying algorithms. In our work we have applied theory refinement to assist in the problem of validation and maintenance of a requirements theory concerning separation standards in the North East Atlantic. In this paper we describe an implemented refinement algorithm, which processes a logic program automatically generated from the theory. We overcame the size and expressiveness problems typically encountered when applying theory refinement to a logic program of this kind by designing focused, composite refinement operators within the algorithm. These operators modify the auto-generated logic program by generalising or specialising clauses containing ordinal relations—that is relations which operate on totally ordered data.

[1]  J. W. Lloyd,et al.  Foundations of logic programming; (2nd extended ed.) , 1987 .

[2]  Russell Greiner The Complexity of Theory Revision , 1995, IJCAI.

[3]  Christopher H. Bryant,et al.  The validation of formal specifications of requirements , 1996, FME 1996.

[4]  Nancy G. Leveson,et al.  Completeness and Consistency in Hierarchical State-Based Requirements , 1996, IEEE Trans. Software Eng..

[5]  S. Sitharama Iyengar,et al.  An Event Drive Integration Reasoning Scheme for Handling Dynamic Threats in an Unstructured Environment , 1997, Artif. Intell..

[6]  Raymond J. Mooney,et al.  First-Order Theory Revision , 1991, ML.

[7]  David Lorge Parnas,et al.  "Formal methods" technology transfer will fail , 1998, J. Syst. Softw..

[8]  John Mylopoulos,et al.  On formal requirements modeling languages: RML revisited , 1994, Proceedings of 16th International Conference on Software Engineering.

[9]  Russell Greiner The Complexity of Revising Logic Programs , 1999, J. Log. Program..

[10]  Derek H. Sleeman,et al.  Improving the Efficiency of Knowledge Base Refinement , 1996, ICML.

[11]  Alan M. Frisch,et al.  Generating Numerical Literals During Refinement , 1997, ILP.

[12]  Leon Sterling,et al.  The Art of Prolog , 1987, IEEE Expert.

[13]  Shlomo Argamon,et al.  Tractability of Theory Patching , 1998, J. Artif. Intell. Res..

[14]  Keith L. Clark,et al.  Negation as Failure , 1987, Logic and Data Bases.

[15]  David W. Opitz,et al.  Connectionist Theory Refinement: Genetically Searching the Space of Network Topologies , 1997, J. Artif. Intell. Res..

[16]  Ashwin Srinivasan,et al.  Numerical Reasoning with an ILP System Capable of Lazy Evaluation and Customised Search , 1999, J. Log. Program..

[17]  Steve Easterbrook,et al.  Formal methods for verification and validation of partial specifications: A case study , 1998, J. Syst. Softw..

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

[19]  Paul Mukherjee Computer-aided validation of formal specifications , 1995, Softw. Eng. J..

[20]  T. L. McCluskey,et al.  A Case Study in the Use of Theory Revision in Requirements Validation , 1998, ICML.

[21]  Susan Craw,et al.  The Role of Test Cases in Automated Knowledge Refinement , 1996 .

[22]  autoepistemic Zogic Logic programming and negation : a survey , 2001 .

[23]  Raymond J. Mooney,et al.  Automated refinement of first-order horn-clause domain theories , 2005, Machine Learning.

[24]  T. L. McCluskey,et al.  Towards the automated debugging and maintenance of logic-based requirements models , 1998, Proceedings 13th IEEE International Conference on Automated Software Engineering (Cat. No.98EX239).

[25]  David Chan,et al.  Constructive Negation Based on the Completed Database , 1988, ICLP/SLP.

[26]  Pedro Meseguer,et al.  Assessing the Role of Formal Specifications in Verification and Validation of Knowledge‑Based Systems , 1996 .

[27]  Giovanna Dondossola Formal methods in the development of safety critical Knowledge-Based components , 1998, EUROVAV.

[28]  Katharina Morik,et al.  What online machine learning can do for knowledge acquisition—a case study , 1994 .

[29]  John Rushby,et al.  Formal Methods and the Certification of Critical Systems , 2004 .

[30]  James Wogulis An approach to repairing and evaluating first-order theories containing multiple concepts and negation , 1994 .

[31]  Michle Sebag,et al.  Constraint Inductive Logic Programming , 1996 .

[32]  John Balder,et al.  Support for the formalisation and validation of KADS expertise models, Deliverable ESPRIT project P5248 KADS-II/M2/TR/UvA/DM2.6a/1.0 , 1994 .

[33]  Luc De Raedt,et al.  Inductive Logic Programming: Theory and Methods , 1994, J. Log. Program..

[34]  Christopher H. Bryant,et al.  Transforming general program proofs: a meta interpreter which expands negative literals , 1997 .

[35]  Francesco Bergadano,et al.  Inductive Logic Programming: From Machine Learning to Software Engineering , 1995 .

[36]  John Wylie Lloyd,et al.  Foundations of Logic Programming , 1987, Symbolic Computation.

[37]  Nancy G. Leveson,et al.  Requirements Specification for Process-Control Systems , 1994, IEEE Trans. Software Eng..

[38]  Dieter Fensel,et al.  Formal methods in knowledge engineering , 1995, The Knowledge Engineering Review.

[39]  Eric Dubois ALBERT: A Formal Language and Its Supporting Tools for Requirements Engineering , 1998, FASE.

[40]  Brian R. Gaines,et al.  Requirements acquisition , 1996, Softw. Eng. J..

[41]  Nancy A. Lynch High-Level Modeling and Analysis of an Air-Traffic Management System (Abstract) , 1999, HSCC.

[42]  John R. Callahan,et al.  Formal methods for V&V of partial specifications: an experience report , 1997, Proceedings of ISRE '97: 3rd IEEE International Symposium on Requirements Engineering.

[43]  Ehud Shapiro,et al.  Algorithmic Program Debugging , 1983 .

[44]  T. L. McCluskey,et al.  A requirements capture method and its use in an air traffic control application , 1995, Softw. Pract. Exp..

[45]  Susan Craw Refinement complements verification and validation , 1996, Int. J. Hum. Comput. Stud..

[46]  Trevor J. M. Bench-Capon,et al.  Techniques for the verification and validation of knowledge‐based systems: A survey based on the symbol/knowledge level distinction , 1995, Softw. Test. Verification Reliab..

[47]  John R. Callahan,et al.  Independent validation of specifications: a coordination headache , 1996, Proceedings of WET ICE '96. IEEE 5th Workshop on Enabling Technologies; Infrastucture for Collaborative Enterprises.

[48]  Krzysztof R. Apt,et al.  Logic Programming and Negation: A Survey , 1994, The Journal of Logic Programming.

[49]  T. L. McCluskey,et al.  Engineering and Compiling Planning Domain Models to Promote Validity and Efficiency , 1997, Artif. Intell..

[50]  Raymond J. Mooney,et al.  Automated refinement of first-order horn-clause domain theories , 2005, Machine Learning.