=Paper= {{Paper |id=Vol-247/paper-3 |storemode=property |title=Modeling Ubiquitous Business Process Driven Applications |pdfUrl=https://ceur-ws.org/Vol-247/FORUM_02.pdf |volume=Vol-247 |dblpUrl=https://dblp.org/rec/conf/caise/TorresGP07 }} ==Modeling Ubiquitous Business Process Driven Applications== https://ceur-ws.org/Vol-247/FORUM_02.pdf
                                                                                              5




           Modeling Ubiquitous Business Process Driven
                        Applications*

                        Victoria Torres, Pau Giner, Vicente Pelechano

                       Department of Information Systems and Computation
                               Technical University of Valencia
                                   Camí de Vera s/n 46022
                                         Valencia, Spain
                        {vtorres,pginer,pele}@dsic.upv.es




        Abstract. This paper presents a model driven approach for the generation of
        business process driven web applications within the context of ubiquitous envi-
        ronments. For this reason, we have taken into account that the generated Web
        applications can be accessed via different devices (such as PDAs), which intro-
        duce a set of constraints that are better faced at the modeling process. This pro-
        posal relies on both model-to-model and model-to-text transformation tech-
        niques 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.




1. Introduction

    Business Process specifications play an important role in enterprise application de-
velopment. These specifications allow defining the interaction between different par-
ticipants 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 con-
stantly moving to different locations, needing applications that (1) help them perform-
ing 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.
    Therefore, in this work we propose a methodological approach that allows us to ob-
tain from a business process definition (represented in the BPMN notation [2]) 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.
6




    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 [1], which will orchestrate during the execution of the process the
    set of services that made up the process.
       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 limita-
    tions 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-to-
    text 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
    [3] 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 tech-
    nology. In a previous work [4] 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 Struc-
    tural 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 ex-
    ternal partners is defined in the SM [5]. Moreover, in [4] 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 auto-
    matically from a business process definition the corresponding graphical user inter-
    faces (GUI) as well as the equivalent definition of the process in terms of an executa-
    ble 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 pos-
    sibility of having multiple devices to access the application.
       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 techno-
    logical aspects, and therefore they cannot be used to introduce specific aspects con-
    cerned about target devices [6].
       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
                                                                                                        7




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
                                                                  -name
                                                     1        *

                                                                    1
                                                                                      PartialCoverage
                                                                    *     -coverage
                                                                                      -degree
                   -capabilities        Capabilit   -capability    Coverage
                                       -name
                               *                    0..1      *                       FullCoverage




          Fig. 1 PSM Metamodel for handling devices and their characteristics
   Fig. 1 shows the metamodel that has been defined to handle different output de-
vices at the PSM level. It defines (1) the set of output devices that are going to be
supported by the Web application, (2) the set of capabilities/limitations introduced by
these devices (space, voice, etc.), (3) which capabilities apply to which devices (be-
cause some devices can share some of them) and finally (4) the coverage that each
capability is going to have over the contents defined in the Navigational model, which
can be defined as PartialCoverage (it processes only part of the contents defined in
the navigational model) or as FullCoverage (it processes all the contents defined in
the navigational model).



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 trans-
formed into the code that represents these GUI.
   The definition and implementation of a set of transformations rules have empow-
ered us to fully automate the generation process. The prototype tool has been devel-
oped 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 hav-
ing 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 implementa-
tion provided by the Borland Together Architect 2006 for Eclipse. In the second
place, model-to-text transformations have been implemented using the MOFScript
8




    tool, which provides an implementation of the MOFScript language, an OMG candi-
    date proposal for MOF2Text transformation.



    4. Conclusions and Further Work

    Ubiquitous Computing capabilities can improve considerably the way Business Proc-
    esses 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.
       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 in-
    teraction 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 pro-
    posal has been reinforced with the implementation of a prototype, which allows auto-
    mating the generation process by the use of metamodels and the application of model
    transformation technologies.
       As a result of this work, we have learned that model transformations techniques al-
    lows us to generate in a systematic way technological independent system specifica-
    tions 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 execu-
    tion context) at the modeling level.
       As further work we have planned to extend the proposal to cover the new chal-
    lenges 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

    1. Business Process Execution Language for Web Services version 1.1. Feb 2005.
    2. Business Process Modeling Notation (BPMN) Version 1.0 - OMG Final Adopted Specifica-
       tion, February 6, 2006.
    3. Pastor, O., Fons, J., Abrahao, S., Pelechano, V.:Conceptual Modelling of Web Applications:
       the OOWS approach. Web Engineering. In: Mendes, E., Mosley, N. (eds), Springer 2006,
       pp. 277-302
    4. Torres, V., Pelechano, V.: Building Business Process Driven Web Applications. In: Dustdar,
       S., Fiadeiro, J.L., Sheth, A. (eds.): Business Process Management. 4th International Confer-
       ence, BPM 2006. Lecture Notes in Computer Science, Vol. 4102, Springer Berlin / Heidel-
       berg (2006) 322-337
    5. Torres, V., Pelechano, V., Ruiz, M., Valderas, P.: A Model Driven Approach for the Integra-
       tion of External Functionality in Web Applications. The Travel Agency System. MDWE
       2005.
    6. Vanderdonckt, J., Florins, M., Oger, F., Macq, B.: Model-Based Design of Mobile User
       Interfaces. In: Proceedings of Mobile HCI'2001: Third International Workshop on Human
       Computer Interaction with Mobile Devices, M.D. Dunlop and S.A. Brewster (eds.), Lille, 10
       September 2001, pp. 135-140.