Por favor, use este identificador para citar o enlazar a este item: http://hdl.handle.net/10261/160421
COMPARTIR / EXPORTAR:
logo share SHARE logo core CORE BASE
Visualizar otros formatos: MARC | Dublin Core | RDF | ORE | MODS | METS | DIDL | DATACITE

Invitar a revisión por pares abierta
Título

Expressing Program Requirements Using Refinement Lattices

AutorRobertson, Dave; Agustí-Cullel, Jaume CSIC; Hesketh, Jane; Levy, Jordi CSIC ORCID
Palabras claveLogic programming
Algorithms
Hierarchical systems
Formal logic
Fecha de publicación1994
EditorIOS Press
CitaciónFundamenta Informaticae 21: 163- 182 (1994)
ResumenRequirements 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.
URIhttp://hdl.handle.net/10261/160421
DOI10.1007/3-540-56804-2_23
Identificadoresdoi: 10.1007/3-540-56804-2_23
issn: 0169-2968
Aparece en las colecciones: (IIIA) Artículos




Ficheros en este ítem:
Fichero Descripción Tamaño Formato
FI(1994)_21(3)163-82.pdf641,75 kBAdobe PDFVista previa
Visualizar/Abrir
Mostrar el registro completo

CORE Recommender

Page view(s)

250
checked on 16-abr-2024

Download(s)

328
checked on 16-abr-2024

Google ScholarTM

Check

Altmetric

Altmetric


NOTA: Los ítems de Digital.CSIC están protegidos por copyright, con todos los derechos reservados, a menos que se indique lo contrario.