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.
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.
1956133
Enhancing a requirements baseline with scenarios
Scenarios are well recognised as an important strategy towards understanding the interface between the environment and the system as well as a means of eliciting and specifying software behaviour. We adopt a broader view of scenarios. For us, a scenario is an evolving description of situations in the environment. Our proposal is framed by Leite’s work on a client-oriented requirements baseline, which aims to model the external requirements of a software system and its evolution. Scenarios start by describing the environment situations, according to the main actions performed outside the software system. Scenarios also help to clarify the interrelation between functional and non-functional requirements. We have validated our strategy and the related representations based on case studies.
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.
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.
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.
16978187
Set Unification
The unification problem in algebras capable of describing sets has been tackled, directly or indirectly, by many researchers and it finds important applications in various research areas, e.g. deductive databases, theorem proving, static analysis, rapid software prototyping. The various solutions proposed are spread across a large literature. In this paper we provide a uniform presentation of unification of sets, formalizing it at the level of set theory. We address the problem of deciding existence of solutions at an abstract level. This provides also the ability to classify different types of set unification problems. Unification algorithms are uniformly proposed to solve the unification problem in each of such classes. The algorithms presented are partly drawn from the literature – and properly revisited and analyzed – and partly novel proposals. In particular, we present a new goal-driven algorithm for general $ACI1$ unification and a new simpler algorithm for general $(Ab)(C\ell)$ unification.
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.
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.
1023546
A WAM Implementation for the Logic Meta Programming Language 'Log
A technique for compiling the meta-programming logic programming language 'Log (read quote log) is presented and the extensions to the standard Warren Abstract Machine (WAM) architecture necessary to support the execution of 'Log programs are described. 'Log is a logic programming language upgraded with a flexible naming scheme and a set of operators allowing each syn tactic entity to be referred to and manipulated at the desired detail level. This language still possesses the declarative semantics of pure Prolog. Upgrading the WAM architecture to support 'Log has required to cope with some novel implementation challenges. First, an efficient internal representation for both meta-representations of 'Log must be provided. Second the execution of a 'Log program generates constraints that must be handled dynamically by the run-time architecture of the WAM. A 'Log compiler has been implemented along with a WAM based run-time sup port architecture.