=Paper= {{Paper |id=Vol-214/paper-6 |storemode=property |title=Model-Driven Development of Digital Libraries: Generating the User Interface |pdfUrl=https://ceur-ws.org/Vol-214/paper6.pdf |volume=Vol-214 |dblpUrl=https://dblp.org/rec/conf/models/MaliziaGL06 }} ==Model-Driven Development of Digital Libraries: Generating the User Interface== https://ceur-ws.org/Vol-214/paper6.pdf
Model-Driven Development of Digital Libraries: Generating
                  the User Interface∗

                Alessio Malizia                       Esther Guerra                       Juan de Lara
            University “La Sapienza”               Universidad Carlos III            Universidad Autónoma
            Dep. Computer Science                 Dep. Computer Science              Dep. Computer Science
                  Rome, Italy                         Madrid, Spain                      Madrid, Spain
           malizia@di.uniroma1.it                eguerra@inf.uc3m.es                   jdelara@uam.es

ABSTRACT                                                        environments, and sets of services objectified to meet users’
Digital Libraries (DLs) are extremely complex information       needs. Underlying all these definitions, there is the agree-
systems that integrate findings from disciplines such as hy-    ment that DLs are fundamentally complex, due to their in-
pertext, information retrieval, multimedia services, database   terdisciplinary nature. They are usually built from scratch
management, and human-computer interaction. Designers           using specialized architectures that do not benefit from past
of DLs are often multidisciplinary teams, which include li-     design experiences. In addition, formal models, which sup-
brary technical staff and computer scientists. Wasted effort    port research and development in most computer science
and poor inter-operability can therefore ensue, raising the     subfields, are surprisingly unaccounted for within the DL
costs of DLs and risking the fluidity of information assets.    literature. This lack of formality leads to branching efforts
                                                                and has made interoperability one of the most crucial prob-
To alleviate these problems, we use a model-driven approach     lems faced by the DL field.
for the design and automatic generation of code for DLs.
In particular, we use a Domain Specific Visual Language         In Model-Driven Development (MDD), models are the pri-
(DSVL) made of four diagram types (collection, structural,      mary assets, from which code is generated for a particular
service and societal) which describe the different aspects of   platform. Moreover, many User Interface Description Lan-
a DL. We have built a code generator able to produce XUL        guages (e.g. UsiXML, XAML and XUL) have been intro-
code from the design models for the DL user interface. This     duced so far that address different aspects of a User Interface
XUL code integrates predefined components for the different     (UI) [7]. In our framework, we follow an MDD approach for
services, according to the model specification.                 UI generation. With this purpose we introduce a new Do-
                                                                main Specific Visual Language (DSVL), called VisMODLE
Categories and Subject Descriptors                              (Visual MOdeling of Digital Library Environments), for the
Information Systems [INFORMATION STORAGE AND                    description of the different aspects of a DL. It is made of
RETRIEVAL]: Digital Libraries—System Issues                     a set of notations for describing collections, structures, ser-
                                                                vices and societies – as a framework for providing formal
                                                                and empirical unification of DL systems. We have created
General Terms                                                   a modeling environment for VisMODLE, and a code gen-
Design, Languages, Human Factors
                                                                erator that generate software tools for a given DL model.
                                                                In particular, XUL code is generated for the UI in which
1.   INTRODUCTION                                               different predefined components are invoked as specified by
The proper concept of a Digital Library (DL) seems hard to      the models.
be completely understood and evades definitional consen-
sus [6]. For example, a Delphi study [4] of DLs coalesced       Our approach has the following advantages. The use of a
a broad definition: organized collection of resources, mech-    language that is visual makes it easier for people to inter-
anisms for browsing and searching, distributed networked        pret the model, while being domain-specific leaves less room
∗Work supported in part by the EC’s Human Potential Pro-        for misunderstandings. The language has been specified by
gramme under contract HPRN-CT-2002-00275, SegraVis,             metamodeling, what makes it possible to build tools provid-
and the Spanish Ministry of Science and Education, projects     ing automatic built-in syntactic and semantic checks that
MD2 (TIC200303654) and MOSAIC (TSI2005-08225-C07-               guide the DL designer in finding inconsistencies and gaps in
06).                                                            the designs, and making sure that a change in a model is au-
                                                                tomatically reflected in other parts where it is relevant. In
                                                                addition, although visual, the language is also formal, thus
                                                                it is possible to simulate and analyze the models to demon-
                                                                strate, understand and verify its behavior. Finally, deriving
                                                                code from the models minimizes the number of errors in the
                                                                final DL implementation.

                                                                The paper is organized as follows. Section 2 presents some
                                                                related research, while in section 3 we sketch the overall
proposed architecture. Section 4 presents the VisMODLE
language, for which a modeling environment has been gener-
ated, as explained in section 5. In section 6 we show the gen-
eration of the XUL code for the DL’s UI. Finally, section 7
ends with the conclusions and future work. Throughout the
paper we use a toy example of a university library.


2.     RELATED WORK
Formal models for DLs are rarely found. Wang [9] tried one
first attempt to fill this gap. His so-called hybrid approach
specifies a DL as a combination of a special-purpose data-
base and a hypermedia-based UI, and uses this combination                      Figure 1: The Framework.
to formalize DLs with the Z language.

Lee et al. [5] have developed a canonical model for informa-     basis for encoding elements (e.g. documents) of a collec-
tion systems, together with a compositional approach they        tion. The XML User Interface Language (XUL) is used to
applied to provide a partial solution for interoperability in    represent the DL visual interface. It provides a simple and
DLs. Castelli et al. [1] presented works in the context of       portable definition of common widgets, thus drastically re-
a multidimensional query language for DLs. They have de-         ducing the software development effort for visual interfaces.
scribed the concepts of documents developed on the notions       However, the framework is general and other UI description
of views and versions, metadata formats and specifications,      languages can be used.
and a first-order logic based language. Moreover, there are
some declarative approaches, which are not supported by          4. A DSVL FOR DIGITAL LIBRARIES
a strict underlying formal theory. These include the Digi-       In this section we present VisMODLE, a DSVL oriented to
tal Library Definition Language [8], and the DSpaces data        the design of DLs, as well as a running example, called Li-
model (which includes communities and bitstreams).               brary, to show the overall process starting from the basic
                                                                 entities of the model. The example is kept small for presen-
Examining the related bibliography we noted that there is        tation purposes, although our system has been able to deal
a lack of tools or computer-aided systems, for designing and     with real-life DLs.
developing DL systems. Moreover, there is a need for model-
ing interactions among DL systems and users (as proposed         In VisMODLE the specification of a DL encompasses four
in the HCI field) such as: scenario or activity-based ap-        complementary dimensions or viewpoints, including: multi-
proaches. The VisMODLE framework fills this gap provid-          media information supported by the DL (Collection Model);
ing a DSVL based approach for generating visual interaction      how that information is structured and organized (Struc-
oriented tools for DLs.                                          tural Model); the overall behavior of the DL (Service Model)
                                                                 and the different societies of actors and groups of services
                                                                 that act together to carry out the DL behavior (Societal
3.     MODEL DRIVEN APPROACH TO DLS                              Model). The complete metamodel is shown in Figure 2.
Our work investigates and empirically evaluates a new MDD
framework that allows DL designers to model ideas and
mechanisms specific to interaction in the DL domain, and
to transform them to the final (compilable) source code.

Figure 1 shows the framework. First, we have designed a
DSVL, called VisMODLE, for the modeling of the different
aspects of a DL. It has been defined through a metamodel
(step “a” in the figure, see section 4). Next, we have gen-
erated a modeling environment for VisMODLE using the
AToM3 tool [2] (see section 5). This environment allows DL
designers to visually specify DLs (step “b”). In addition,
it incorporates a code generator (“LibGen”) which gener-
ates code for the DL’s UI and selects predefined components
(from database “c”) that implement the functionality of the             Figure 2: The VisMODLE Metamodel.
services specified in the model (step “d”).
                                                                 Collections are sets of elements. They can model both static
To improve acceptability and interoperability, our frame-        (e.g. text) and dynamic content (e.g. presentation of a
work makes flexible use of existing standard specification       video). Our running example includes a collection model
sub-languages for representing DL concepts. Therefore, most      (not shown for space constraints) that defines a collection
of the model primitives are defined as XML-based elements,       (called Library) of two documents: long1.pdf and long2.pdf.
which can enclose other sub-languages that help to define
DL concepts. In more detail, MIME1 types constitute the          The Structure specifies the way in which parts of a whole
                                                                 are arranged or organized. In DLs, structures can represent
1
    Multipurpose Internet Mail Extensions                        hypertexts, taxonomies, system connections, user relation-
ships, and containment. The window to the right in Fig-         of graph transformation. Recently, AToM3 has been pro-
ure 5 shows the structural model for the running example.       vided with the possibility to describe multi-view DSVLs [3],
Thus, the collection Library is made of documents struc-        such as the UML or VisMODLE. These are notations made
tured with Publication, Author and Title metadata infor-        of a set of different diagram types, each one describing a
mation (i.e. three Struct elements). Metadata entities are      different aspect or viewpoint of the system.
linked together with the node relation (organized as a tree)
and linked to a collection by a metadata link type relation.

Services as scenarios tell what happens to the elements in
the collection and through the structures. Taken together
the services describe scenarios, activities, tasks, and oper-
ations, and those ultimately specify the functionalities of a
DL. Human information needs, and the processes of satisfy-
ing them in the context of DLs, are well suited to descrip-
tion with services, including these key types: fact-finding,
learning, gathering, and exploring. In our example we make
available two basic services: Front Desk and Search. The
Front Desk is responsible for managing communications be-
tween actors and it is asynchronous (sync attribute is set
to nowait), while the Search service executes queries on the
DL and it is synchronous.
                                                                Figure 4: Defining the Environment for VisMODLE.
Finally, a Society is a set of entities and the relations be-
tween them. The entities include actors as well as hardware     Figure 4 shows a moment in the definition of the modeling
and software components, which either use or support ser-       environment for VisMODLE. Window “1” contains the com-
vices. A society is the highest-level component of a DL,        plete metamodel for the language. A tool to specify its dif-
which exists to serve the information needs of its entities     ferent viewpoints is shown in window “2”. We have defined
and to describe the context of its use. DLs are used for        four viewpoints: Collection, Structural, Service and Societal.
collecting, preserving, and sharing information artifacts be-   The metamodel of each one of them is specified as a subset of
tween society members. Figure 3 shows the societal model        the complete VisMODLE metamodel, as window “3” shows
for our example. It involves two Actors: Student and Li-        for the case of the Structural viewpoint. In addition, there is
brarian. The scenario represents a Student trying to borrow     a special viewpoint which contains the full metamodel: the
a paper from the Library; he interacts with the Front Desk      repository. It is used for ensuring consistency between differ-
service requesting the paper and obtaining a response mes-      ent models. In the figure, relations between the viewpoints
sage about its availability. The Front Desk service forward     represent transformations, expressed by graph grammars,
the borrow request to the Librarian actor. Then, the Li-        which are automatically generated from the metamodels for
brarian sends a doc request message to the Search service,      model consistency purposes [3].
which queries the document collection (get operation) using
metadata information provided by the borrow request, and
waits the result to send back the response. The service re-
turns an is available boolean message which is propagated
as a response to the Librarian and eventually to the Student.




                                                                 Figure 5: Modeling Environment for VisMODLE.

                                                                Figure 5 shows the generated modeling environment. The
                                                                background window shows the four different views created
                                                                by the DL designer for our Library example. The window on
              Figure 3: A Societal Model.                       top shows one of them (the structural model). Note how,
                                                                the generated environment allows the final user to create
5.   THE MODELING ENVIRONMENT                                   models, ensure their consistency, load and save projects. We
We have generated a modeling environment for VisMODLE           have added additional functionality to the tool in order to
using the metamodeling tool AToM3 [2]. This is a tool for       generate XUL code for the UI and to invoke the necessary
the description and automatic generation of modeling envi-      services. This is explained in the next section.
ronments for DSVLs. It allows defining the DSVL syntax by
means of metamodeling and model manipulation by means           6.   GENERATING THE USER INTERFACE
The model of the specific DL drives the UI generation. The       metadata operations, such as insertion, deletion or editing.
UI layout is generated mainly from the information provided
by the structural and collection models. In particular, code     These automatically generated interfaces have a standard
is automatically generated by “LibGen” when the DL de-           template design that can be integrated by the users/designers
signer modifies these types of models, thus immediately see-     simply adding code or additional style templates in the ap-
ing the result of a change. It is also possible to produce       propriate template placeholders. In VisMODLE, the soci-
code in a batch style. The UI events are managed by invok-       etal model drives the linking among the visual interface tem-
ing the appropriate services according to the imported XUL       plates (XUL code) and the services implementation (Java
templates, as shown in Figure 1.                                 template code for browsing, indexing, searching, ...) in order
                                                                 to generate the full DL system (actors, services, collections
The generated UI is built upon a set of XUL template files       and their interactions).
that are automatically specialized depending on the attributes
and relationships designed in the modeling phase. The lay-       7.   CONCLUSIONS AND FUTURE WORK
out template for the UI is divided into two columns (see         In this paper we have presented a novel MDD approach for
Figure 6, that shows the UI generated for the actor Librar-      the generation of DLs. For this purpose, we have designed
ian in our example). The left part is made of three boxes:       the VisMODLE DSVL, generated a customized modeling
Collection, MetaData and MetaData Operations. The right          environment, and built a code generator able to produce
part manages visualization and multimedia information ob-        the full application. In the present paper, we have focused
tained from documents. The basic features provided with          on the automatic generation of the UI, using XUL.
the UI templates are: document loading and visualization,
and metadata organization and management.                        Currently, we are working in extending VisMODLE with
                                                                 a behavioral diagram, and in adding analysis and simula-
                                                                 tion capabilities to the framework. Moreover, we intend to
                                                                 support XDoclet for the specification of the VisMODLE ser-
                                                                 vices. It allows automatic code generation, compliant with
                                                                 a standard definition which simplify coding for various tech-
                                                                 nologies, such as: Java, Web Services and Web Portals.

                                                                 8.   REFERENCES
                                                                 [1] D. Castelli, C. Meghini, and P. Pagano. Foundations of
                                                                     a multidimensional query language for digital libraries.
                                                                     In ECDL, pages 251–265, 2002.
                                                                 [2] J. de Lara and H. Vangheluwe. AToM3 : A Tool for
                                                                     Multi-Formalism Modelling and Meta-Modelling. In
                                                                     Proc. of FASE’2002, volume 2306 of LNCS, pages
                                                                     174–188. Springer, 2002.
                                                                 [3] E. Guerra, P. Dı́az, and J. de Lara. A formal approach
     Figure 6: Generated UI for the Example.                         to the generation of visual language environments
                                                                     supporting multiple views. In VL/HCC, pages 284–286.
The Collection box (“B” in the figure) manages the visu-             IEEE Computer Society, 2005.
alization of documents. The list of documents is obtained        [4] T. Kochtanek and K. Hein. Delphi study of digital
from the attribute documents of the collections specified in         libraries. Inf. Proc. Manag., 35(3):245–254, 1999.
the DL design (i.e. long1.pdf and long2.pdf in the collection
Library of our example). The visualization template works        [5] S. Y. Lee, M.-L. Lee, T. W. Ling, and L. A.
according to the (MIME) data type specified in the model-            Kalinichenko. Designing good semi-structured
ing phase. In fact, by selecting a document, the correspond-         databases and conceptual modeling. In ER, pages
ing file is uploaded and visualized (starting the appropriate        131–145, 1999.
viewer, see “A” in the figure) within the generated UI, and      [6] J. C. R. Licklider. Libraries of the Future. MIT Press,
in addition can be afterwards managed (print, save. . . ).           Cambridge, Mass., 1965.

The MetaData box (“C” in the figure) manages the tree            [7] Q. Limbourg, J. Vanderdonckt, B. Michotte,
structure used for representing the metadata information.            L. Bouillon, and V. López-Jaquero. Usixml: A language
The tree structure of the metadata is generated according            supporting multi-path development of user interfaces.
to the metadata categorization modeled by the designer in            In R. Bastide, P. A. Palanque, and J. Roth, editors,
the structural model (model to the right of Figure 5). In            EHCI/DS-VIS, volume 3425 of LNCS, pages 200–220.
our example a tree has been generated with a root metadata           Springer, 2004.
node Publication that contains two children metadata nodes       [8] K. Maly, M. Zubair, H. Anan, D. Tan, and Y. Zhang.
Title and Author. The XUL template contains all the basic            Scalable digital libraries based on ncstrl/dienst. In
layout and action features for managing a tree structure.            ECDL, pages 168–179, 2000.

The MetaData operations box (“D” in the figure) is activated     [9] B. Wang. A hybrid system approach for supporting
by clicking on a node of the metadata box. It manages                digital libraries. JDL, 2(2-3):91–110, 1999.