Onekin Research Group - Department of Computer Languages and Systems - University of the Basque Country  

Castellano | English | Euskara | Français   

 
 
Home
Publications
Current Works
News
Projects
Members
Photos
Links
Faq
Contact
 
Login
 
Search
 
 
Onekin Research Group
 
 
 
  Projects
  ATARIX | CAESAR | EXACT | WSWL
   
-> ATARIX
  The increasing growth in size and complexity of portals calls for a systematic way to portal development that allows to face the stringent demands imposed on these systems. These demands range from integrating heterogenous data sources to navigation and adaptability concerns.
  AtariX is a tool for Web portal development built around a set of XMLdocuments. AtariX enables the highlevel description of a Web portalalong distinct orthogonal dimensions. Each concern is separately described in a document: how data is integrated and described (the content document), the topology of links (the navigation document), the layout of each element (the presentation document), how previous apects can dinamically vary based on the current session click stream (the adaptation document) and how control which content has been visited (the tracking document). A distinctive feature of this approach is that it is ontology-centric, that is, the content document defines a set of concepts (as XML tags) to be used as a vocabulary for the other documents. For instance, navigation is not defined in terms of pages but concepts, regardless of how these concepts are finally presented. Hence, we have termed this approach "tag-centric". This enables an abstract construction of the portal independent of how it is finally delivered,facilitating maintenance and portal evolution.
  More information about the AtariX project
   
-> CAESAR
  There has been some discussion on whether it is preferable to first determine processing and from it obtain data, or focus on data and from it derive processes. We are inclined towards the former option. First, evidence shows that users tend to explain themselves in terms of what they do rather than the data required to do it. Second, DBMS technology is evolving to manage not only the data features of the domain but also the behavioral ones as illustrated by object-oriented and active DBMSs.
  In spite of the ongoing evolution of DBMS, Entity/Relationship (E/R) techniques are still widely used without substantial changes since they were initially conceived. E/R schemas as conceptual models, are clearly lacking a behavioral counterpart.
  CAESAR is a process-directed tool for elicitating behavioral conceptual models: As an analysis tool, it aims at determining, understanding and communicating business information requirements, from which the specification of the final system can be obtained. Broadly speaking, the tool has two main interfaces: one for requirement elicitation, and other for system specification (i.e. conceptual model construction).
  Requirements are expressed by the set of use-cases which should be supported by the system. They state the expected functionality of the system to be built in order to process appropriately these use cases. Each use case abstracts different ways of interacting with the system to achieve a similar aim. It is a user-level, black-box view of the system. It shows the response of the system to external stimuli, but does not show how the system actually achieves the goal. There are no internal objects visible, just the system itself and the actors originating them. In CAESAR, the informal, English description of use-cases is formalized by using interaction diagrams. Although described graphically by the analyst, use cases are internally represented through an ad-hoc language where the main features of each interaction diagram (i.e. actors, stimuli, notifications, exceptional alternatives, context, etc) are accounted for.
  Once relevant use cases have been collected, system specification begins.Specification is expressed as the set of high-level stimuli which are needed to support the use cases. These stimuli are then described, verified and validated.
  Stimulus description follows the pre/post-condition approach. Pre-conditions state realistic settings for the stimulus to happen (i.e. it is the environment who guarantee their satisfaction) and as such, they are not the concern of the system. However, they describe the context where the system will function, and help to cope with requirement evolution. Post-conditions indicate the effect on the system state as a result of the happening of the stimulus. At this stage, the system state is expressed as the set of data needs required to fulfil the use-cases. Each data need belongs to a type (e.g. enumerated, value-based or switching) which determines the set of effects applicable to this data (e.g. the operations reset, increase and decrease are available for the enumerated type).
  Once stimuli have been described, verification begins, i.e., the process of checking for contradictions, inconsistencies or incompleteness (e.g. analyst can ascertain whether both stimuli correspond to the same phenomena but differently named by the stakeholders, or data needs where only some operations are applied: a counter which is only increased, but no stimuli decreases it).
  Clicking on the check button makes the system to display a set of warning messages which draw the attention of the analyst.
  Once the conceptual model has been described in terms of stimuli, the model has to be validated, i.e. its accurateness has to be checked against the users' intended requirements. Validation is achieved through animation, i.e. by providing explanations about the results of model execution. The event calculus is used to formalize the model (executability).
  Broadly speaking, animation is a two-step process. First, the user stimulates the system in meaningful ways, and later on the system is queried to explain the obtained results. Queries can address why the current system state holds, how some intended effects can be achieved, and what would have happened if some other stimulus was given. Here, the utilization of use-cases is proposed to provide a first guide to checking whether the model correctly reflects the intended use of the system. After all, use-cases serve to identify the requirements and thus, the conceptual model should be checked (at least) against these use-cases. Besides, use-cases provides a first guide to ascertaining the kind and order of meaningful stimulus flows rather than stimulating the system randomly. CAESAR offers a list of the use cases identified during requirement elicitation, and the user can create as many scenarios (i.e. use cases instances) as appropriate. In this way, the user is no longer left alone, but a framework is provided to determine significant sequences of stimuli.
  Summing up, the CAESAR outcome is intended to be a set of correct and valid set of stimuli that serve as a starting point for database specification.
   
-> EXACT
  Active Database Management Systems (DBMS) introduces an active dimension from which a large number of applications can be benefited. Most active DBMSs provide a fixed execution model for this dimension. EXACT is a rule manager which provides a range of execution models for the active dimension, from which the designer can choose the one that best fits the semantics of the concept to be supported. EXACT has been implemented for the object-oriented DBMS ADAM.
  Experience using active rules in database systems shown that implement, debug or maintain large rule bases it is not a straigthforward task. It is important to provide debugging and explanation facilities for two reasons:
 
  1. Inform which rules were fired during the execution of an operation (increasing the user´s confidence and understanding of the system)
  2. Help the designer to refine and analyze interactions among rules at execution time.
  The idiosyncrasies of the rule's flow of control, where the rules to be fired cannot be known in advance, introduce some different requirements from those found for conventional programming. DEAR is a graphical debugger implemented for the EXACT system. Special attention was paid in making explicit the context in which rules were fired. Rules also have been used as the implementation mechanism of more abstract statements (e.g. integrity constraint languages). DEAR was extended in order to explain the flow of execution, taken into account the level of abstraction from where the active component was expresed.
   
-> WSWL
 

Most Web sites offer loosely-coupled services where the role of the site is almost restricted to be a front-end for service enactment. If the number of services is large, the designer should struggle to provide a sense of coherence and unity among the services that can be accomplished throughout the site. This is far from being straightforward as control-flow and data-flow dependencies between services must be enforced. So far, these aspects are directly hard-coded and scattered around the site. This hinders not only development, but most important, maintenance and evolution of the site. Such situation stems from the lack of abstractions that impede current web programming.

  To overcome this situation, this work proposes a separate and declarative specification of the dependencies that regulate services enactment in web applications: the workview. A workview indicates the dependencies that harness the set of services that can be invoked from a site. This notion allows to distinguish service dependencies between how and where these services are enacted. Therefore, it affords service designers and page designers the freedom to work independently which can speed up the whole development process. These ideas have been realised in an implementation using JSP custom tags.
  More information about the WSWL project.