47231847
Enhancing a requirements baseline with scenarios
Scenarios are well recognized as an important strategy towards understanding the interface between the environment and the system, as well as a means to elicit and specify software behavior. We have a broader understanding of scenarios: for us, a scenario is an evolving description of situations in the environment. Our proposal is framed by Leite's (1995) work on a client-oriented requirements baseline, which aims at modeling the external requirements of a software system and its evolution. Scenarios start by describing the environmental situation, according to the main actions performed outside the software system. Scenarios also help the clarification of the interrelation between functional and non-functional requirements. We have validated our strategy and related representations based on case studies of a real situation.
7589770
Specifying Quality Characteristics and Attributes for Websites
In this work, we outline more than a hundred characteristics and attributes for the domain of academic sites in order to analyze the quality requirement tree and a way to specify them. These elements are used in a quantitative methodology for assessment, comparison, and ranking processes. The proposed Web-site Quality Evaluation Methodology (QEM) can be a useful approach to assess the quality in different phases of a Web product life cycle. In the academic study, we have observed three different evaluation audiences regarding visitor users: current and prospective students, academic personnel, and research sponsors. Besides, the aim of this work is to show a hierarchical and descriptive specification framework for characteristics, subcharacteristics and attributes. This framework is a key underlying piece in the construction of a hyperdocumented evaluation tool. Finally, some results are presented and concluding remarks are discussed.
7812723
Set-based Nondeterministic Declarative Programming in Singleton
Abstract In this paper we present a declarative language that aims at combining valuable features of CLP languages—namely, nondeterminism, unification, constraint solving, dynamic data structures—with features of conventional programming languages we are accustomed to and that we do not want to give up, such as the syntactic form of programs, the deterministic control structures—in particular the iterative ones—, the notion of procedure and parameter passing. A key role to gain these objectives is played by the notion of sets: sets serve not only as a powerful data abstraction, but also as the (only) source of nondeterminism and as the main support for declarative (constraint) programming. Furthermore, semantics of the whole language can be described in terms of a CLP language with sets, which is used also as a straightforward implementation of the proposed language.
15589668
Logic Meta-Programming Facilities in 'LOG
A meta-level extension of a logic programming language is presented. The resulting language, called 'LOG (read quote-log), provides meta-programming facilities similar to those of Prolog while preserving a declarative logical semantics. It also offers new meta-programming opportunities as compared with Prolog due to its ability to treat whole programs, i.e. sequences of clauses, as data objects. The extension basically consists in defining a suitable naming scheme. It associates two different but related meta-representations with every syntactic object of the language, from characters to programs. The choice of the double metarepresentation is motivated by both the user and the implementation viewpoints. All Prolog built-in meta-predicates can be redefined as 'LOG programs by exploiting the new naming scheme. Then some syntactic sugar is added to make the language more concrete. Some examples are given, in particular to show the ability of the language to deal with programs as data.
405949
Constructive negation and constraint logic programming with sets
The aim of this paper is to extend theConstructive Negation technique to the case ofCLP(SεT), a Constraint Logic Programming (CLP) language based on hereditarily (and hybrid) finite sets. The challenging aspects of the problem originate from the fact that the structure on whichCLP(SεT) is based is notadmissible closed, and this does not allow to reuse the results presented in the literature concerning the relationships betweenCLP and constructive negation.We propose a new constraint satisfaction algorithm, capable of correctly handling constructive negation for large classes ofCLP(SεT) programs; we also provide a syntactic characterization of such classes of programs. The resulting algorithm provides a novel constraint simplification procedure to handle constructive negation, suitable to theories where unification admits multiple most general unifiers. We also show, using a general result, that it is impossible to construct an interpreter forCLP(SεT) with constructive negation which is guaranteed to work for any arbitrary program; we identify classes of programs for which the implementation of the constructive negation technique is feasible.
13111940
Extending Horn Clause Logic with Implication Goals
Abstract The paper deals with the problem of extending positive Horn clause logic by introducing implication in goals as a tool for programs structuring. We allow a goal G i in a clause G 1 ∧⋯∧ G n → A to be not only an atom but also an implication D ⊃ G (we shall it an implication goal ), where D is a set of clauses and G a goal. This extension of the language allows local definitions of clauses in logic programs. In fact, an implication goal D ⊃ G can be thought of as a block ( D , G ), where D is the set of local clause declarations. In this paper we define a language with blocks in which, as in conventional block structured programming languages, static scope rules have been chosen for locally defined clauses. We analyse static scope rules, where a goal can refer only to clauses defined in statically surrounding blocks, and we compare this extension with other proposals in the literature. We argue, on account of both implementative and semantic considerations, that this kind of block structured language is a very natural extension of Horn clauses when used as a programming language. We show it by defining an operational, fixpoint and model–theoretic semantics which are extensions of the standard ones, and by proving their equivalence. We show that static scope rules can be obtained by interpreting → as classical and ⇒ as intuitionistic implication with respect to Herbrand interpretations.