=Paper= {{Paper |id=Vol-455/paper-2 |storemode=property |title=Collaborative Modeling of Web Applications for Various Stakeholders |pdfUrl=https://ceur-ws.org/Vol-455/paper02.pdf |volume=Vol-455 }} ==Collaborative Modeling of Web Applications for Various Stakeholders== https://ceur-ws.org/Vol-455/paper02.pdf
Collaborative Modeling of Web Applications for
             Various Stakeholders

           Martin Vasko, Ernst Oberortner and Schahram Dustdar
         {m.vasko|e.oberortner|dustdar@infosys.tuwien.ac.at}

                          Technical University of Vienna
                           Distributed Systems Group
                            Argentinierstraße 8/184-1
                                 A-1040 Vienna
                                     Austria



      Abstract The development of Web applications involves many stake-
      holders with different expertise. In many cases, the development of Web
      applications provides only technical models and their implementations,
      making it hard for non-technical stakeholders to get involved into the
      development process. As a result, a permanent collaboration and com-
      munication between all participating technical and non-technical stake-
      holders is needed during the whole development process. This paper pro-
      poses a model-driven approach of Domain-specific Modeling Languages
      (DSML) to separate the technical details from the non-technical ones.
      Non-technical stakeholders, also called domain experts, can assist the
      technical experts to map not well-known domain problems to the ap-
      propriate technological models. This leads to an intense collaboration
      between the different stakeholders and lowers the possibility of misun-
      derstandings. These concepts improve the collaboration and, as a con-
      sequence, lowers the possibility of misunderstandings. Also, the model-
      driven approach leads to a better maintainability and reusability of the
      resulting Web application.


1   Introduction

A major requirement of developing Web applications is to involve all different
types of stakeholders – technical and non-technical – within the development
process [1,2]. Because of the complexity of the development process and the
Web applications itself, the simplest Web application development teams require
time consuming interactions for negotiating the required functionalities of the
Web application. Different background and expertise of the involved stakeholders
complicates the communication and the collaboration within the design and
development process of Web applications.
    To reduce the development time, to enhance the maintenance, and to involve
all stakeholders, the Model-driven Software Development (MDSD) paradigm can
be used [3]. A possible and convenient way for modeling and developing software,
especially Web applications, is to use model-driven Domain-specific Modeling
                                                                                17

Languages (DSML) [4]. DSMLs are small languages that are tailored to be par-
ticularly expressive in a certain problem domain. A DSML describes the domain
knowledge via a graphical or textual syntax which is tied to domain-specific mod-
eling elements. Nowadays, DSMLs are often developed by following the MDSD
paradigm to describe the graphical or textual syntax through a precisely specified
language model. Using MDSD-based DSMLs for modeling Web applications en-
ables technical and non-technical experts to work at higher levels of abstraction
to be independent from the underlying technologies [3].
    In this work, we introduce an approach to improve the collaborative devel-
opment of Web applications. Each stakeholder can work with a DSML which is
tailored his individual background knowledge and responsibility. Non-technical
experts, from now on called domain experts, can work in a higher level of ab-
straction without using technical aspects, such as Application Programming In-
terface (API) calls or XML configuration files. Technical experts are able to
map not well-known domain problems to an appropriate technological model
which provides the concepts of the underlying technology. This abstraction con-
cept significantly improves collaboration between technical and domain experts.
Beside the improved collaboration between the involved experts the separation
into different models leads to better maintainability and introduces better reuse
possibilities for the resulting Web Application.
    This work is structured as follows: Section 2 introduces the development
process of a Web application to exemplify our approach. The sample Web ap-
plication outlines the involvement of different stakeholders and introduces the
contribution of our approach. Section 3 motivates the consequent usage of MDSD
based DSMLs in the domain of Web application development. Section 4 gives a
comprehensive overview of our approach. Section 5 applies the approach on the
motivating example and outlines the key contributions. A web-based designer is
presented to enable a collaborative modeling of the pageflow of Web applications.
Section 6 lists some benefits and drawbacks of our approach which were collected
during this work. In Section 7 we relate our approach to existing approaches and
outline the differences to related projects. Finally, Section 8 summarizes and
concludes the paper.


2      Motivating Example

To illustrate the principles of the approach presented in this work, this section
introduces a sample scenario. Consider a medium sized enterprise planning to
establish a customer management Web application. Assume the following team
structure:

    – The manager initiates the establishment of a software application to enable
      customer management. We assume that company-wide requirements, such as
      location-independency or secure access, are also determined by the manager.
    – Project leaders are responsible for the successful implementation, for the
      adaptation of the required tasks to the project team members, and for the co-
18

   ordination of the maintenance of the required customer management software
   application.
 – Project members perform the daily tasks and request relevant customer infor-
   mation from the software application. Furthermore, project members main-
   tain the customer information by updating customer contact information
   and tracking customer requests.
 – Technical experts have detailed knowledge about the existing technology
   within the enterprise, such as the Web servers, the software frameworks,
   the database management systems, or the operating systems. Furthermore,
   technical experts are responsible to deploy, administrate, and maintain the
   required software applications by the domain experts.



                                    requires                                Customer
                                                                           Management
                                                                            Application
                      Manager

      Negotiation 1
                                                                         Delete Customer


                                               define
                                                                List Customers      Customer Details   Change Customer

      Project         Project   Project
      Leader          Leader    Leader
                                                                          Add Customer

      Negotiation 2
                                                                         Delete Customer

                                               define
                                                                List Customers      Customer Details   Change Customer
                                                        Start
      Project         Project   Project
      Member          Member    Member
                                                                          Add Customer




                Figure 1. The different stakeholders and their responsibilities


    The manager tells the requirements for the software application to the project
leader. After negotiating the functionality of the software application, the man-
ager informs the technical expert about the new project. The technical expert
suggests a web-based solution to meet the requirements of location-independency
and secure access for employees. A Web application simplifies the access to the
customer data for the employees and has the lowest installation requirements
on the client systems. The low installation requirements of web-based solutions
enable a consistent access to remote customer advisers.
    The project leader maps the requirements for administrating customers to
the concrete functions Add Customer, Change Customer, and Delete Customer.
Beside this basic functionality the project leader discusses with leaders of other
teams the functionality to access and update all relevant customer data. The
project leaders agree upon the functions List Customer s to enable access to
all customers and Change Customer to update customer details. The project
leader negotiates these functionalities with the project member to concretize the
sequence of functions. Figure 1 refers to this interaction as Negotiation 1.
                                                                                           19

    The resulting functionalities are propagated to the project members of each
project team. As the members need to interact with the customer management
system in their daily work they ascertain the pageflow of the final Web applica-
tion. This interaction is illustrated in Figure 1 Negotiation 2.
    The required functionalities of the software application, such as Add Cus-
tomer, Change Customer, and Delete Customer, do not include technological
details at an abstraction level with is familiar to the domain experts. Hence, the
requirements of a software application are called the domain concepts. To de-
velop an executable software application which fulfills all needed requirements,
the domain concepts have to be mapped to the technical concepts of the existing
enterprise’s technologies.
    Mostly, domain experts, such as managers, project leaders, or project mem-
bers, do not have any knowledge about the existing technologies. Hence, domain
experts have to interact and collaborate with technical experts permanently.
Figure 2 depicts the interaction structure of the motivating example. Managers
interact with project leaders and project leaders interact with their project mem-
bers.


                Domain Experts



                                 interact                        interact



                                                 Project                         Project
                  Manager
                                                 Leader                          Member



                            interact                  interact        interact




                                            JSF Web Application
                                                 Expert

               Technical Experts


             Figure 2. Interaction between the different Stakeholders



   The presented procedure of defining the functionalities of the required cus-
tomer management Web application is fragmented into different stakeholders.
Every group of participants enriches the existing model by specific information
and expertise. The group of project leaders negotiates the functionalities and
the group of project members ascertains the pageflow of the Web application.
Technical experts enrich the requirements with technical requirements for the
resulting executable Web application.
20

    Due to the diverse backgrounds and knowledge of the different stakeholders, it
makes sense to present to each group of stakeholders only the familiar concepts
they need for their work, and to omit the other details. In our case, domain
experts should be able to express the requirements without the technical details.
To result in an executable software application, the technical experts should
be able to enrich the domain concepts with the additionally needed technical
details.
    Before describing how our approach finds a remedy to develop software appli-
cations, especially Web applications, to solve the described problems, an intro-
duction to Domain-specific Modeling Languages (DSML) based on the Model-
driven Software Development (MDSD) paradigm, is given.


3    Using Model-driven DSMLs for Developing Web
     Applications

A common development approach for Web applications is Model-driven Software
Development (MDSD) which provides multiple different levels of abstraction
as well as platform-independence. MDSD-based modeling tools, such as model-
driven DSMLs, can help multiple stakeholders, with different backgrounds and
knowledge, to express relations and behaviors of a domain with familiar nota-
tions. The goal is that each stakeholder – maybe with the help of other stakehold-
ers – can easily understand, validate, and even develop parts of solution needed.
For instance, domain experts do not have to deal with technological aspects,
such as programming APIs or service interface descriptions. Domain experts can
assist the technical experts that they can map not well-known domain problems
to an appropriate technological model. This leads to an intense collaboration be-
tween the different stakeholders and lowers the possibility of misunderstandings
[5].


                    1        DSL                *
                        Concrete Syntax
     defined in                                              represents



             *                                               1
                             based on                                         based on
                                                       Model
       Model Instance                                                                         Meta-Model
                        *                  1    (DSL Abstract Syntax )
                                                                          *              1

           1..*                                              1..*
          use                        defined using
             *          *
                                     produces              Schematic            uses
            Transformation                                                                   Individual Code
                                                         Recurring Code
                              1..*                   *                    *              *



                    Figure 3. DSLs based on MDSD – relevant artifacts
                                                                               21

    Figure 3 depicts the major artifacts of MDSD-based DSMLs (see also [3]). An
MDSD DSML is based on a meta-model which defines how the domain elements
and their relations have to be described [3]. The constructs of the meta-model
are used to define models, where a model represents the abstract syntax of the
DSML. The abstract syntax defines the elements of the domain and their re-
lationships without considering their notations. Each abstract syntax can be
pictured by multiple concrete syntaxes, as described in[3,6]. The concrete syn-
tax describes the representation of the domain elements and their relationships
in a suitable form for the stakeholders. Abstract and concrete syntax enable
the different stakeholders to define model instances with a familiar notation to
represent particular problems of the domain. The ultimate goal of the transfor-
mations, which are defined on the model, is to transform the model instances into
executable languages, such as programming languages or Web application frame-
works. Transformations are used to generate all those parts of the (executable)
code which are schematic and recurring, and hence can be automated.


4   Our Approach

To offer expressive and convenient languages for the different stakeholders, our
approach provides a horizontal separation of DSMLs into multiple sub-languages,
where each sub-language is tailored for the appropriate stakeholders. A suitable
separation can be established by splitting the language model into high-level and
low-level models, where the low-level models extend the high-level models. Hence,
a separation of technical issues and domain concerns can be established to present
only the appropriate concerns to each of the different groups of stakeholders.
    In our approach, high-level concerns, relevant for non-technical stakeholders,
are distinguished from low-level technical concerns to achieve better understand-
ability for the different stakeholders. That is, high-level DSLs are designed to
support the domain experts, enabling them to work in a language which repre-
sents the domain concerns with a notation which is close or equal to the domain’s
terminology. Based on the motivating example in Section 2, high-level domain
concerns are Add Customer, Create Customer, or the definition of the pageflow.
In contrast, low-level DSMLs are utilized by technical experts to specify the
technical details missing in the high-level DSMLs. These details are needed by
the model-driven code generator to transform the model instances, expressed in
the DSMLs, into an executable and running Web application. For instance, in
the Web application domain, relevant low-level concerns are form, input, submit,
variable, or database connection.
    Figure 4 outlines our approach of providing tailored DSMLs for all different
stakeholders which are involved within the development life-cycle of Web appli-
cations. The high-level DSMLs and the low-level ones are based on corresponding
language models. Low-level DSMLs provide constructs that are tailored for tech-
nical experts, whereas high-level DSMLs provides constructs which are tailored
for domain experts, such as managers, project leaders, or project members. The
high-level language models tailor the domain’s requirements and are extended
22


                                                     defined in

                  use                                High-Level                     High-Level
       Domain              High-Level                Language                         Model
       Experts               DSML         based on     Model          instance of
                                                                                     Instance


           collaborate          extends                     extends                       extends


                                                     Low-Level                      Low-Level
                           Low-Level                 Language                         Model
                  use        DSML         based on     Model          instance of
                                                                                     Instance


                                                     defined in
      Technical
       Experts


                         Figure 4. Separation into high-level and low-level


with technical details which are described in the low-level language model. The
high-level languages models and the high-level model instances are extended by
low-level language models and low-level model instances, respectively.
   Following our approach, it is not only possible to provide two different levels of
abstractions. Also it is possible to provide multiple different levels of abstractions
where each level of abstraction is tailored for the designated stakeholders. The
number of different levels of abstractions depends on the problem domain, as
well as on the number of the different type of stakeholders.


5     Case Study

This section demonstrates our described approach (see Section 4) based on the
motivating example (see Section 2). The following example demonstrates how
our approach can be applied for a collaborative definition of the pageflow of Web
applications [7]. First, the requirements of the high-level and low-level DSMLs are
stated which are based on the requirements of the motivating example and the
used existing technology. Then, the language model of the DSMLs is presented.
Afterwards the high-level and low-level DSMLs are presented and how they can
be used by the appropriate stakeholders. Finally, the co-operation between high-
level and low-level DSMLs is described.


5.1     The Requirements of the Web Application

Based on the motivating example of Section 2, the requirements for the domain
experts are as follows:

    – Managers should be able to define the required Web application page.
    – Project Leaders can define the Web pages of the required Web application.
    – Project Members are allowed to define the pageflow of the Web pages by
      using control structures, e.g., IF, SWITCH, or loops like WHILE.
                                                                                23

    The domain experts should be able to assist the technical experts during
the whole modeling process of the Web application. Hence, technical experts
need a DSML for mapping the domain concepts to the technical models. The
used technology in this example is the JavaServer Faces (JSF) framework [8].
Modeling the pageflow for the JSF framework can be arranged easily because
JSF provides an easy and convenient way of defining the pageflow.
    After knowing the high-level and low-level requirements of the Web applica-
tion, the language model can be defined. This is shown in the following section.


5.2   The Language Model of our Approach

Figure 5 depicts our approach of separating the classes of the language model
into high-level and low-level ones to provide tailored DSMLs to the appropriate
stakeholders. The implemented language model is based on the requirements of
the domain experts as well as on the concepts of the underlying technology, in
our case JSF. The separation is depicted by the dotted line, where the upper
portion of the figure illustrates the high-level classes and the lower portion the
low-level classes. The high-level classes are divided into three views, where each
view is tailored for the requirements of the appropriate stakeholders.
    First, a description of the classes of the language model is given. Each WebAp-
plication consists of multiple WebPages. Each WebPage consists of a number
of NavigationRules where each rule points to the subsequent WebPage which
should be displayed to the visitor of the Web application. Navigation rules can
be defined using Java-like If, Switch, and While statements. An If statement
consists of an IfBranch and of an optional ElseBranch. A Switch consists of
multiple CaseBranches and an optional DefaultBranch. For displaying the same
Web pages a certain number of times, While loops can be used, e.g., slideshows.
    The so far described classes of the model are labeled as the high-level classes
because no technical aspects appear within the high-level classes. But, to trans-
form the model instances into an executable Web application, the high-level
model must be enriched with technological aspects. This is done by defining
classes which are tailored to the JSF Web application framework. In JSF, a
NavigationRule consist of a number of NavigationCases. All navigation rules
are assembled to the JSFConfiguration. Also, the configuration contains all
ManagedBeans which store the data of the Web application. However, managed
beans are part of the future work to extend the technical models by persistence
and business logic modeling mechanisms.
    After describing the defined classes and the relationships, each stakeholder’s
view is described which is based on the above mentioned requirements. Technical
experts, in our case JSF experts, can map the defined and required domain
concepts, such as the pageflow or the navigation rules, to concrete JSF specific
concepts by using the low-level DSML which contains the low-level classes. How
domain experts can use the high-level DSML, and how technical experts can use
the low-level DSML is demonstrated in the following sections.
24



                                                                Project
                     Manager                                    Leader



                                                       1..*                      1..*           Project
                    WebApplication                              WebPage                         Member


                                                                     0..*
                                                       0..*                     0..*
                                                              NavigationRule



                                                         a


                                         If                                    Switch                          While


                            1                          0..1             1..*                    0..1
                       IfBranch                 ElseBranch       CaseBranch             DefaultBranch




                                                                                                 JSF
                          1..*       NavigationCase   1..*                                  NavigationRule


                                                                                                        0..*
      Technical
       Expert                                                                                   JSF
                                     ManagedBean      0..*                                  Configuration




              Figure 5. The layers and the stakeholder’s views of the model


5.3     The High-level DSML

Traditional design and modeling tools evolved from desktop applications to
client-server architectures. As a consequence, an easy way to provide the re-
quired stakeholder’s views, is to use a graphical web-based high-level DSML ed-
itor. The high-level DSML editor provides web-based graphical User Interfaces
(UI) functionalities, such as Drag-and-Drop, to design pageflows. The benefits
of a web-based pageflow design approach are obvious: low requirements to the
client, fast access to the pageflow models, and fast propagation of even complex
changes in pageflow design.
    Figure 61 shows a screen-shot of the implemented web-based graphical high-
level DSML designer. After a successful log in into the system, the system knows
the role of the user, and the corresponding view can be displayed. Each domain
expert – manager, project leader, and project member – has a tailored view
which provides only the constructs of the language model which are defined in
the above described stakeholder’s views. In our case, after the log in of a man-
ager, the manager is only allowed to define a new required Web application.
1
     The prototype is accessible under: http://www.expressflow.com
                                                                                25




                         Figure 6. The high-level DSML


After a manager defined a new required Web application, the project leaders
can define the Web pages of the Web application. Finally, project members can
define the pageflow. The role model, to access the pageflow models, is derived
from BPEL4People [9]. The manager is refered as the Creator of the Web appli-
cation. This role is determined automatically by the system. The manager adds
participants to the Web application as Business Administrators to grant full ac-
cess to the Web application source model. Participants in the role of a Process
Stakeholder are not allowed to change the Web application source model.
    The benefit of this approach is that each stakeholder can change the previ-
ous defined Web application’s requirements regularly. The outcome of this is a
continuos development life-cycle of a Web application which involves all stake-
holders and increases their collaboration. How technical experts can use their
tailored low-level DSML to map the high-level model instances to the technical
concepts is demonstrated in the following section.


5.4   The Low-Level DSML

After each collaborative change by the domain experts, the technical expert can
map the high-level model instances to the technical low-level models. Figure 7
illustrates how the technical experts can map and extend the high-level defini-
tions of the modeled Web application to the JSF Web application framework. A
demonstration of the mapping of high-level Switch statements to JSF naviga-
tion rules is demonstrated. The low-level DSML was developed and used within
Frag [10].
    First, the high-level and low-level language models are imported. Then, the
model instance is imported which was defined by the domain experts by using
the high-level DSML. The mapping starts with an iteration of all defined Web
pages. Within this iteration, an iteration over all defined navigation rules of the
26

## load the high-level model
import HighLevelModel
## load the low-level model
import JSFLowLevelModel
## load the model instance
## the CustomerManagement WebApplication instance
loadWebApp "CustomerManagement"

## iterate over all existing WebPages
foreach webPage [CustomerManagement pages] {
      ## iterate over all existing NavigationRules of the current WebPage
      foreach navCase [$webPage navigationRules] {

            ## check if the current NavigationRule is a Switch
            if {[$navCase isType Switch]} {
                  ## process all CaseBranches
                  foreach cb [$navCase caseBranch] {
                        ## now, do the mapping
                  }
                  ## process the DefaultBranch (if it exists)
                  if {[$navCase defaultBranch]!=null} {
                        ## now, do the mapping
                  }
            }
      }
}


      Figure 7. Extending the high-level model instance with technical aspects


current processed Web page is done. In our case, this is implement by nested
foreach loops. If the current navigation rule is a high-level switch statement,
each case (including the default case) is mapped to a JSF navigation case.
   Every time a domain expert changes the requirements of the Web applications
by using the high-level DSML, the technical experts have to map the changed
requirements to the used technology by using the low-level DSML.


5.5   The Data Exchange between the High- and Low-Level DSMLs

In this work, the high-level and low-level DSMLs are different. The reason for
this decision was to provide a graphical syntax for the high-level DSML, making
it easier and more understandable for the domain experts. Because technical
experts are used to work with textual syntaxes, we decided that the low-level
DSML should be based on a textual syntax, making it more usable to the techni-
cal experts. The resulting problem is that the modeled requirements of the Web
application have to be exchanged between the high-level and low-level DSML.
To find a remedy, we decided to provide an XML-based data exchange.
    Figure 8 demonstrates our way of enhancing the collaboration between do-
main and technical experts. After changing any high-level aspects of the Web
application within the high-level DSML, the high-level model instances are ex-
ported to an XML file which gets imported by the low-level DSML. The tech-
nical experts see the changes, map them to the technical model, and extend
the high-level model instances with technical details. Afterwards, an XML file
                                                                                      27

                 import                           generate
                                     High-Level
                                       Editor




            
                                                  
            
                                                  
                                                                          Web
              
              ...
                                                  ...                   Application
                                                  
                                                       Generator




                                     Low-Level
               generate                Editor           import




       Figure 8. Data exchange between the high-level and low-level DSMLs


is generated, which contains the additionally needed technical aspects to be
able to generate a running system. At a certain stage of maturity, the perma-
nently exchanged XML file can be given to the Web application generator which
transforms the high-level model instance, which are enriched with technological
aspects, to the executable Web application on the desired technology.
    Our approach tries to involve all stakeholders into the development process
of Web applications, as well as to enhance the collaboration between the stake-
holders. During the development life-cycle we discovered some important benefits
and drawbacks which are described in the following section.


6   Lessons Learned

This section describes discovered benefits and drawbacks of our approach, which
are considerations for future work.
    An obvious benefit of the separation into high-level and low-level languages is
that domain experts do not have to work with unfamiliar technical details. Also,
technical experts do not have to work with not well-known domain concepts.
Because of the different expertise of the stakeholders, domain experts have to
assist the technical experts that they can understand and map not well-known
domain problems to the appropriate technological model. This leads to an intense
collaboration between the different stakeholders and lowers the possibility of
misunderstandings.
    A drawback of our approach can be found in the permanent change of the
high-level requirements. For the time being, technical experts have to map the
requirements to the technological model every time a change occurs. But, due to
the fact that the underlying technology does not change as often as the require-
ments change, the mapping can be written just once. For example, a high-level
Switch will always be mapped in the same way to the technological JSF naviga-
tion rules. Hence, as future work we have planed to automate the mapping and
the transformation to the JSF Web application framework. Because of the close
28

relation between high-level and low-level language models, we do not know yet
how this relation evolves. For future work, we have planned to change the un-
derlying technology and observe how far the high-level model has to be changed.
Also, we will observe how changes to the high-level model affect the low-level
model.
    To find solutions for the drawbacks of our approach, an intense research about
related work has to be done. Some of the already found related work is described
in the following section.

7      Related Work
Nowadays, many approaches on automated generation of Web applications ex-
ists, such as UWE [11], WebML [12], W2000 [13], or OOHDM [14]. To the best of
our knowledge, all approaches do not describe how a separation into high-level
and low-level is done to provide tailored languages to the appropriate stake-
holders. For the time being, our approach is based to the JSF Web application
framework. But, to observe the evolution of the relation between the high- and
low-level languages if the low-level model gets changed, one of the mentioned
approaches can be chosen.
    Distante et al. [15] introduce a model-driven approach for combining the
development of the Ubiquitous Web Applications (UWA) design framework, the
MVC pattern, and JavaServer Faces (JSF). UWA provides conceptual models
at a high level of abstraction which can be used by the stakeholders. To provide
useful information to the application developers, the UWA conceptual models
are transformed to UML-MVC logical models. Both, the conceptual and logical
models are platform independent. They are transformed to platform specific
models, i.e., JavaServer Faces.
    The following approaches are very similar to our approach and we have to dis-
cover them in more detail to find solutions for the currently existing drawbacks
of our approach. Freudenstein et al. [1] define a methodology for a model-driven
Web application development using Domain-specific modeling languages. Their
work identifies improvements of the communication and collaboration through-
out all stages of the development process of Web applications. Brambilla et al.
[16] provide a detailed journey on process modeling for Web applications. Their
work extends WebML [12] and WebRatio2 to map identified process requirements
to process modeling for Web applications. Visser [17] introduces WebDSL, a DSL
for modeling and developing Web applications based on a rich data model, where
a separation into high- and low-level is given too.

8      Conclusion
In this paper we presented an approach to involve all stakeholders – technical and
non-technical – in the development process of Web applications. Our approach
was exemplified on an introduced motivating example.
2
     http://www.webratio.com, last accessed: April 2009
                                                                                     29

     The approach uses DSMLs which are based on the MDSD paradigm. MDSD is
a perfect way to provide multiple levels of abstractions and which can be tailored
to the expertise of the appropriate stakeholders. DSMLs are used to provide
understandable and reusable possibilities for the stakeholders for modeling the
required Web applications.
     The high-level DSML, which is tailored for non-technical stakeholders, is
based on a high-level language model which does not contain any technological
aspects. Hence, non-technical stakeholders, also called domain experts, can work
with a language that is tailored to their expertise and do not have to handle
with non-understandable technical details.
     For an automated generation of an executable Web application, the high-level
language model has to be enriched with additionally needed technical aspects.
This is solved by the low-level language model which is based on the used technol-
ogy. Technical experts have to map to required domain concepts on the low-level
language model within a DSML which provides constructs that are familiar to
the technical expert.
     To model the requirements of Web applications, the domain experts assist the
technical experts during the mapping of the domain concepts to the technological
model. Hence, technical experts do not have to handle with well-known domain
concepts. The assistance leads to an intense collaboration between all technical
and non-technical stakeholders which are involved within the whole development
life-cycle of a Web application.

Acknowledgement:
This work was supported by the European Union FP7 project COMPAS, grant
no. 215175.


References

 1. Freudenstein, P., Buck, J., Nussbaumer, M., Gaedke, M.: Model-driven Construc-
    tion of Workflow-based Web Applications with Domain-specific Languages. In:
    MDWE. (2007)
 2. McDonald, A., Welland, R.: Agile Web Engineering (AWE) Process: Multidisci-
    plinary Stakeholders and Team Communication. In Lovelle, J.M.C., Rodrı́guez,
    B.M.G., Aguilar, L.J., Gayo, J.E.L., del Puerto Paule Ruı́z, M., eds.: ICWE. Vol-
    ume 2722 of Lecture Notes in Computer Science., Springer (2003) 515–518
 3. Thomas, S., Markus, V., Krzysztof, C.: Model-Driven Software Development: Tech-
    nology, Engineering, Management. John Wiley & Sons (2006)
 4. Oberortner, E., Zdun, U., Dustdar, S.: Domain-Specific Languages for Service-
    Oriented Architectures: An Explorative Study. In Mähönen, P., Pohl, K., Priol, T.,
    eds.: ServiceWave. Volume 5377 of Lecture Notes in Computer Science., Springer
    (2008) 159–170
 5. Douglas C. Schmidt: Model-Driven Engineering. IEEE Computer 39(2) (February
    2006)
 6. Baar, T.: Correctly defined concrete syntax. Software and System Modeling 7(4)
    (2008) 383–398
30

 7. Oberortner, E., Vasko, M., Dustdar, S.: Towards Modeling Role-Based Pageflow
    Definitions within Web Applications. In: Proc. of the 4th International Workshop
    on Model-Driven Web Engineering (MDWE 2008). Volume 389 of CEUR Workshop
    Proceedings., Toulouse, France, CEUR-WS.org (September 2008) 1–15
 8. Sun Developer Network: JavaServer Faces Technology
    Available online at http://java.sun.com/javaee/javaserverfaces/.
 9. IBM,        SAP:                  WS-BPEL         Extension       for     People
    http://www.ibm.com/developerworks/webservices/library/specification/ws-
    bpel4people/.
10. Zdun, U.: The Frag Language http://frag.sourceforge.net/.
11. Andreas Kraus and Alexander Knapp and Nora Koch: Model-Driven Generation
    of Web Applications in UWE. In: MDWE. (2007)
12. Stefano Ceri and Piero Fraternali and Aldo Bongio: Web Modeling Language
    (WebML): a modeling language for designing Web sites. Comput. Netw. 33(1-6)
    (2000) 137–157
13. F. Garzotto, L. Baresi, and M. Maritati: W2000 as a MOF Metamodel. (2002) In
    The 6th World Multiconf. on Systemics, Cybernetics and Informatics-Web Engi-
    neering track.
14. Daniel Schwabe and Gustavo Rossi: An Object Oriented Approach to Web-Based
    Application Design. Theor. Pract. Object Syst. 4(4) (1998) 207–225
15. Damiano Distante and Paola Pedone and Gustavo Rossi and Gerardo Canfora:
    Model-Driven Development of Web Applications with UWA, MVC and JavaServer
    Faces. In Baresi, L., Fraternali, P., Houben, G.J., eds.: ICWE. Volume 4607 of
    Lecture Notes in Computer Science., Springer (2007) 457–472
16. Brambilla, M., Ceri, S., Fraternali, P., Manolescu, I.: Process modeling in web
    applications. ACM Trans. Softw. Eng. Methodol. 15(4) (2006) 360–409
17. Visser, E.: WebDSL: A Case Study in Domain-Specific Language Engineering. In
    Lammel, R., Saraiva, J., Visser, J., eds.: Generative and Transformational Tech-
    niques in Software Engineering (GTTSE 2007). Lecture Notes in Computer Science,
    Springer (2008)