06-05-2014, 12:44 PM
ArgoUWE: A CASE Tool for Web Applications
ArgoUWE.pdf (Size: 671.48 KB / Downloads: 44)
Abstract
The UWE methodology provides a systematic approach for the development of Web applications.
UWE is based on a conservative extension of the UML and comprises the separate modeling of the
conceptual, navigational and presentational aspects of Web applications. We present the CASE tool
ArgoUWE to support the design phase of the UWE development process. It is implemented as a plugin
module of the open source ArgoUML modeling tool. ArgoUWE fully integrates the UWE metamodel and
provides an XMI extension. The construction process of Web applications is supported by incorporating the
semi-automatic UWE development steps as well as the OCL well-formedness rules of the UWE metamodel
that allow the designer to check the consistency of the UWE models during editing. ArgoUWE is part of the
OpenUWE tool environment for model-driven generation of Web applications.
Introduction
The Web Engineering field is rich in design methods supporting the complex task of designing Web
applications. From our point of view the usability requirements to such methods are the following: to
be based on standards, to define a process for the systematic development of Web applications and to
provide tool support for the model-driven design and generation of Web applications. The well-known
standard used for modeling is the Unified Modeling Language [UML 2003].
Most of the existing Web engineering methods fulfill some of these usability requirements, but not all
of them. Interesting approaches for the systematic development supported by CASE-tools are those for
the method OO-H process [Gomez et al. 2001] and for the modeling language WebML [Ceri et al.
2002]. Conallen [2003] proposes an extension of UML for a more architecture-oriented and
implementation-based approach.
The main focus of our UML-based Web Engineering (UWE) methodology is to stick to the use of
standards in the systematic design followed by a semi-automatic generation of Web applications
fulfilling this way as close as possible the usability requirements we enumerated above. First, as
indicated by its name, UWE is UML compliant. Second, UWE defines a systematic development
process that can be performed semi-automatically. Third, the tool support is guaranteed by the
OpenUWE model-driven development environment that comprises at the current implementation state
two CASE tools: ArgoUWE to aid the design and UWEXML to generate Web applications
automatically.
Developing Web Applications with UWE
The UML-based Web Engineering (UWE) is a software engineering approach for the development of
Web applications that is continuously extended since 1999 [Baumeister et al. 1999; Koch & Kraus
2003]. UWE supports Web application development with special focus on systematization [Koch &
Kraus 2002]. Being a software engineering approach it requires three pillars to be based on: a process,
a notation and tool-support. The focus of this article is the tool-support, we restrict ourselves to give in
this section a brief overview of the notation and the process
The UWE process is object-oriented, iterative and incremental. It is based on the Unified Software
Development Process [Jacobson et al. 1999] and covers the whole life-cycle of Web applications
focusing on design and automatic generation [Koch & Kraus 2003].
The UWE notation used for the analysis and design of Web applications is a lightweight UML profile
[UML 2003] developed in various previous works. Such a profile is a UML extension based on the
extension mechanisms defined by the UML itself, i.e. it only includes stereotypes, tagged values and
constraints. These modeling elements are used in the design of the conceptual model, the navigation
structure and the presentation aspects of Web applications, as it is shown in Section 2.1. The UWE
methodology provides guidelines for the systematic and stepwise construction of models. The
precision can be augmented by the definition of constraints in the Object Constraint Language (OCL
[Warmer & Kleppe 1999]) of the UML. The core modeling activities are the requirements analysis,
conceptual, navigation and presentation design.
Conceptual Modeling
UWE proposes the use of UML use cases and activity diagrams for capturing the requirements [Koch
& Kraus 2002]. A conceptual model includes those objects needed to support the functionality the
system will offer to the users. The conceptual design aims to build a conceptual model, which attempts
to ignore as many of the navigation paths, presentation and interaction aspects as possible. These
aspects are postponed to the steps of the navigation and presentation modeling. The main UML
modeling elements used in the conceptual model are: class, association and package. These are
represented graphically using the UML notation [UML 2003]. Figure 1 shows the conceptual model
for the Conference example (upper left).
Navigation Modeling
Navigation design activities comprise the specification of which objects can be visited by navigation
through the Web application and how these objects can be reached through access structures. UWE
proposes a set of guidelines and semi-automatic mechanisms for modeling the navigation of an
application [Koch & Kraus 2002]. Figure 1 (upper right) shows the result of the semi-automatic
generation of the navigation model for the conference example. The navigation relevant classes of the
conceptual model are transformed into navigation classes, the associations into navigation links, such
as navigation class Conference and the navigation link between class Conference and class Paper.
Instead, the navigation links for accepted and rejected papers as well as the navigation link between
Review and Paper have been added manually.
ArgoUWE Metamodel
The “Novosoft UML library” (NSUML), on which ArgoUML is based, not only provides a library for
working with UML 1.3 models in terms of Java objects, but also contains an XML-based generator for
arbitrarily changed and extended (UML) metamodels. As UWE uses additional modeling concepts
targeted onto Web applications, ArgoUWE uses NSUML to generate an extended UML/UWE
metamodel that again allows the programmer to handle UWE entities in a seamless and
straightforward manner. In particular, we chose a “heavyweight extension” for the physical metamodel
that is generated by NSUML. Alternatively, we could employ the UWE lightweight UML profile
directly. However, stereotyping and tagging is not compatible with the concept of overloading in
object-oriented programming. For the current ArgoUML versions, the adaptations of the UML
metamodel merely consist of extending the NSUML generator resource files by the UWE metaclasses
ConceptualClass, NavigationClass, PresentationClass, etc.
Related Work
Many methods for the development of Web applications have been proposed since the middle of the
nineties. An excellent overview is presented in Schwabe [2001] where the most relevant methods,
such as OOHDM [Rossi et al. 2001], OO-H [Gomez et al. 2001], WSDM [De Troyer et al. 2001],
W2000 [Garzotto et al. 2001] and UWE [Koch et al. 2001] are described on the basis of a same case
study. Only some of them have implemented a CASE-tool supporting the systematic development.
The most advanced tool-support is offered for the method OO-H the modeling language WebML.
VisualWADE is the tool supporting the OO-H method that includes a set of model compilers to
provide automatic code generation capabilities and rapid prototyping. In contrast to our ArgoUWE, it
uses the UML [UML 2003] only in the first phase of the development process.
Conclusions and Future Work
We have presented the CASE tool ArgoUWE that we have developed for the computer aided design of
Web applications using the UWE methodology. ArgoUWE is built as a flexible extension of
ArgoUML due to the plugin architecture facilities provided by the ArgoUML tool (version 0.10). We
stress that the core of the CASE tool is the underlying UWE metamodel defined as a conservative
extension of the UML metamodel.
We outlined in this work the basic ideas behind the UWE methodology and how ArgoUWE is
integrated in the OpenUWE tool suite environment to achieve a model-driven generation of such Web
applications. In addition we presented a running example to show how the tool supports the design of
the three main UWE models: conceptual, navigation, and presentation models in a semi-automatic
process where user and tool-activities are interleaved.
We are currently working on minor improvements of the usability of ArgoUWE and the migration to
the latest version of ArgoUML. We plan to include the UWE well-formedness rules into the design
critique mechanism provided by ArgoUML. This model checking mechanism allows the continuous
verification of the rules in contrast to the current checking process that is explicitly triggered by the
modeler. Further, we will include better support for iterative and incremental modeling. Finally, we
will improve ArgoUWE with the new modeling elements incorporated in UWE as well as additional
well-formedness rules needed in the design of personalized and business process guided Web
applications.