Searching for just a few words should be enough to get started. If you need to make more complex queries, use the tips below to guide you.
Article type: Research Article
Authors: Robertson, Dave | Agustí, Jaume | Hesketh, Jane | Levy, Jordi
Affiliations: Department of Artificial Intelligence, University of Edinburgh | IIIA, Centre d'Estudis Avançats de Blanes, Blanes, Spain
Abstract: Requirements capture is a term used in software engineering, referring to the process of obtaining a problem description – a high level account of the problem which a user wants to solve. This description is then used to control the generation of a program appropriate to the solution of this problem. Reliable requirements capture is seen as a key component of future automated program construction systems, since even small amounts of information about the type of problem being tackled can often vastly reduce the space of appropriate application programs. Many special purpose requirements capture systems exist but few of these are logic based and all of them operate in tightly constrained domains. In previous research, we have used a combination of order sorted logic (for problem description) and Prolog (for the generated program) in an attempt to provide a more general purpose requirements capture system. However, in our earlier systems the connection between the problem description and the resulting program was obtained using ad hoc methods requiring considerable amounts of domain–specific information, thus limiting the domain of application of the system. We are experimenting with languages which provide a formal connection between problem description and application program, thus eliminating the need for domain–specific information in the translation process. This paper introduces a formal language for requirements capture which bridges the gap between an order sorted logic of problem description and the Prolog programming language. The meaning of a Prolog predicate is often characterised according to the set of bindings which can be obtained for its arguments. It is therefore possible to develop a hierarchical arrangement of predicates by comparing the sets of results obtained for stipulated variables. Using this hierarchical structure, we provide proof rules which may be used to support part of the requirements capture process. We describe the notation used for the refinement lattice; define its relationship to Prolog and demonstrate how the language can be used to support requirements capture. An interactive system for extracting Prolog programs from our refinement hierarchies, using an algorithm similar to the one described in this paper, has been implemented.
DOI: 10.3233/FI-1994-2131
Journal: Fundamenta Informaticae, vol. 21, no. 3, pp. 163-182, 1994
IOS Press, Inc.
6751 Tepper Drive
Clifton, VA 20124
USA
Tel: +1 703 830 6300
Fax: +1 703 830 2300
[email protected]
For editorial issues, like the status of your submitted paper or proposals, write to [email protected]
IOS Press
Nieuwe Hemweg 6B
1013 BG Amsterdam
The Netherlands
Tel: +31 20 688 3355
Fax: +31 20 687 0091
[email protected]
For editorial issues, permissions, book requests, submissions and proceedings, contact the Amsterdam office [email protected]
Inspirees International (China Office)
Ciyunsi Beili 207(CapitaLand), Bld 1, 7-901
100025, Beijing
China
Free service line: 400 661 8717
Fax: +86 10 8446 7947
[email protected]
For editorial issues, like the status of your submitted paper or proposals, write to [email protected]
如果您在出版方面需要帮助或有任何建, 件至: [email protected]