<!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>Modeling Ubiquitous Business Process Driven Applications*</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Victoria Torres</string-name>
          <email>vtorres@dsic.upv.es</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Pau Giner</string-name>
          <email>pginer@dsic.upv.es</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Vicente Pelechano</string-name>
          <email>pele@dsic.upv.es</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Information Systems and Computation Technical University of Valencia Camí de Vera</institution>
          <addr-line>s/n 46022 Valencia</addr-line>
          ,
          <country country="ES">Spain</country>
        </aff>
      </contrib-group>
      <fpage>5</fpage>
      <lpage>8</lpage>
      <abstract>
        <p>This paper presents a model driven approach for the generation of business process driven web applications within the context of ubiquitous environments. For this reason, we have taken into account that the generated Web applications can be accessed via different devices (such as PDAs), which introduce a set of constraints that are better faced at the modeling process. This proposal relies on both model-to-model and model-to-text transformation techniques to obtain the final software artifact. As a result, we have implemented an Eclipse based prototype that generates from a business process definition the adequate GUI (in terms of the device) to execute the process as well as the equivalent definition into an executable language such as WS-BPEL.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>1. Introduction</p>
      <p>Business Process specifications play an important role in enterprise application
development. These specifications allow defining the interaction between different
participants in order to achieve certain agreed goals. However, enterprise applications
cannot be limited to be run in the computers that are located in our offices (such as
desktop environments). In fact, there exist scenarios where application users are
constantly moving to different locations, needing applications that (1) help them
performing the tasks that they are responsible of and (2) fit into their day life working devices.
As a result, the development of this sort of applications could overcome spatial and
technological obstacles that exist today. Then, we should take into account how our
applications are going to be displayed in different devices which usually introduce
both new characteristics and limitations.</p>
      <p>
        Therefore, in this work we propose a methodological approach that allows us to
obtain from a business process definition (represented in the BPMN notation [
        <xref ref-type="bibr" rid="ref3">2</xref>
        ]) the
graphical user interfaces (GUIs) that provide support to the execution of the process
for a wide range of output devices. In this proposal, device characteristics/limitations
are handled at the modeling level but always following the separation of concerns
promoted by the MDA approach, where the domain system and the technological
* This work has been developed with the support of MEC under the project DESTINO
TIN2004-03534 and cofinanced by FEDER.
issues are specified by models at different levels of abstraction. Moreover, BPMN
descriptions are also used to obtain the equivalent executable definition in terms of the
WS-BPEL language [
        <xref ref-type="bibr" rid="ref2">1</xref>
        ], which will orchestrate during the execution of the process the
set of services that made up the process.
      </p>
      <p>
        The remainder of the paper is structured as follows. Section 2 presents briefly the
proposed MDA approach and how it is completed to overcome output device
limitations at the modeling level. Section 3 provides a general overview of the generation
process by means of an implemented tool, where both model-to-model and
model-totext transformations are applied to automate the generation process. Finally, section 4
closes the paper with some conclusions and outlines further work.
2. A MDA Approach for Building Ubiquitous Business Process
Applications
Roughly, the MDA approach proposes defining the software building process based
on a set of models. Depending on the level of abstraction, these models are dependent
or independent of technological issues. Following this approach, the OOWS approach
[
        <xref ref-type="bibr" rid="ref4">3</xref>
        ] proposes to overcome the software generation process in two steps. In the first
place, a technological independent description of the system is performed. In this step,
the software designer concentrates on the domain problem (problem space) and how it
should be represented using the models defined by the method. In a second stage, this
technological independent representation is transformed in terms of a specific
technology. In a previous work [
        <xref ref-type="bibr" rid="ref1 ref5">4</xref>
        ] we presented an extension to the OOWS approach for
developing business process driven web applications. This extension endowed the
approach at the modeling level by the introduction of the Business Process Model
(BPM). This model is defined in terms of the functionality modeled both in the
Structural Model (represented by UML Class Diagrams (CD)) and the Services Model
(SM) and its purpose is to describe by means of a graphical notation a set of activities
performed by different agents and sequenced by means of a control flow. The set of
operations defined in the CD include the functionality that is provided within the
boundaries of our system. On the other hand, the functionality that is “lent” from
external partners is defined in the SM [
        <xref ref-type="bibr" rid="ref6">5</xref>
        ]. Moreover, in [
        <xref ref-type="bibr" rid="ref1 ref5">4</xref>
        ] we extended the navigational
model with a set of new primitives that allowed the correct execution of the business
processes defined in the system. The main idea of the proposal was to obtain
automatically from a business process definition the corresponding graphical user
interfaces (GUI) as well as the equivalent definition of the process in terms of an
executable language. However, in this previous work we focused on generating these abstract
GUIs for a specific target device (a desktop computer). We did not consider the
possibility of having multiple devices to access the application.
      </p>
      <p>
        Navigational and Presentation models (NM and PM hereafter) were introduced by
Web Engineering methods in order to handle interaction aspects during the software
modeling process. However, these two models are built independently of any
technological aspects, and therefore they cannot be used to introduce specific aspects
concerned about target devices [
        <xref ref-type="bibr" rid="ref7">6</xref>
        ].
      </p>
      <p>For this reason, we have defined, at the PSM level, a mechanism that allows us to
characterize those aspects introduced by output devices (such as space limitation) and
that need to be considered during the modeling process. This mechanism has been
designed taking into account that some characteristics and limitations introduced by
output devices are not always exclusive of one device and can be shared by several
devices. In addition, these characteristics are not always orthogonal to each other, and
some of them can be used to solve the limitations introduced by others.
1 Model -devices Device</p>
      <p>-name
-capabilities
*</p>
      <p>Capabilit
-name
1</p>
      <p>*
-capability
0..1
*
1
* -coverage
Coverage</p>
      <p>PartialCoverage
-degree
FullCoverage
3. An Eclipse Based Tool for the Generation of Ubiquitous
Business Process Driven Web Applications
In order to materialize the presented approach, we have developed an Eclipse based
tool as a proof of concept of these ideas. In particular, this tool allows us to obtain
from a business process definition (1) the corresponding GUIs (specified by means of
a navigational model) that are necessary to execute the process in any of the supported
devices and (2) the process equivalent definition in terms of an executable language
(WS-BPEL). Moreover, the Navigational Model previously generated is also
transformed into the code that represents these GUI.</p>
      <p>The definition and implementation of a set of transformations rules have
empowered us to fully automate the generation process. The prototype tool has been
developed within the context of the Eclipse environment. First of all, we have defined the
metamodels involved in the proposal (CD, SM and NM) in EMF. The reason of
having models defined in this format are that (1) we can manipulate them easily with the
model instances editor provided by the framework and (2) it allows us to navigate
models in order to transform them into either other models or directly into code. On
the other hand, the set of transformations implemented in the prototype have been
defined using two different languages. In the first place, to implement model-to-model
transformations we have used the MOF 2.0 QVT Operational Mappings
implementation provided by the Borland Together Architect 2006 for Eclipse. In the second
place, model-to-text transformations have been implemented using the MOFScript
tool, which provides an implementation of the MOFScript language, an OMG
candidate proposal for MOF2Text transformation.
Ubiquitous Computing capabilities can improve considerably the way Business
Processes are performed. Moreover, these improvements can be applied to a wide range of
scenarios, from critical aircraft maintenance operations to supply chain management.
However, little research has been done in taking advantage of conceptual modeling
techniques for enabling an automatic software development of Business Processes
defined within a ubiquitous environment.</p>
      <p>In this work we have presented a MDA approach for the development of ubiquitous
business process driven applications. This approach allows us to obtain automatically
from a business process definition both the GUIs that represent the required user
interaction to support the process execution for different kind of output devices and the
executable definition of the process in the WS-BPEL language. Moreover, this
proposal has been reinforced with the implementation of a prototype, which allows
automating the generation process by the use of metamodels and the application of model
transformation technologies.</p>
      <p>As a result of this work, we have learned that model transformations techniques
allows us to generate in a systematic way technological independent system
specifications in terms of an specific technology. The real challenge arises in defining and
handling properly the primitives that represent the system (its domain and its
execution context) at the modeling level.</p>
      <p>As further work we have planned to extend the proposal to cover the new
challenges that introduce ambient intelligence and eAccesibility and eInclusion systems
within a model driven approach and how these issues are translated into our tool.
5. References</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>4. Conclusions and Further Work</mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          1.
          <source>Business Process Execution Language for Web Services version 1.1. Feb</source>
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          2.
          <string-name>
            <given-names>Business</given-names>
            <surname>Process Modeling</surname>
          </string-name>
          <article-title>Notation (BPMN) Version 1</article-title>
          .
          <fpage>0</fpage>
          -
          <string-name>
            <given-names>OMG</given-names>
            <surname>Final Adopted</surname>
          </string-name>
          <string-name>
            <surname>Specification</surname>
          </string-name>
          ,
          <source>February</source>
          <volume>6</volume>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          3.
          <string-name>
            <surname>Pastor</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fons</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Abrahao</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pelechano</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          :
          <article-title>Conceptual Modelling of Web Applications: the OOWS approach</article-title>
          . Web Engineering. In: Mendes,
          <string-name>
            <given-names>E.</given-names>
            ,
            <surname>Mosley</surname>
          </string-name>
          , N. (eds),
          <source>Springer</source>
          <year>2006</year>
          , pp.
          <fpage>277</fpage>
          -
          <lpage>302</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          4.
          <string-name>
            <surname>Torres</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pelechano</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          :
          <article-title>Building Business Process Driven Web Applications</article-title>
          . In: Dustdar,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Fiadeiro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.L.</given-names>
            ,
            <surname>Sheth</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          . (eds.):
          <source>Business Process Management. 4th International Conference, BPM 2006. Lecture Notes in Computer Science</source>
          , Vol.
          <volume>4102</volume>
          , Springer Berlin / Heidelberg (
          <year>2006</year>
          )
          <fpage>322</fpage>
          -
          <lpage>337</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          5.
          <string-name>
            <surname>Torres</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pelechano</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ruiz</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Valderas</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>A Model Driven Approach for the Integration of External Functionality in Web Applications. The Travel Agency System</article-title>
          .
          <source>MDWE</source>
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          6.
          <string-name>
            <surname>Vanderdonckt</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Florins</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Oger</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Macq</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Model-Based Design of Mobile User Interfaces</article-title>
          .
          <source>In: Proceedings of Mobile HCI'</source>
          <year>2001</year>
          : Third International Workshop on Human Computer Interaction with Mobile Devices,
          <string-name>
            <given-names>M.D.</given-names>
            <surname>Dunlop</surname>
          </string-name>
          and
          <string-name>
            <surname>S.A</surname>
          </string-name>
          . Brewster (eds.),
          <source>Lille, 10 September</source>
          <year>2001</year>
          , pp.
          <fpage>135</fpage>
          -
          <lpage>140</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>