<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Model-Driven Development of Digital Libraries: Generating the User Interface¤</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Esther Guerra</string-name>
          <email>eguerra@inf.uc3m.es</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Alessio Malizia University “La Sapienza” Dep.</institution>
          <addr-line>Computer Science Rome</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Juan de Lara Universidad Aut o ́noma Dep.</institution>
          <addr-line>Computer Science Madrid</addr-line>
          ,
          <country country="ES">Spain</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Universidad Carlos III Dep.</institution>
          <addr-line>Computer Science Madrid</addr-line>
          ,
          <country country="ES">Spain</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Digital Libraries (DLs) are extremely complex information systems that integrate ¯ndings from disciplines such as hypertext, information retrieval, multimedia services, database management, and human-computer interaction. Designers of DLs are often multidisciplinary teams, which include library technical sta® and computer scientists. Wasted e®ort and poor inter-operability can therefore ensue, raising the costs of DLs and risking the °uidity of information assets. To alleviate these problems, we use a model-driven approach for the design and automatic generation of code for DLs. In particular, we use a Domain Speci¯c Visual Language (DSVL) made of four diagram types (collection, structural, service and societal) which describe the di®erent aspects of a DL. We have built a code generator able to produce XUL code from the design models for the DL user interface. This XUL code integrates prede¯ned components for the di®erent services, according to the model speci¯cation.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>¤Work supported in part by the EC's Human Potential
Programme under contract HPRN-CT-2002-00275, SegraVis,
and the Spanish Ministry of Science and Education, projects
MD2 (TIC200303654) and MOSAIC
(TSI2005-08225-C0706).
environments, and sets of services objecti¯ed to meet users'
needs. Underlying all these de¯nitions, there is the
agreement that DLs are fundamentally complex, due to their
interdisciplinary nature. They are usually built from scratch
using specialized architectures that do not bene¯t from past
design experiences. In addition, formal models, which
support research and development in most computer science
sub¯elds, are surprisingly unaccounted for within the DL
literature. This lack of formality leads to branching e®orts
and has made interoperability one of the most crucial
problems faced by the DL ¯eld.</p>
      <p>
        In Model-Driven Development (MDD), models are the
primary assets, from which code is generated for a particular
platform. Moreover, many User Interface Description
Languages (e.g. UsiXML, XAML and XUL) have been
introduced so far that address di®erent aspects of a User Interface
(UI) [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. In our framework, we follow an MDD approach for
UI generation. With this purpose we introduce a new
Domain Speci¯c Visual Language (DSVL), called VisMODLE
(Visual MOdeling of Digital Library Environments), for the
description of the di®erent aspects of a DL. It is made of
a set of notations for describing collections, structures,
services and societies { as a framework for providing formal
and empirical uni¯cation of DL systems. We have created
a modeling environment for VisMODLE, and a code
generator that generate software tools for a given DL model.
In particular, XUL code is generated for the UI in which
di®erent prede¯ned components are invoked as speci¯ed by
the models.
      </p>
      <p>Our approach has the following advantages. The use of a
language that is visual makes it easier for people to
interpret the model, while being domain-speci¯c leaves less room
for misunderstandings. The language has been speci¯ed by
metamodeling, what makes it possible to build tools
providing automatic built-in syntactic and semantic checks that
guide the DL designer in ¯nding inconsistencies and gaps in
the designs, and making sure that a change in a model is
automatically re°ected 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
demonstrate, understand and verify its behavior. Finally, deriving
code from the models minimizes the number of errors in the
¯nal DL implementation.</p>
      <p>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
generated, as explained in section 5. In section 6 we show the
generation 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.</p>
    </sec>
    <sec id="sec-2">
      <title>2. RELATED WORK</title>
      <p>
        Formal models for DLs are rarely found. Wang [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] tried one
¯rst attempt to ¯ll this gap. His so-called hybrid approach
speci¯es a DL as a combination of a special-purpose
database and a hypermedia-based UI, and uses this combination
to formalize DLs with the Z language.
      </p>
      <p>
        Lee et al. [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] have developed a canonical model for
information systems, together with a compositional approach they
applied to provide a partial solution for interoperability in
DLs. Castelli et al. [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] presented works in the context of
a multidimensional query language for DLs. They have
described the concepts of documents developed on the notions
of views and versions, metadata formats and speci¯cations,
and a ¯rst-order logic based language. Moreover, there are
some declarative approaches, which are not supported by
a strict underlying formal theory. These include the
Digital Library De¯nition Language [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], and the DSpaces data
model (which includes communities and bitstreams).
Examining the related bibliography we noted that there is
a lack of tools or computer-aided systems, for designing and
developing DL systems. Moreover, there is a need for
modeling interactions among DL systems and users (as proposed
in the HCI ¯eld) such as: scenario or activity-based
approaches. The VisMODLE framework ¯lls this gap
providing a DSVL based approach for generating visual interaction
oriented tools for DLs.
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. MODEL DRIVEN APPROACH TO DLS</title>
      <p>Our work investigates and empirically evaluates a new MDD
framework that allows DL designers to model ideas and
mechanisms speci¯c to interaction in the DL domain, and
to transform them to the ¯nal (compilable) source code.</p>
      <p>To improve acceptability and interoperability, our
framework makes °exible use of existing standard speci¯cation
sub-languages for representing DL concepts. Therefore, most
of the model primitives are de¯ned as XML-based elements,
which can enclose other sub-languages that help to de¯ne
DL concepts. In more detail, MIME1 types constitute the
1Multipurpose Internet Mail Extensions
basis for encoding elements (e.g. documents) of a
collection. The XML User Interface Language (XUL) is used to
represent the DL visual interface. It provides a simple and
portable de¯nition of common widgets, thus drastically
reducing the software development e®ort for visual interfaces.
However, the framework is general and other UI description
languages can be used.</p>
    </sec>
    <sec id="sec-4">
      <title>4. A DSVL FOR DIGITAL LIBRARIES</title>
      <p>In this section we present VisMODLE, a DSVL oriented to
the design of DLs, as well as a running example, called
Library, to show the overall process starting from the basic
entities of the model. The example is kept small for
presentation purposes, although our system has been able to deal
with real-life DLs.</p>
      <p>In VisMODLE the speci¯cation of a DL encompasses four
complementary dimensions or viewpoints, including:
multimedia information supported by the DL (Collection Model);
how that information is structured and organized
(Structural Model); the overall behavior of the DL (Service Model)
and the di®erent societies of actors and groups of services
that act together to carry out the DL behavior (Societal
Model). The complete metamodel is shown in Figure 2.</p>
      <p>Collections are sets of elements. They can model both static
(e.g. text) and dynamic content (e.g. presentation of a
video). Our running example includes a collection model
(not shown for space constraints) that de¯nes a collection
(called Library) of two documents: long1.pdf and long2.pdf.
The Structure speci¯es the way in which parts of a whole
are arranged or organized. In DLs, structures can represent
hypertexts, taxonomies, system connections, user
relationships, and containment. The window to the right in
Figure 5 shows the structural model for the running example.
Thus, the collection Library is made of documents
structured with Publication, Author and Title metadata
information (i.e. three Struct elements). Metadata entities are
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
operations, and those ultimately specify the functionalities of a
DL. Human information needs, and the processes of
satisfying them in the context of DLs, are well suited to
description with services, including these key types: fact-¯nding,
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
between actors and it is asynchronous (sync attribute is set
to nowait ), while the Search service executes queries on the
DL and it is synchronous.</p>
      <p>Finally, a Society is a set of entities and the relations
between them. The entities include actors as well as hardware
and software components, which either use or support
services. A society is the highest-level component of a DL,
which exists to serve the information needs of its entities
and to describe the context of its use. DLs are used for
collecting, preserving, and sharing information artifacts
between society members. Figure 3 shows the societal model
for our example. It involves two Actors: Student and
Librarian. The scenario represents a Student trying to borrow
a paper from the Library; he interacts with the Front Desk
service requesting the paper and obtaining a response
message about its availability. The Front Desk service forward
the borrow request to the Librarian actor. Then, the
Librarian sends a doc request message to the Search service,
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
returns an is available boolean message which is propagated
as a response to the Librarian and eventually to the Student.</p>
    </sec>
    <sec id="sec-5">
      <title>5. THE MODELING ENVIRONMENT</title>
      <p>
        We have generated a modeling environment for VisMODLE
using the metamodeling tool AToM3 [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. This is a tool for
the description and automatic generation of modeling
environments for DSVLs. It allows de¯ning the DSVL syntax by
means of metamodeling and model manipulation by means
of graph transformation. Recently, AToM3 has been
provided with the possibility to describe multi-view DSVLs [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ],
such as the UML or VisMODLE. These are notations made
of a set of di®erent diagram types, each one describing a
di®erent aspect or viewpoint of the system.
Figure 4 shows a moment in the de¯nition of the modeling
environment for VisMODLE. Window \1" contains the
complete metamodel for the language. A tool to specify its
different viewpoints is shown in window \2". We have de¯ned
four viewpoints: Collection, Structural, Service and Societal.
The metamodel of each one of them is speci¯ed as a subset of
the complete VisMODLE metamodel, as window \3" shows
for the case of the Structural viewpoint. In addition, there is
a special viewpoint which contains the full metamodel: the
repository. It is used for ensuring consistency between
di®erent models. In the ¯gure, relations between the viewpoints
represent transformations, expressed by graph grammars,
which are automatically generated from the metamodels for
model consistency purposes [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
    </sec>
    <sec id="sec-6">
      <title>GENERATING THE USER INTERFACE</title>
      <p>The model of the speci¯c DL drives the UI generation. The
UI layout is generated mainly from the information provided
by the structural and collection models. In particular, code
is automatically generated by \LibGen" when the DL
designer modi¯es these types of models, thus immediately
seeing the result of a change. It is also possible to produce
code in a batch style. The UI events are managed by
invoking the appropriate services according to the imported XUL
templates, as shown in Figure 1.</p>
      <p>The generated UI is built upon a set of XUL template ¯les
that are automatically specialized depending on the attributes
and relationships designed in the modeling phase. The
layout template for the UI is divided into two columns (see
Figure 6, that shows the UI generated for the actor
Librarian in our example). The left part is made of three boxes:
Collection, MetaData and MetaData Operations. The right
part manages visualization and multimedia information
obtained from documents. The basic features provided with
the UI templates are: document loading and visualization,
and metadata organization and management.</p>
      <p>The Collection box (\B" in the ¯gure) manages the
visualization of documents. The list of documents is obtained
from the attribute documents of the collections speci¯ed in
the DL design (i.e. long1.pdf and long2.pdf in the collection
Library of our example). The visualization template works
according to the (MIME) data type speci¯ed in the
modeling phase. In fact, by selecting a document, the
corresponding ¯le is uploaded and visualized (starting the appropriate
viewer, see \A" in the ¯gure) within the generated UI, and
in addition can be afterwards managed (print, save. . . ).
The MetaData box (\C" in the ¯gure) manages the tree
structure used for representing the metadata information.
The tree structure of the metadata is generated according
to the metadata categorization modeled by the designer in
the structural model (model to the right of Figure 5). In
our example a tree has been generated with a root metadata
node Publication that contains two children metadata nodes
Title and Author. The XUL template contains all the basic
layout and action features for managing a tree structure.
The MetaData operations box (\D" in the ¯gure) is activated
by clicking on a node of the metadata box. It manages
metadata operations, such as insertion, deletion or editing.
These automatically generated interfaces have a standard
template design that can be integrated by the users/designers
simply adding code or additional style templates in the
appropriate template placeholders. In VisMODLE, the
societal model drives the linking among the visual interface
templates (XUL code) and the services implementation (Java
template code for browsing, indexing, searching, ...) in order
to generate the full DL system (actors, services, collections
and their interactions).</p>
    </sec>
    <sec id="sec-7">
      <title>7. CONCLUSIONS AND FUTURE WORK</title>
      <p>In this paper we have presented a novel MDD approach for
the generation of DLs. For this purpose, we have designed
the VisMODLE DSVL, generated a customized modeling
environment, and built a code generator able to produce
the full application. In the present paper, we have focused
on the automatic generation of the UI, using XUL.
Currently, we are working in extending VisMODLE with
a behavioral diagram, and in adding analysis and
simulation capabilities to the framework. Moreover, we intend to
support XDoclet for the speci¯cation of the VisMODLE
services. It allows automatic code generation, compliant with
a standard de¯nition which simplify coding for various
technologies, such as: Java, Web Services and Web Portals.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>D.</given-names>
            <surname>Castelli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Meghini</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Pagano</surname>
          </string-name>
          .
          <article-title>Foundations of a multidimensional query language for digital libraries</article-title>
          .
          <source>In ECDL</source>
          , pages
          <volume>251</volume>
          {
          <fpage>265</fpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>J. de Lara</surname>
            and
            <given-names>H.</given-names>
          </string-name>
          <string-name>
            <surname>Vangheluwe</surname>
          </string-name>
          .
          <article-title>AToM3: A Tool for Multi-Formalism Modelling and Meta-Modelling</article-title>
          .
          <source>In Proc. of FASE'</source>
          <year>2002</year>
          , volume
          <volume>2306</volume>
          <source>of LNCS</source>
          , pages
          <volume>174</volume>
          {
          <fpage>188</fpage>
          . Springer,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>E.</given-names>
            <surname>Guerra</surname>
          </string-name>
          , P. D¶³az, and J. de Lara.
          <article-title>A formal approach to the generation of visual language environments supporting multiple views</article-title>
          .
          <source>In VL/HCC</source>
          , pages
          <volume>284</volume>
          {
          <fpage>286</fpage>
          . IEEE Computer Society,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>T.</given-names>
            <surname>Kochtanek</surname>
          </string-name>
          and
          <string-name>
            <given-names>K.</given-names>
            <surname>Hein</surname>
          </string-name>
          .
          <article-title>Delphi study of digital libraries</article-title>
          .
          <source>Inf. Proc. Manag</source>
          .,
          <volume>35</volume>
          (
          <issue>3</issue>
          ):
          <volume>245</volume>
          {
          <fpage>254</fpage>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>S. Y.</given-names>
            <surname>Lee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.-L.</given-names>
            <surname>Lee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T. W.</given-names>
            <surname>Ling</surname>
          </string-name>
          , and
          <string-name>
            <given-names>L. A.</given-names>
            <surname>Kalinichenko</surname>
          </string-name>
          .
          <article-title>Designing good semi-structured databases and conceptual modeling</article-title>
          .
          <source>In ER</source>
          , pages
          <volume>131</volume>
          {
          <fpage>145</fpage>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>J. C. R.</given-names>
            <surname>Licklider</surname>
          </string-name>
          .
          <article-title>Libraries of the Future</article-title>
          . MIT Press, Cambridge, Mass.,
          <year>1965</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Q.</given-names>
            <surname>Limbourg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Vanderdonckt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Michotte</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Bouillon</surname>
          </string-name>
          , and V. L¶
          <string-name>
            <surname>opez-Jaquero</surname>
          </string-name>
          .
          <article-title>Usixml: A language supporting multi-path development of user interfaces</article-title>
          . In R. Bastide,
          <string-name>
            <given-names>P. A.</given-names>
            <surname>Palanque</surname>
          </string-name>
          , and J. Roth, editors,
          <source>EHCI/DS-VIS</source>
          , volume
          <volume>3425</volume>
          <source>of LNCS</source>
          , pages
          <volume>200</volume>
          {
          <fpage>220</fpage>
          . Springer,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>K.</given-names>
            <surname>Maly</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Zubair</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Anan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Tan</surname>
          </string-name>
          , and
          <string-name>
            <surname>Y. Zhang.</surname>
          </string-name>
          <article-title>Scalable digital libraries based on ncstrl/dienst</article-title>
          . In ECDL, pages
          <volume>168</volume>
          {
          <fpage>179</fpage>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>B.</given-names>
            <surname>Wang</surname>
          </string-name>
          .
          <article-title>A hybrid system approach for supporting digital libraries</article-title>
          .
          <source>JDL</source>
          ,
          <volume>2</volume>
          (
          <issue>2</issue>
          -3):
          <volume>91</volume>
          {
          <fpage>110</fpage>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>