AriadneTool: Automating the Development of Hypermedia and Web Applications
by Paloma Díaz, Susana Montero and Ignacio Aedo
Because of the increasing size and complexity of hypermedia and Web applications, it is acutely necessary to use design models and methods whenever quality, usability, maintainability or re-usability are critical. AriadneTool is a software environment devoted to assisting hypermedia and Web developers by providing them with tools to specify structural, navigation, presentation, interaction and access requirements in a flexible and integrated manner.
AriadneTool is based upon the Ariadne Development Method (ADM), both of which were created at DEI Laboratory at University Carlos III of Madrid. They constitute the primary result of a three-year national project funded by the Ministerio de Ciencia y Tecnología (project no. TIC2000-0402). This work it is also strongly related to the project 'System to Develop Hypermedia/Web Applications Based on the Use of Design Patterns', funded by CAM and FSE (project no. 07T/0024/2003 1).
ADM proposes a detailed and flexible process to help hypermedia and Web developers produce design models of their applications. Thus, developers can discuss design issues whilst specifying, at different levels of abstraction, how their system is structured, what navigation capabilities will be offered (including links and other navigation aids such as guided tours or maps), how the user will interact with the system components, which functional requirements are identified, what presentation features the system components have and which access rules will apply in order to provide a useful and safe environment. The method is based on the following premises:
- To describe a flexible and user-centred development process: ADM establishes a systematic, iterative and user-centred development process that relies on three phases - Conceptual and Detailed Design which address the hypermedia development from two different abstraction levels, and the Evaluation phase based chiefly on prototypes assessment. Each phase is decomposed into a number of activities, each of which produces certain artefacts (diagrams, specifications, documents and catalogues). Moreover, the method is flexible; developers can establish a process model fitting their needs, so that both bottom-up and top-down development approaches are supported.
- To assume a reference model to describe the real world and transfer it to a physical system: the ADM notation used for the design is based on low-level entities belonging to the Labyrinth hypermedia reference model. These entities represent the core components of any hypermedia or Web system (eg nodes, contents, links, anchors, attributes, events, roles), as well as basic constructs (eg location function, composition mechanism, anchoring system, time and space-based constraints) offering a common language valid for different implementation platforms.
- To provide design artefacts for specifying different kinds of system requirements: ADM integrates several design views within a unified framework, including navigation, presentation, structure, behaviour, function and access. These views enable designers or developers to specify characteristics of the desired system in a progressive but integrated way.
- To support validation and integrity rules among design phases and products: ADM provides a number of inter- and intra-validation rules with which to check completeness, consistency and integrity among the various design artefacts created at each phase of the development process.
- To offer software support tools assisting in the development process of hypermedia and Web systems: ADM is supported by a design toolkit named AriadneTool.
For each hypermedia or Web system, an AriadneTool project must be created. The project will hold all the ADM products and documentation concerning such a design. Moreover, AriadneTool users will be able to validate their products, checking the completeness, correctness and integrity of the design as well as generating templates in SMIL, HTML, XML and RDF formats. The architecture of this tool is shown in the Figure.
|Architecture of the AriadneTool.
The AriadneTool front-end is the graphical interface used by developers to design their projects. Due to its highly interactive nature, the toolkit is being developed using an iterative design process, during which the evaluation of AriadneTool is considered vital to improving its utility and usability. Data Repositories hold specific projects created with AriadneTool. The Meta-Data Storage contains all ADM modelling constructs, including core entities and the design artefacts made up by such entities. The Validation Module validates the completeness and correctness of the design artefacts, noting any mistake or warning to the designer. In order to implement this module, ontologies are integrated within the tool. Ontologies help to describe the model in a complete, comprehensible and formal manner and make it possible to check the application semantics. The Prototype Generator dynamically produces the application prototype by querying the Dynamic Repository. Because all design views of an application have been specified declaratively, prototypes can be generated for different delivery languages. All our efforts have been aimed at mark-up languages proposed by W3C, such as HTML, XML, SMIL and RDF/RDFS.
AriadneTool is implemented using JDK1.4, which allows us to obtain an independent operation platform.
Paloma Díaz, Universidad Carlos III de