=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==
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.