<!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>Towards a Model-Driven Product Line for Web systems</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Jabier Martinez</string-name>
          <email>jabier.martinez@esi.es</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Cristina Lopez</string-name>
          <email>cristina.lopez@esi.es</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Estibaliz Ulacia</string-name>
          <email>e.ulacia@ibermatica.com</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marta del Hierro</string-name>
          <email>mdelhierro@conmunica.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Conmunica Mediatrader Parque Tecnologico 105 E-48170 Zamudio</institution>
          ,
          <addr-line>Bizkaia</addr-line>
          ,
          <country country="ES">Spain</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>European Software Institute (ESI-Tecnalia) Parque Tecnologico 204 E-48170 Zamudio</institution>
          ,
          <addr-line>Bizkaia</addr-line>
          ,
          <country country="ES">Spain</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Ibermatica Innovation Institute Parque Tecnologico 205 E-48170 Zamudio</institution>
          ,
          <addr-line>Bizkaia</addr-line>
          ,
          <country country="ES">Spain</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Companies focused in the design and implementation of Web based systems, which are also interested in the adoption of state-of-theart Model-Driven Web Engineering and Software Product Line Engineering techniques, are nding di culties adapting the requirements of their domains to the already available tooling. This article explains how to successfully combine these two approaches in an industrial context. The techniques described in the case-study show how model-driven product line engineering can be used to provide domain knowledge encapsulation, and automatic generation of the products. These products include both, Content-Manager infrastructures to populate the system's contents, and automatically adapted Web frontend prototype generation for di erent devices and user pro les.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        The key idea of Software Product Lines (SPL) is the use of a common set of
assets for product derivation [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. In this way, automatic and strategic reuse
is achieved through both product commonality exploitation and appropriate
variability management. This article presents the industrial usage of a
ModelDriven SPL at the Web Systems domain. Product Line Uni ed Modeller (PLUM)
[
        <xref ref-type="bibr" rid="ref2 ref3 ref4">2, 3, 4</xref>
        ] is the SPL Engineering tool suite used to implement the proposed
solution for generating a Content-Manager and a Web system prototype adapted
for di erent devices and user pro les.
      </p>
      <p>Industrial companies focused on the development of Web Systems and
content providers for Web Systems are trying to improve their daily activities
looking for new ways to perform their processes. Apart from a considerable lack of
strategic reuse of their Web Systems components, current state-of-the-practice in
many of the companies of this market-segment experiment two main problems:
On the one hand, the non-existence of a uni ed way to introduce the contents
derives in an unnecessary waste of time for the employees to learn new
technologies and feel comfortable with the new platforms. On the other hand, a rapid
prototyping platform is also desirable for showing their customers a working
prototype at an early stage.</p>
      <p>This article presents a solution for these two problems, achieving at the same
time other important goals such as company knowledge encapsulation, automatic
and strategic reuse of their components and the bene ts of an architecture-driven
infrastructure for the company that follows a Model-Driven approach.</p>
      <p>Conmunica Mediatrader is a company with expertise in contents, press
clipping and product placement. Located in Spain, it belongs to a multimedia leading
group in the country. They are specialized in the development of customized
applications for their clients. The work described in this paper allows Conmunica
Mediatrader to minimize the e orts and costs these developments imply, making
their daily work easier.</p>
      <p>This paper is structured as follows: Section 2 makes an introduction to the
PLUM tool suite that is necessary to understand SPL main assets. Section 3
describes the proposed process to be followed by the company using this approach
and sections 4 and 5 describe in detail the implemented models and how the
domain variability is interpreted for product generation.</p>
    </sec>
    <sec id="sec-2">
      <title>2 Introducing PLUM</title>
      <p>PLUM is an open-source tool suite for the design, implementation and
management of Product Lines that follows a Model-Driven Software Development
approach. PLUM is a domain agnostic tool suite. Its aim is to ll all the needs
of di erent vertical domains with regard to SPL Engineering.</p>
      <p>
        Using PLUM, domain's products variability is captured in what is called
a Decision Model. Decision Modeling implies analyzing domain variability in
terms of decisions and establishing dependencies among them. This technique,
which comes from previous European research projects such as FAMILIES[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ],
ESAPS[
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] and CAFE[
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], nds in PLUM its latest and more complete
implementation up-to-date. The main di erence between Feature and Decision Modeling
is that in Feature Modeling both domain variability and commonality is modeled
while in Decision modeling only the variation points of the domain are modeled.
In this way, PLUM di ers from other Feature Modeling approaches implemented
in commercial tools as pure:variants[
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] or Gears[
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>The Decision Model is input for the Variability Resolution Process at which
concrete Application models are derived. The Variability Resolution Process
consists in giving values to the Decisions in order to de ne the desired product.
In this way Application Models represents concrete products of the product
line. This concept is also illustrated in Figures 3 4 and 5 regarding to speci c
Decision models and Application models of the present case-study.</p>
      <p>The transformation of these Application models into the desired output
(source code, documentation or other models) is possible through what are called
the Flexible Components. These reusable assets interprets domain variability in
order to generate the required products. Another important feature of PLUM
consists in Work ow de nition. The Work ows establish the process for product
generation and deployment. The Flexible components are called from the
workows for code generation, and other deployment processes such as generated code
compilation, retrieving dynamic data, launching external processes etc. could be
started if needed.</p>
      <p>
        PLUM is integrated in Eclipse[
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], diminishing the need for additional
development frameworks for nal users. It uses a wide range of well established
Eclipse technologies not only restricted to the Eclipse Modeling Framework[
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
It also includes GMF[
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] for graphical asset editors, EMF Validation framework,
OCL[
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] for Decision Model's dependency engine, BIRT[
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] for reporting
valuable SPL metrics, oAW[
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] as internal language for model transformations into
products' code, ModelBus[
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] to allow clients to ask for product generation at
a remote server, and SVN[
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] for version control system and data source from
which historical metrics are obtained.
      </p>
    </sec>
    <sec id="sec-3">
      <title>3 Big picture of the solution</title>
      <p>Adoption of SPL architecture and SPL Engineering practices demands a strong
company commitment. These initial e orts have to be taken into account in the
return on investment (ROI) measurement. The economic aspect is out of the
scope of the present article, nevertheless, it is important to notice that
company way of working is going to be changed slightly. The company, Conmunica
Mediatrader, is intended to adopt an architecture-centric approach that uses a
Model-Driven Software Development paradigm. Our proposed Web system
lifecycle is separated in two phases, a Generation phase and a Management phase,
as shown in Figure 1 and gure 2 respectively. Following subsections aim to
explain these implemented phases paying special attention to the rst one as is
more relevant in the present article context.</p>
      <sec id="sec-3-1">
        <title>3.1 Model-Driven Product generation phase</title>
        <p>First product generation sub-phase consists in the requirements gathering with
the customer. The main stakeholders reach an agreement with the customer
about three main aspects: Web system structure, usability and accesibility
requirements and the devices that should be supported. With this information,
Web, potential users and device Decision models could be used to derive
instances of concrete Application models for each of them. The content architect
starts the variability resolution process of the Web model obtaining an instance
of the desired Web structure. The usability expert, on their part, makes use of
the User application models library looking for user pro les that ts customers
expectations of potential users. If a new user pro le is needed, he starts the
variability resolution process of the User Decision model. Finally, the technical
department check if the devices the Web should support are in the Devices
Application models library and, also, they start a variability resolution process of
the Device Decision model if not found.</p>
        <p>PLUM tool suite allows an assisted and guided variability resolution process
of the Decision models. In addition, the separation of the di erent roles allows
that the three di erent Decision models are de ned using the domain concepts
that each expert understand. For example, the usability expert will decide about
potential users possible cognitive impairments while the technical department
will decide about connections' quality of service parameters.</p>
        <p>As output of the Requirements gathering phase, apart from the application
models, the requirements themselves are also inputs for the SPL maintenance
team. They are responsible of detecting needs of SPL assets further
development. Some requirements could demand supporting new unexpected variability
in the decision models, and that could have a direct relation to the exible
components that interprets this variability for Web prototype, database or content
manager automatic generation. In summary, requirements interpretation a ects
SPL assets evolution, in this way the company enrich their reuse capability at
the same time that they ll customer needs.</p>
        <p>The following phase, the Product Line Work ow, is an automatic process
initialized by the PL Execution engineer. Given the Web model de ned by the
content architect with the customer, a database for storing the Web contents is
automatically derived. This is achieved by model-to-text transformations,
implemented in the Flexible Components, which takes the Web model and generate a
database schema with only the needed tables and columns. The execution of a
dened PLUM Work ow allows not only to generate the code of the database, but
also to deploy this code. Using o -the-self Work ow components, the database
schema is translated to SQL queries and directly executed in a selected server.
In the same manner, the Web Content Manager used for accessing the database
is generated. The generated Content Manager is speci c for the Web systems
domain so its aim is to o er an usable way to introduce Web contents.</p>
        <p>Web style, source code language, and how to present the contents vary in
terms of user pro les and target devices. The automatic process of variability
interpretation through the Product Line assets allows the Adapted Web
prototypes generation. The de ned Web characteristics are represented in the
automatically generated nal output obtaining a working Web prototype that could
be even shown at very early validation phases.</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2 Product management phase</title>
        <p>Once the products are generated at the previous phase, the Content Manager
can be immediately used for contents introduction. However, the adapted Web
prototype should go through new de ned phases before being in production. The
rst phase is the validation phase at which the customer or the testers re ne Web
systems requirements. Their feedback could be very valuable for possible changes
in the previously taken decisions.</p>
        <p>On the other hand, the generated prototype could be used by the developers
to start a incremental prototyping methodology for the development of the Web
system. The company deliver to the customer a working Web that could be
put online when they consider that this should be done. In order to close the
Web system life-cycle, nal users could give feedback to the customer that could
derive in small code changes or in requirements rede nition.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4 Decision Models assets</title>
      <p>In order to model the variability of an environment with user accessibility and
multi-device support requirements, we have identi ed the need of three Decision
models to capture the variability of a Web system. The Web Decision model
represents the structure and contained information of a Web site. The User
Decision model de nes user pro les in terms of accessibility aspects. Finally, the
Device Decision model represents the main characteristics of the devices that
could be used to display the Web system.</p>
      <p>The de nition of separated models allow us not only to separate the concepts
in areas, but also separate its functionality in order to generate tailored solutions.
In other words, this makes it possible to create di erent Web sites adapted for
di erent devices or users maintaining the same Web Application model. It is
only needed to change the selected Devices and Users Application models as
inputs for executing the adapted Web generation Work ow.</p>
      <p>Following subsections explain the implemented Decision models in detail.
Due to space restrictions only the most signi cant decisions of these Decision
models are expanded at gures 3, 4 and 5.</p>
      <sec id="sec-4-1">
        <title>4.1 Web Decision model</title>
        <p>The Web Decision model has been de ned in order to represent the general
structure of a Web site. It can be seen as the so-called site map that every
single Web site in the Internet has or should have in order to represent its
content. The rst step when de ning a Web, resolving the model variability in
a certain Application Model, is to set up a "Name" and a "Description" with
the aim of distinguishing the site from others. It is also essential to select the
type of multimedia les the site hosts (in case it does), using the choice decision
"Multimedia", which possible values are: Audio, Photos, Video and Advertising.</p>
        <p>
          Another important and valuable feature these days is the capability of
displaying the content of a Web in several languages. The Web model de ned
considers this possibility within the group of decisions named "Locations",
following the rules for Internationalization and localization [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ] used in Computer
Science: "Language" implements the ISO 639-2 standard [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ] and "Currency"
the ISO 4217 standard [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ].
        </p>
        <p>The biggest group called "Structure" collects the list of "Categories" that will
constitute the site, hence de ning the schema or the site map. For each category
it is mandatory to de ne a "Name", the number and type of the sections that
it will contain and lastly assigning a "Name" for each section included. Section
prede ned in the model for this purpose are: News, Events, Contacts, Interviews,
Multimedia Galleries, Links, Advertising and Timetable. For each type of section
it is also possible to choose between a list of features that could be available
or not in the nal site. For instance, the section "Event" o ers the possibility
of including associated locations for an event (which take place in a certain
date), associated events, a reference to the source of information or a link to
buy tickets online. Besides, each section includes information by default which is
always present when de ning this type of section, independently of the Web site.
Taking this into account, an "Event" section always has a title, a description
(divided into paragraphs) and, in case they were selected previously, multimedia
les.</p>
        <p>
          The presented solution for Modeling Web Systems does not diverge from the
classical Human Computer Interaction engineering approach. The Web System
architecture is modeled in terms of a hierarchy of categories and these categories
have di erent sections that vary in its nature. This hierarchy can be seen in other
approaches as UIML [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ], UsIXML [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ] and WebML [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ] to name a few. The
main di erence is that we use higher level descriptions of what a section should
have. The natures of the sections were identi ed during the domain analysis of
the company. In this way, our approach does not rely on a set of widgets or
abstract interface objects but, as said before, in the nature of each section as a
whole.
        </p>
        <p>
          Another important issue to be considered in web-modeling is User Task
Modeling [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ]. User Tasks models describes users expected behavior when interacting
with the Web system. The Dialog Model [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ] is another relevant aspect to be
considered in the model engineering process, it describes the human-computer
interaction and how the di erent dialog states could change. These two
models, User Tasks Models and Dialog Models, are omitted from our approach. The
reason for that is due to the fact that the knowledge embedded in those two
models is encapsulated in the exible components used to generate the adapted
Web Systems. Hence, the company design patterns and best practices for
orienting the Web System to di erent user parameters are encapsulated in the Web
System assembly process.
        </p>
      </sec>
      <sec id="sec-4-2">
        <title>4.2 User Decision model</title>
        <p>
          User modeling is a step that is explicitly declared in many user-centered design
processes[
          <xref ref-type="bibr" rid="ref26">26</xref>
          ]. The elderly, children and people with special needs, demand
different ways of interacting with Web systems and di erent structures or ways
to display the information (the content of the site). Despite of that, a de-facto
standard for modeling user pro les, is still missing. For that purpose have arisen
initiatives as Discapnet[
          <xref ref-type="bibr" rid="ref27">27</xref>
          ], the rst Web portal specialized in topics of disability
in Spain and pioneer in this kind of studies, promoted by the Foundation ONCE.
The accessibility to the Internet from users with special requirements is also a
topic promoted by international organizations as the W3C, which have created
the Web Accessibility Initiative [
          <xref ref-type="bibr" rid="ref28">28</xref>
          ].
        </p>
        <p>The User Model presented in the current article de nes a user pro le based
on the accessibility requirements (in terms of age, experience and disability)
that the nal user could have at the moment of accessing to a certain Web site.
The implementation of this model has been done taking into account one of
the requirements de ned by Conmunica Mediatrader that consists in the fact
that the generated Web sites have to adapt their contents depending on the
characteristics or disabilities of the nal user. As the Figure 4 depicts, the main
features that constitute a user pro le are "Age", "Impairment" and "Skill level".
These features are considered relevant as they are the main characteristics of a
person that could have a strong in uence in the way the results are generated
or displayed.</p>
        <p>The rst decision to take in our model, is to select a range for the "Age"
feature. Once the range is selected for the Age decision, a set of default values
are automatically assigned to the rest of decisions through the de ned domain
dependencies. For instance, if the value selected is "Elder", it could be taken
for granted that the user may have visual impediments, hearing problems, and
some kind of cognitive and motor impairment.</p>
        <p>The following decision, and probably the most important one, is related with
physical impairment or disabilities. The disabilities have been organized in ve
general groups: visual impairment, cognitive impairment, hearing impairment,
motor impairment and language impairment. The values selected in these groups
are the ones with most impact on the nal Web to be generated. For example
, if "low vision", "di culty using mouse" and "deafness" are selected, then the
content in the Web will be generated with big font sizes in both texts and
buttons, without scroll bars and multimedia les, such as videos or recordings,
will be subtitles or omitted. Not only the values selected directly are taken into
account but also are the values implicit within each group. Finally, the last
decision to make is to choose the skill level of the user. Depending on the level of
knowledge of the user, the type of content to be created varies in a great manner.
Obviously, a Web Site with speci c thematic in which the user has well de ned
peculiarities di ers completely from a general purpose Web Site.</p>
        <p>
          This User Model is based on the Accessibility ontology[
          <xref ref-type="bibr" rid="ref29">29</xref>
          ] focused on
accessibility semantics and human related characteristics and capabilities. The Human
Markup Language [
          <xref ref-type="bibr" rid="ref30">30</xref>
          ] is other approach focused on the main characteristics
that describe a person and its personality such as gender, belief, culture,
emotion, etc. Nevertheless, at the time being, the scope of the case-study only takes
into consideration human physical and cognitive related possible impairments.
        </p>
      </sec>
      <sec id="sec-4-3">
        <title>4.3 Device Decision model</title>
        <p>
          The development teams of Conmmunica are used to develop Web Systems for
di erent device families. This fact has to be considered for the automatic
generation of the adapted Web, therefore, a Device Model capable of storing all
the device properties is needed. The devices that will be implemented with this
model are mobile devices such as mobile phones or pda's, and Digital Terrestial
Television (DTT). Approaches regarding device modeling aimed to User
Interfaces adaptation can be found at WURFL [
          <xref ref-type="bibr" rid="ref31">31</xref>
          ] for the speci c case of mobile
devices. Also UsIXML incorporates some entities directly related to device
capabilities. Having studied the other approaches, we decided to use the Device
ontology speci cation number SC00091E [
          <xref ref-type="bibr" rid="ref32">32</xref>
          ] proposed by the IEEE FIPA
Standard committee. This speci cation comes from the Ambient Intelligence eld and
it was originally designed for the inter-operation of heterogeneous agents and its
services. Despite of that, it lls all of our requirements for device variability
knowledge encapsulation.
Apart from the basic device variable properties such as "name", "vendor"
and "version", there are two main groups of decisions: hardware and software
properties of the device. Regarding hardware characteristics, we nd decisions
about supported connections and their quality of service, screens properties,
and the availability of audio input or output. There are also decisions regarding
memory and cpu properties. On the other hand, the software properties takes
into account the operating systems that the device can support and the agent
platforms.
        </p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5 Generated products overview</title>
      <p>The Flexible Components are the assets that interpret product variability for
speci c product generation. In this section, in order to illustrate the products
generation we present an example. The example is based on a theatre: the
"Stacey Theatre".</p>
      <p>The content architect de nes the Web structure through the variability
resolution of the Web Decision Model. The decision making process with the Stacey
Theatre owner's requirements allows to obtain a Web application model that
denes the desired Web system: The Stacey Theatre Web must have the possibility
of being visualized in three languages: English, Spanish and French. Categories
and the sections are also de ned in the following manner: events and interviews,
multimedia galleries of photos and videos, the history of the theatre, contact
information, useful links, etc.</p>
      <p>The products generated with our solution are a Web site and the
corresponding Content Manager application to manage the information contained in the
mentioned Web.</p>
      <sec id="sec-5-1">
        <title>5.1 Content manager</title>
        <p>The Content manager Web application facilitates the labour of updating the
contents of the Web site itself. The automatic generation of this Web system
related product represents a competitive advantage for Conmunica Mediatrader.
Figure 6 depicts the Content Manager application that is automatically
generated from a certain Application Model, more precisely, it shows the Content
Manager for the "Stacey Theatre" example. The name displayed at the top is
automatically obtained from the name established in the corresponding application
model.</p>
        <p>The menu on the left side has been ful lled also automatically from the values
available in the "Stacey Theatre" application model, more concisely, from the
names of the categories and sections de ned within them. Clicking on each item,
the application will show the elements that must be ful lled for the current
section and which are totally dependant on the features previously selected for each
section in the application model. The application model for the current example
de nes that the Event section (Plays in the left menu) will not include the
"Associated locations", "Associated Events" and "References to sources" elements
mentioned in the Web decision model, but it will include a link to buy online
tickets. The rest of the elements which are shown in the gure, such as title or
description, are the elements considered as mandatory in every single Web site
to de ne an "Event" element, in other words, the minimum information
necessary to de ne the event. For every section de ned in the model, it is considered
that its description is divided into paragraphs, which can be reorganized
whenever necessary (with aid of the actions buttons). This implies that is possible to
de ne two kind of paragraphs: plain text and multimedia le (in case the site
hosts these les). Finally, all the text data is required in di erent languages as
the links at the top of the main area inform. The languages displayed in these
tags depend on the "Locations" de ned in the application model, being English,
Spanish and French for the "Stacey Theatre" example.</p>
      </sec>
      <sec id="sec-5-2">
        <title>5.2 Adapted Web</title>
        <p>
          The adapted Web obtained from the SPL architecture is not intended to be a
Web system ready for production. Despite of that, the obtained Web is a working
prototype that allows an instant visualization of any under-design Web system
that is being modeled. Apart from that, the generated prototype is adapted
using information from speci c user and devices models obtaining by this mean
a valid approximation of the nal result. In adaptable Web Systems research
literature, user context and device constraints are taken into account to change
not only the Web System but also Service compositions. Using a Product Line
approach for achieving these goals is studied at [
          <xref ref-type="bibr" rid="ref33">33</xref>
          ]. In that paper, Hallsteinsen
et al. present an adaptation platform using also a SPL approach but only taking
into consideration device characteristics. We propose the exploitation of both
user and device variability to obtain tailored Web systems.
        </p>
        <p>Figure 7 depicts the generated Web for the "Stacey Theatre" example, where
it can be appreciated how di erent the results are depending on the targeted
user and device. Speci cally, it shows how the Web could change their contents
presentation for elderly people, mobile phones and DTT (Digital Terrestial
Television).</p>
        <p>With regard to the user adaptation, the most common case of a generated
Web is the one in which the output is targeted to someone who does not need
a special adaptation. Otherwise, when thinking about adapted Web site, not
only we have to focus on people with physical or cognitive disability, but also
we have to realize that there are some factors like the age, which determine the
way of visualization of certain contents. Because of this, if the generation of a
web site for elderly people is required, it is important to consider that they can
have some kind of vision impairments or motor impediment, and consequently,
it is necessary to provide them with the information adapted to their needs.</p>
        <p>Many types of devices can be found nowadays in the market, ranging from
devices limited to voice processing to devices with great multimedia processing
capabilities. This Device variability is also an important aspect for the Web
system adaptation. Supported technologies, multimedia processing capabilities
and input/output components determines how the contents are displayed.</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>6 Conclusions</title>
      <p>The current paper presents how to apply Model-Driven Product Line engineering
using Decision Modeling techniques in order to capture Web systems domain
variability. Our approach accounts for user pro les and devices as they directly
a ect how concrete Webs are displayed.</p>
      <p>We have presented the rst results of the Industrial usage of the mentioned
approach. The company, Conmunica Mediatrader, bene ts from Content
Manager infrastructure and adapted Web frontend prototype automatic generation.
These are the Web systems related products obtained from the Product Line
implemented with the PLUM tool suite in this case-study.</p>
    </sec>
    <sec id="sec-7">
      <title>Acknowledgments</title>
      <p>The work reported here has been partially sponsored by the SPRI (Association
for the Promotion of Industry) within the Adapta Project (INTEK-BERRI
R&amp;D programs for supporting Basque Country companies) and the
"Ministerio de Industria, Turismo y Comercio" within the FLEXI FIT-340005-2007-37
(ITEA2 6022) European project.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>P.</given-names>
            <surname>Clements</surname>
          </string-name>
          and
          <string-name>
            <given-names>L.</given-names>
            <surname>Northrop</surname>
          </string-name>
          ,
          <article-title>Software product lines: practices and patterns, I. Addison-Wesley Longman Publishing Co</article-title>
          ., Ed. Addison-Wesley Longman Publishing Co., Inc.,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>2. Plum tool suite web. [Online]. Available: http://www.esi.es/plum</mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>J.</given-names>
            <surname>Martinez</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Vicedo</surname>
          </string-name>
          , \
          <article-title>Eclipse based variability management tool,"</article-title>
          <source>in Eclipse Summit Europe</source>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>A.</given-names>
            <surname>Aldazabal</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.</given-names>
            <surname>Erofeev</surname>
          </string-name>
          , \
          <article-title>Product line uni ed modeller (plum),"</article-title>
          <source>in Eclipse Summit Europe</source>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>5. Families itea research project. [Online]. Available: http://www.esi.es/Families/</mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>6. Esaps research project. [Online]. Available: http://www.esi.es/esaps/</mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>7. Cafe itea research project. [Online]. Available: http://www.hitech-projects.com/ euprojects/cafe/</mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>8. Pure::variants. [Online]. Available: http://www.pure-systems.com/</mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>9. Big lever, gears. [Online]. Available: http://www.biglever.com/</mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Eclipse</surname>
          </string-name>
          . [Online]. Available: http://www.eclipse.org/
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>D.</given-names>
            <surname>Steinberg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Budinsky</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Paternostro</surname>
          </string-name>
          , and
          <string-name>
            <given-names>E.</given-names>
            <surname>Merks</surname>
          </string-name>
          , Eclipse Modeling Framework,
          <string-name>
            <given-names>E.</given-names>
            <surname>Gamma</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Nackman</surname>
          </string-name>
          , and J. Wiegand, Eds. Addison-Wesley
          <string-name>
            <surname>Professional</surname>
          </string-name>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <article-title>Graphical modeling framework</article-title>
          . [Online]. Available: http://www.eclipse.org/ modeling/gmf/
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <given-names>J.</given-names>
            <surname>Warmer</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Kleppe</surname>
          </string-name>
          ,
          <article-title>The Object Constraint Language: Getting Your Models Ready for MDA</article-title>
          .
          <string-name>
            <surname>Addison-Wesley Professional</surname>
          </string-name>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <article-title>Business intelligence and reporting tools</article-title>
          . [Online]. Available: http://www.eclipse. org/birt/phoenix/
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <article-title>Open architecture ware</article-title>
          . [Online]. Available: http://www.openarchitectureware. org/
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Modelbus</surname>
          </string-name>
          . [Online]. Available: http://www.modelbus.org
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Subversion</surname>
          </string-name>
          . [Online]. Available: http://subversion.tigris.org/
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <given-names>B.</given-names>
            <surname>Esselink</surname>
          </string-name>
          , A Practical Guide to Localization. John Benjamins Publishing,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19. L. of Congress.
          <source>Iso 639-2</source>
          . [Online]. Available: http://www.loc.gov/standards/ iso639-2/
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20. Iso 4217. [Online]. Available: http://www.iso.org/iso/support/faqs/ faqs
          <article-title>widely used standards/widely used standards other/currency codes/ currency codes list-1</article-title>
          .htm
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Uiml</surname>
          </string-name>
          <article-title>(oasis user interface markup language)</article-title>
          . [Online]. Available: http: //www.oasis-open.org/committees/tc home.php?wg abbrev=uiml
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Usixml</surname>
          </string-name>
          <article-title>(user interface extensible markup language)</article-title>
          . [Online]. Available: http://www.usixml.org
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Webml</surname>
          </string-name>
          . [Online]. Available: http://www.webml.org
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>Paterno</surname>
          </string-name>
          , Mancini, and Meniconi, \
          <article-title>Concurtasktrees: A diagrammatic notation for speci ying task models,"</article-title>
          <source>in Proceedings of the IFIP TC13 International Conference on Human-Computer Interaction</source>
          ,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25. Apperley and Duncan, \
          <article-title>Human-computer interface design in the software lifecycle," in Software Education Conference</article-title>
          . Proceedings.,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <given-names>B.</given-names>
            <surname>Losada</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Lopez</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Martinez</surname>
          </string-name>
          , \
          <article-title>Intergram, an user-centered design process,"</article-title>
          <source>in 9th European Conference for the Advancement of Assistive Technology</source>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27.
          <string-name>
            <surname>Discapnet</surname>
          </string-name>
          . [Online]. Available: http://www.discapnet.es/
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          28.
          <article-title>Web accessibility initiative</article-title>
          . [Online]. Available: http://www.w3.org/WAI/
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          29. CCCU.
          <article-title>Accessonto accessibility requirements repository</article-title>
          . [Online]. Available: http://shapevle.cant.ac.uk/AccessOnto/AccessOnto.xml
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          30. OASIS. (
          <year>2002</year>
          )
          <article-title>Human markup language</article-title>
          . [Online]. Available: http://www. oasis-open.org/committees/download.php/60/HM.
          <string-name>
            <surname>Primary-Base-</surname>
          </string-name>
          Spec-
          <volume>1</volume>
          .0.html
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          31.
          <string-name>
            <surname>Wur</surname>
          </string-name>
          <article-title>(wireless universal resource le)</article-title>
          . [Online]. Available: http://www.wur .com
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          32.
          <article-title>Fipa device ontology speci cation</article-title>
          . [Online]. Available: http://www. pa.org/ specs/ pa00091/SI00091E.html
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          33.
          <string-name>
            <given-names>S.</given-names>
            <surname>Hallsteinsen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Stav</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Solberg</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Floch</surname>
          </string-name>
          , \
          <article-title>Using product line techniques to build adaptive systems,"</article-title>
          <source>in 10th International Software Product Line Conference (SPLC'06)</source>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>