3157847
Intensional Sets in CLP
We propose a parametric introduction of intensionally defined sets into any \(CLP(\mathcal \{D\})\) language. The result is a language \(CLP({\mathcal \{D\}})\), where constraints over sets of elements of \(\mathcal D\) and over sets of sets of elements, and so on, can be expressed. The semantics of \(CLP({\mathcal \{D\}})\) is based on the semantics of logic programs with aggregates and the semantics of CLP over sets. We investigate the problem of constraint resolution in \(CLP({\mathcal \{D\}})\) and propose algorithms for constraints simplification.
50781
Multiset constraints and P systems
Multisets are the fundamental data structure of P systems. In this paper we relate P systems with the language and theory for multisets presented in [9.] This allows us, on the one hand, to define and implement P systems using multiset constraints in a constraint logic programming framework, and, on the other hand, to define and implement constraint solving procedures used to test multiset constraint satisfiability in terms of P systems with active membranes. While the former can be exploited to provide a precise formulation of a P system, as well as a working implementation of it, based on a first-order theory, the latter provides a way to obtain a P system for a given problem (in particular, NP problems) starting from a rather natural encoding of its solution in terms of multiset constraints.
14836519
From Set to Hyperset Unification
In this paper we show how to extend a set unification algorithm— that is, an extended unification algorithm incorporating the axioms of a simple theory of sets—to hyperset unification (roughly speaking, to sets in which membership can form cycles). This result is obtained by enlarging the domain of terms (hence, trees) to that of graphs involving free as well as interpreted function symbols (namely, the set element insertion and the empty set), which can be regarded as a convenient denotation of hypersets. We present a hyperset unification algorithm that (nondeterministically) computes, for each given unification problem, a finite collection of systems of equations in solvable form whose solutions represent a complete set of solutions for the given unification problem. The crucial issue of termination of the algorithm is addressed and solved by the addition of simple nonmembership constraints. Finally, the hyperset unification problem in
1003988
Solving Systems of Equations over Hypersets
A universe composed by rational ground terms ia characterized (both constructively and axiomatically), where the interpreted set constructs land •ith (the latter designating the element insertion operation) coexist with free Herbrand functors. Ordinary syntactic equivalence must be superseded by an equivalence relation ~. between trees labelled over a signature, that suitably reflects the semantics of vith. Membership (definable as "d E t =oo~ ( t vith d) ~ t") meets the non-well-foundedn,ess property characteristic of hyperset theory. An algorithm for solving the NP-eomplete unification problem pertaining to hollow hyperset terms is provided, and shown to be totally correct. An application to the matching of finite state automata is hinted at. Introduction With this paper we wish to contribute to the field of constraint logic programming mainly in two ways. First, by characterizing hyperseb both constructively and axiomatically ( cf. See. 2, 3); then, by specifying a procedure for normalizing constraints of the most basic kind over hypersets. Our procedure will be shown to always terminate and to give the proper results (cf. Sec. 4). A by-product of our constraint normalization procedure is an algorithm for solving a novel NP-complete unifictJtion problem pertaining to hypersets, which has direct applications on its own: it can be used, for instance, to determine whether two finite state automata characterize the same language (cf. See. 5). Hypersets of the kind we will propose are very intimately related to Aczel's nonwell-founded sets (ef. [1]), but they all have finite cardinality and height; moreover they are hybrid, in that their construction involves free Herbrand fun.etors. The finiteness restriction comes from our willingness to regard hypersets as tnstanees of an algorithmic data structure; the proposed hybridization comes from our goal to Q Until. tli Pi .. , Dip. di Inlonn.atica. Cono ltalia -40, 561~Piaa (1). do'fiertdi .uaipi.il ¢ U~ti•. tli Roma "L. Sa,ienza", Dip. di Inl. e Siat. Via Salaria, 113. 00198-Rom&. o.odeoe .. si.dis.uairo .. l.il 6 Uniw. tli Utli"e, Dip. di Matematica e Inlormatica. Via Zanon, 6. 33l~Udine (1). policrited!.i.1111iad.il • Uftiw. tli Parma, Dip. di Matematica. Via M. D'Azepo, 85/ A. -43l~P.vma (1). 1ro••iep~t.aat~ . 1111ipr . il
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.
38243163
Querying Hypermedia Applications in an Object-Oriented Framework
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.
14893766
Improving Web Information Systems with Navigational Patterns
In this paper we show how to improve the architecture of Web information systems (WIS) using design patterns, in particular navigational patterns. We first present a framework to reason about the process of designing and implementing these applications. Then we introduce navigational patterns and show some prototypical patterns. We next show how these patterns have been used in some successful WIS. Finally, we explain how patterns are integrated into the development process of WIS.
21945654
Designing Hypermedia Applications with Objects and Patterns
In this paper we present a software engineering approach for building hypermedia applications. Our approach combines the use of an object-oriented method with a system of design patterns for navigational and interface design. We first present the core activities in the Object-Oriented Hypermedia Design Method (OOHDM), namely conceptual design navigation design, abstract interface design and implementation, describing the modeling constructs we use to build high-level, abstract navigational and interface structures. Next we give the rationale for using design patterns in the process of building high quality hypermedia applications, and present some simple patterns solving recurrent design problems. We finally discuss some further issues.