<!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 Modeling Role-Based Page ow De nitions within Web Applications</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Ernst Oberortner</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Martin Vasko</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Schahram Dustdar</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>e.oberortner</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>m.vasko</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>dustdar@infosys.tuwien.ac.at}</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Technical University of Vienna Distributed Systems Group Argentinierstra e 8/184-1 A-1040 Vienna Austria</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>Model-Driven Software Development (MDSD) can be used to enhance developing and maintaining web applications. Furthermore, security plays a crucial role in the area of web applications. A seamless integration of access control and modeling web applications becomes important. This work introduces model-driven integration of security concerns into the development life cycle of web applications. In this paper, a static design model is introduced which enables the assignment of Role-Based Access Control (RBAC) to the page ow at design time. The approach is demonstrated by a generated web application with de ned security constraints which can be deployed on the Apache Tomcat web server.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Due to the increasing complexity of web applications, their development and
maintenance becomes more di cult [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. To nd a remedy, Model-Driven
Software Development (MDSD) can be used. It addresses the reduction of
development time, the quality of the software, a high level of abstraction for better
maintenance, as well as to achieve better portability and interoperability [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <p>
        Besides rising demands on the web application architecture, the seamless
integration of access control becomes important. Role-Based Access Control (RBAC)
is a technique for multiple user systems and networks and was introduced 1992
by Ferriaolo and Kuhn [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. RBAC is used by organizations to protect their
information resources from unauthorized access [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Nowadays, RBAC is a favored
technique because it provides an easy way of administrating security [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. RBAC
provides possibilites to model security requirements of today's web applications
through complex role hierarchies and restricted access to prede ned users.
      </p>
      <p>
        A common problem of securing web applications lies in the late integration
of security at the test phase or at the end of the development process. It is
recommended to integrate security into the life cycle of a web application [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
The integration of security with MDSD leads to a high level formulation of
security aspects [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. The model-driven integration of RBAC models into system
design models has been proved to be a feasible approach [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
      </p>
      <p>
        This work introduces a static design model which enables role-based securing
of web applications based on the page ow. Our approach is focused on the design
of secure web applications. For the time being, no models are provided for
modeling security which is established during runtime. Our approach is demonstrated
by a generated JavaServer Faces (JSF) [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] web application with de ned security
constraints, and which is deployed on the Apache Tomcat web server [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
      </p>
      <p>This paper is organized as follows: Section 2 demonstrates a motivating
example for a model-driven approach for securing web applications. Section 3
shows the background of used technologies and methodologies. An architectural
overview gives Section 4. Section 5 demonstrates the implementation of our
approach and an example. Section 6 highlights related work. Finally, Sections 7
and 8 complete the paper with future prospects and a conclusion.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Motivating example</title>
      <p>A sample web application is introducing the motivation of our approach. The
application implements a user administration where visitors1 can list all users,
request detailed information on each user, add new users, delete existing users,
and change user details.</p>
      <p>&lt;&lt;instance of&gt;&gt;</p>
      <p>&lt;&lt;instance of&gt;&gt;</p>
      <p>Page
+PageID : string
+Name : string</p>
      <p>AddUser:Page
+User
+list()</p>
      <p>ChangeUser:Page
+User
+updateUser()
+list()
+detailUser()</p>
      <p>DeleteUser:Page
+User
+deleteUser()
+list()
+detailUser()
UserDetails:Page
+User
+changeUser()
+deleteUser()
+list()</p>
      <p>ListUsers:Page
+changeUser()
+deleteUser()
+list()
+addUser()
+detailUser()
1 As the term users might be ambiguous, we refer to web application users as visitors,
and the term users refers to the design model.
1. Deny access to unregistered visitors to all web pages
2. Registered visitors need to be assigned to one of the following roles:</p>
      <p>Admin, GroupLeader, or GroupMember
3. Members of the role Admin may access all web pages
4. Members of the role GroupMember may request only user details
5. Members of the role GroupLeader may access all information concerning the
members of the role</p>
      <p>Derived from these security constraints, the UML statechart models,
illustrated in Figure 2, demonstrates the resulting page ows of each role.</p>
      <p>Delete User</p>
      <p>Delete User
List Users</p>
      <p>User Detail Change User</p>
      <p>List Users</p>
      <p>User Detail Change User</p>
      <p>List Users</p>
      <p>User Detail
Start</p>
      <p>Start</p>
      <p>Start</p>
      <p>Add Users
a) Web application</p>
      <p>Add Users
b) Group Leader
c) Group Member</p>
      <p>This sample web application indicates two restrictions:
1. Restricted Web Pages: Pages of the web application are restricted to a
prede ned role of visitors. E.g., members of the GroupMember role do not
have access to the Add-, Change- or Delete User web pages.
2. Restricted Content: Results of requests to the application depend on the
requester's role membership. E.g., members of the GroupLeader role,
requesting a list of users, retrieve only users assigned to their role.</p>
      <p>The stated restrictions can be divided into two categories: restrictions that
can be de ned (1) at design time, and (2) at runtime of the web application. E.g.,
at design time it can be de ned that only users of the Admin or GroupLeader roles
can access the AddUsers web page. But, the content of the web page depends on
the role of the visitor. The role of the visitor is known only at runtime. Hence,
the content must be generated at runtime. This is established by the business
logic of the web application.</p>
      <p>We identi ed the de nition of restrictions at design time as an ideal candidate
to integrate an RBAC model into the static design model and generate web
applications from these models. Throughout the paper, the approach of applying
RBAC on the page ow is introduced.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Background</title>
      <p>For a better understanding, this section provides an overview of used technologies
and methodologies. First, a de nition of our understanding of a page ow is given.
Afterwards, the application of MDSD on our approach is demonstrated.
3.1</p>
      <sec id="sec-3-1">
        <title>De nition of Page ow</title>
        <p>
          The Model-View-Controller (MVC) [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] pattern is a design pattern which
divides the responsibilities clearly into Model, View and Controller. The Model
encapsulates data and behavior of web applications, independent of their
representation. The View represents the presentation layer and is responsible for
rendering the data, according to the type of client, by processing the results of
the Model. The Controller has to select the subsequent web page or view which
should be displayed to visitors by handling visitor's interactions, e.g., submitting
the entered data of a form. These interactions are performed by calling actions
on the Model. Based on the interactions and the outcomings of the performed
actions, the Controller selects the next web page which is displayed to the visitor.
        </p>
        <p>The basis of selecting the appropriate web page is de ned in the page ow.
Hence, the page ow describes to which web pages visitors can navigate,
dependent on the current page. In our work, the visitor can only navigate to other
web pages by interactions with hyperlinks or buttons. The subsequent web page
depends on the hyperlink or button which the visitor clicks and in which roles
the visitor is member of. A well arranged readability of the page ow can be
achieved by de ning the page ow with Java-like IF-ELSE statements.
3.2</p>
        <p>Model-Driven Software Development (MDSD)
of Constraints which are de ned on the constructs of the metamodel. Valid
models are passed to the Code Generator which generates executable code and
the needed con guration les, i.e., in our case a JSF web application for the
Apache Tomcat web server. In our work, the code generation process is based
on Templates which are also de ned on the constructs of the metamodel.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Architectural Overview</title>
      <p>This section presents implementation details to achieve joint modeling of RBAC
and page ow of web applications. First, the used technologies are mentioned.
(a)
(a)</p>
      <p>MDSD
(b)
p1
deploy
Then, the most important implementation details are presented: the metamodel,
the model validation constraints and the code generation templates. Afterwards,
an insight to the generated code is given. Finally, the feasibility of our approach
is demonstrated on the motivating example presented in Section 2.
5.1</p>
      <sec id="sec-4-1">
        <title>Used Technologies</title>
        <p>
          The metamodel is de ned through an Eclipse Modeling Framework (EMF)
Ecore [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] model. For the time being, models are described in the XML
Metadata Interchange (XMI) [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ] format which is used for interchanging models
between di erent modeling tools. Model validation and code generation are
implemented by the use of openArchitectureWare (oAW) [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]. oAW is an Eclipse 2
based framework that a ords model validation and template based code
generation. Model validation is done through constraints which are de ned in the
oAW Check Language. Also, oAW provides the Xpand language which is used
for the de nition of the code generation templates. For the time being, only
secured JavaServer Faces (JSF) [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] web applications for the Apache Tomcat web
server [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] are generated.
2 http://www.eclipse.org
1
* -page
* page
        </p>
        <p>Page
-Name : String
1
Decision
1
1
*
-sstatratPrtaPgaege
gotoPage
-gotoPage</p>
        <p>WebApplication
-name : String
1..*
1</p>
        <p>-role
* role</p>
        <p>Role
-name : String
The metamodel is presented by a UML class diagram in Figure 5. Each
WebApplication consists of a number of Pages, and one page is depicted as the
startPage. Pages contain NavigationRules which de ne the page ow. The
classes If, ElseIf and Else are de ned to achieve a Java-like IF-ELSE page ow
de nition. These classes are derived from the Decision class which contains a
reference to the subsequent web page through the gotoPage association. The
referenced web page is displayed if the outcome of the performed actions is
equivalent to a corresponding outcome attribute, speci ed in the If and ElseIf
classes. If no corresponding outcome attribute is found, the web page speci ed
by the gotoPage reference of the Else class is displayed to the visitor.</p>
        <p>The assignment of RBAC to the de nition of the page ow is provided through
the association between the Decision and Role classes. Hence, an IF-ELSE
definition of a rolebased page ow de nition is achieved, e.g.,</p>
        <p>
          IF outcome="..." AND role="..." THEN gotoPage="..."
As introduced by Sandhu et. al. [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ], a Role consists of one or more Users and of
one or more Permissions. For the time being, a Permission is responsible to
de ne if a user has access to a certain web page or not. It is planned that more
permissions will be introduced, e.g., write or publish web pages.
        </p>
        <p>It is possible to use Aspect Oriented Modeling (AOM) for modeling the
page ow and RBAC. AOM supposes a clear separation into multiple models.
This means, that our metamodel can be splitted into two separate metamodels,
*
NavigationRule
*
1</p>
        <p>If ElseIf
-outcome : String -outcome : String</p>
        <p>Permission
-description : String
one for modeling the page ow, and one for modeling RBAC. But, AOM needs
clear de ned integration points for merging the models. Our approach de nes
an association between the classes Decision and Role, instead of integration
points. But, the use of AOM seems to be an alternative modelling technique.
This approach is subject of further research and evaluation and is out of the
scope of this work.
5.3</p>
      </sec>
      <sec id="sec-4-2">
        <title>A Model of a Role-Based Page ow</title>
        <p>Figure 6 shows an excerpt of a UML object diagram which represents the
motivating web application introduced in Section 2. Page ListUsers contains one
NavigationRule which consists of one If which refers to the UserDetails page
via the gotoPage reference. The speci ed outcome attribute in the if object
contains the string gotoUserDetails. Furthermore, a roles reference exists,
which references to the GroupMember role. Hence, the IF-ELSE de nition of the
rolebased page ow looks like:</p>
        <p>IF outcome="gotoUserDetails" AND role="member1" THEN</p>
        <p>gotoPage="UserDetails"
All navigation rules of all web pages and their associations to roles are de ned
similar.</p>
        <p>Login : WebApplication
The second one de nes that each Role must have a name. The last one de nes
that each NavigationRule must consist of at least one if. If models do not ful ll
these constraints, an error is raised, e.g., 'no name for role defined !'.
context WebApplication ERROR 'no start page defined ! ':</p>
        <p>startPage != null ;
context Role ERROR 'no name for role defined ! ':</p>
        <p>this . name != null ;
context NavigationRule ERROR 'no navigation rule defined ! ':
this . ifDecision != null ;
«DEFINE Root FOR RoleBasedPageflow :: WebApplication»
«FILE name +"/ WEB - INF / web . xml "-»
...</p>
        <p>«FOREACH this . role AS r»</p>
        <p>«EXPAND GenRole FOR r -»
&lt;security - constraint &gt;
&lt;display - name &gt; &lt;/ display - name &gt;
«EXPAND GenRoleAccessPages ( this ) FOR r -»
&lt;auth - constraint &gt;
&lt; description &gt;«r. description» &lt;/ description &gt;
&lt;role - name &gt;«r.name» &lt;/ role - name &gt;
&lt;/ auth - constraint &gt;
&lt;/ security - constraint &gt;
«ENDFOREACH -»
...
«ENDFILE»
«ENDDEFINE»
...</p>
        <p>First, a Root label is de ned for objects of type WebApplication, i.e., that
each WebApplication gets its own web.xml le. For each Role, a
&lt;securityconstraint&gt; element is generated which contains all web pages that can be
accessed by the members of this role. The &lt;role-name&gt; element is stated within
the &lt;auth-constraint&gt; element. The information of Pages is denoted by
&lt;webresource-collection&gt; elements.</p>
        <p>
          For the time being, only templates for web applications of the Apache Tomcat
web server [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] were implemented. For other web servers, new code generation
templates must be implemented.
5.6
        </p>
      </sec>
      <sec id="sec-4-3">
        <title>Generated Code</title>
        <p>
          This section discusses similar approaches which deal with RBAC and web
applications. It is divided into two parts: works dealing with (1) modeling web
applications and (2) securing web applications.
Baresi et. al. [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ] present the W2000 MOF metamodel which is divided into four
higher level packages: (1) Information, (2) Navigation, (3) Presentation, and (4)
Dynamic Behavior. The rst three packages de ne models, i.e., (1) Information
Model, (2) Navigation Model, and (3) Presentation Model. The Dynamic
Behavior package is spread over all models. The Information Model contains the
contents available to the user. The Navigation Model is based on the Information
Model. In contrast to our approach, which controls the navigation between web
pages, the W2000 Navigation Model controls the navigation between information
elements on web pages.
        </p>
        <p>
          Distante et. al. [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ] 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 speci c
models, i.e., JavaServer Faces.
        </p>
        <p>
          Schwabe et. al. [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ] introduce the Object-Oriented Hypermedia Design
Method (OOHDM) which provides multiple models for modeling web
applications. The application domain is modeled with a conceptual design model. The
navigational model is de ned through di erent views which are build upon the
conceptual model. This methodology allows the construction of di erent views
for di erent user pro les.
        </p>
        <p>
          The Orbeon Page Flow Controller [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ] provides a separation of describing
the site logic and the page ow. Hence, the simplicity gets enhanced because
there is no need to write custom logic to perform redirects between pages or
to pass arguments. Furthermore, the maintainability is enhanced through the
independent implementation of pages and the page ow. Hence, it is easier to
de ne the page ow without e ecting pages or vice versa. Security aspects are
not yet considered in the Oreon Page Flow Controller, i.e., the administrator
has to de ne the security manually in the web.xml deployment descriptor. In
contrast, our approach provides the modeling of those security aspects. Hence,
it will be an interesting research area how to combine our approach with the
Orbeon Page Flow Controller for future work.
6.2
        </p>
      </sec>
      <sec id="sec-4-4">
        <title>Securing Web Applications</title>
        <p>
          J.D. Meier [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] discusses common mistakes in the area of security engineering for
web applications: mistakes that are done (1) at the beginning (do-it-all-up-front),
(2) at the end (bolt-on), (3) during the test phase (big-bang), (4) by de ning
security without targets, e.g., rewalls, SSL (buckshot) and, (5) by addressing
security after a failure (all-or-nothing). Meier gives the advice that the most
e ective approach is to \bake" security into the application's lifecycle.
        </p>
        <p>
          Ceri et.al. introduce the Web Modeling Language (WebML) [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ]. The
approach provides multiple models for modeling di erent concerns of web
applications. Due the relation to our work, we concentrated on the Navigation and
Personalization models. Contextual and non-contextual links are provided.
Furthermore, not only the user chooses what content to see, e.g., by clicking
hyperlinks, but also the system determines which page and/or content should be
show automatically. Regarding security of web applications, the personalization
model is introduced, for de ning users and user groups, as well as
customizations. Users and user groups are mapped to WebML users and groups. At this
point we can engage the creation of code generation templates which generate
WebML users and groups. Furthermore, we can consider the WebML solution
for modeling runtime security concerns in our future works.
        </p>
        <p>
          Zang, Baumeister, Koch and Knapp [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ] propose an aspect-oriented
technique for access control in web applications. The approach is associated to the
Navigation Model of UML-based Web Engineering (UWE) [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ]. UML state
machines are used to specify access control. Each navigation node is extended by
a state machine that speci es the behavior. Furthermore, constraints are
introduced which check that each navigation node has exactly one state machine. To
introduce aspect oriented access control, the stereotype « aspect » is de ned.
Aspects are sets of web pages. Access control rules are de ned on aspects. Hence,
rules need to be speci ed once for a number of web pages. Furthermore, aspects
can contain other aspects.
        </p>
        <p>
          Bammigatti and Rao introduce the GenericWA-RBAC approach [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ] which
is based on the constrained RBAC model, introduced by Sandhu et. al. [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]. The
original RBAC model is extended by an ORGN component that represents a
set of organizations that have access to the system. A modular system
architecture is introduced that is divided into: (1) An Access Control Module which
is a process responsible for authentication of roles and authorizations, (2) the
ORGN Manager which determines the origin of the requested organization, (3) a
Role-to-Role mapper that maps roles of the external organization to native
organization roles, (4) a Role-to-Access right mapper which decides access rights for
the mapped role, and (5) an Object Management component that is responsible
for checking requested queries against sensitive data.
        </p>
        <p>
          Lodderstedt et. al. introduce the SecureUML approach [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. SecureUML is an
extension to the UML metamodel for RBAC. The SecureUML model is bound
to the ModelElement class of the UML metamodel. It provides possiblities to
dene roles, users, and permissions. Furthermore, additional support for specifying
authorization constraints and action types is given. An authorization constraint
expresses a precondition imposed on every call to an operation of a particular
resource. An action type is a class of security operations to protect particular
types of resources. SecureUML is an approach for integrating security concerns
into UML based model-driven application engineering.
7
        </p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Future Work</title>
      <p>Our current approach is able to assign RBAC to the page ow of web applications
based on MDSD. But, there is still a lot of work to do in the future. One of
the major future prospects is to have a closer look to existing model-driven
approaches for securing web applications, e.g., WebML, OOHDM, or UWE. We
have to consider how they can be combined with our work. Furthermore, we need
to consider web applications that can be deployed on other web servers than
the Apache Tomcat web server. Another future prospects regards the modeling
access control of restricted contents, i.e., access control at runtime.</p>
      <p>
        Our approach assigns a simple RBAC model in contrast to the RBAC
models introduced by Sandhu et. al. [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. First, we have to de ne many-to-many
relations for user and permission assignments to roles. Besides we have to de ne
sessions that are also included in RBAC models. Furthermore we want to do
more research for applying Static Separation of Duty (SSD) as well as Dynamic
Separation of Duty (DSD) to the meta-model. When we apply the complete
RBAC models to our approach, we have to evaluate if applying Aspect Oriented
Modeling (AOM) on the metamodels is advisable, i.e., a separation into
navigation and access metamodels. A separation into multiple models can bring better
maintainability as well as a better separation into the development team. But
good integration points for merging have to be de ned.
      </p>
      <p>A lot of work has been done in the area of modeling security for web services.
Certainly, it is important to have a closer look into this approaches for a possible
application to our approach. Also, further work can be applied to have a closer
look to model actions. Actions are executed if a violation was prevented, e.g.,
sending a mail to an administrator or raising an alarm.
8</p>
    </sec>
    <sec id="sec-6">
      <title>Conclusion</title>
      <p>This paper gave an overview of our approach of assigning RBAC to the
pageow of web applications based on MDSD. Thereby, the security concerns can be
applied at a high level of abstraction, independent of the desired platform. Our
approach concentrated on de ning RBAC at the design time of web applications.
Security concerns which must be checked at runtime, were out of scope. A static
design model, model validation constraints, and a code generation component
were introduced. Finally, an example of a generated web application
demonstrated our approach.</p>
      <p>This work has shown that it is feasible to use MDSD for integrating RBAC
to the page ow of web applications. Hence, this approach facilitates a seamless
integration of access control and the modeling web application.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>Sam</given-names>
            <surname>Chung</surname>
          </string-name>
          and
          <string-name>
            <surname>Yun-Sik Lee</surname>
          </string-name>
          :
          <article-title>Modeling Web Applications Using Java and XML Related Technologies</article-title>
          .
          <source>In: HICSS '03: Proceedings of the 36th Annual Hawaii International Conference on System Sciences (HICSS'03) - Track 9</source>
          , Washington, DC, USA, IEEE Computer Society (
          <year>2003</year>
          )
          <fpage>322</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>Thomas</given-names>
            <surname>Stahl</surname>
          </string-name>
          and Markus Voelter: Modellgetriebene Software Entwicklung: Techniken, Engineering, Management. dpunkt.verlag
          <source>GmbH</source>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>D.</given-names>
            <surname>Ferraiolo</surname>
          </string-name>
          and
          <string-name>
            <given-names>R.</given-names>
            <surname>Kuhn</surname>
          </string-name>
          :
          <article-title>Role-Based Access Controls</article-title>
          .
          <source>In: 15th NIST-NCSC National Computer Security Conference</source>
          . (
          <year>1992</year>
          )
          <volume>554</volume>
          {
          <fpage>563</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>Indrakshi</given-names>
            <surname>Ray</surname>
          </string-name>
          and
          <string-name>
            <given-names>Na</given-names>
            <surname>Li</surname>
          </string-name>
          and
          <article-title>Robert France and Dae-Kyoo Kim: Using UML to Visualize Role-Based Access Control Constraints</article-title>
          .
          <source>In: SACMAT '04: Proceedings of the ninth ACM symposium on Access control models and technologies</source>
          , New York, NY, USA, ACM (
          <year>2004</year>
          )
          <volume>115</volume>
          {
          <fpage>124</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Ravi</surname>
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Sandhu</surname>
            and
            <given-names>Edward J.</given-names>
          </string-name>
          <string-name>
            <surname>Coyne</surname>
          </string-name>
          and
          <string-name>
            <surname>Hal L. Feinstein</surname>
          </string-name>
          and Charles E. Youman:
          <article-title>Role-Based Access Control Models</article-title>
          .
          <source>Computer</source>
          <volume>29</volume>
          (
          <issue>2</issue>
          ) (
          <year>1996</year>
          )
          <volume>38</volume>
          {
          <fpage>47</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Meier</surname>
            ,
            <given-names>J.D.</given-names>
          </string-name>
          : Web Application Security Engineering. Security &amp;
          <article-title>Privacy, IEEE 4(4) (July-Aug</article-title>
          <year>2006</year>
          )
          <volume>16</volume>
          {
          <fpage>24</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>Torsten</given-names>
            <surname>Lodderstedt</surname>
          </string-name>
          and
          <string-name>
            <given-names>David A.</given-names>
            <surname>Basin</surname>
          </string-name>
          and Jurgen Doser:
          <article-title>SecureUML: A UMLBased Modeling Language for Model-Driven Security</article-title>
          .
          <source>In: UML '02: Proceedings of the 5th International Conference on The Uni ed Modeling Language</source>
          , London, UK, Springer-Verlag (
          <year>2002</year>
          )
          <volume>426</volume>
          {
          <fpage>441</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>David</given-names>
            <surname>Basin</surname>
          </string-name>
          and
          <article-title>Jurgen Doser and Torsten Lodderstedt: Model Driven Security: From UML Models to Access Control Infrastructures</article-title>
          .
          <source>ACM Trans. Softw. Eng. Methodol</source>
          .
          <volume>15</volume>
          (
          <issue>1</issue>
          ) (
          <year>2006</year>
          )
          <volume>39</volume>
          {
          <fpage>91</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Mann</surname>
          </string-name>
          , K.D.: JavaServer Faces in Action (In Action series).
          <source>Manning Publications Co., Greenwich</source>
          ,
          <string-name>
            <surname>CT</surname>
          </string-name>
          , USA (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Apache Software Foundation: Apache Tomcat. Website</surname>
          </string-name>
          (
          <year>2008</year>
          ) Available online at http://tomcat.apache.org/.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <article-title>James Rumbaugh and Ivar Jacobsen and Grady Booch: The Uni ed Modeling Language Reference Manual</article-title>
          . Addison - Wesley (
          <year>1998</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Robert Eckstein: Java SE Application Design With</surname>
            <given-names>MVC</given-names>
          </string-name>
          (
          <year>March 2007</year>
          ) Available online at http://java.sun.com/developer/technicalArticles/javase/mvc/.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13. Eclipse Modeling Framework Project:
          <article-title>(</article-title>
          <year>2008</year>
          ) Available online at http://www.eclipse.org/modeling/emf/.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Object Management Group (OMG): XML Metadata</surname>
          </string-name>
          <article-title>Interchange (XMI)</article-title>
          ,
          <year>v2</year>
          .
          <fpage>1</fpage>
          .
          <issue>1</issue>
          (
          <issue>2007</issue>
          ) Available online at http://www.omg.org/technology/documents/formal/xmi.htm.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15. openArchitectureWare: (
          <year>2008</year>
          ) Available online at http://www.openarchitectureware.org/.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Pierre-Alain Muller</surname>
          </string-name>
          and
          <article-title>Philippe Studer and Jean Bezivin: Platform Independent Web Application Modeling</article-title>
          . In Stevens, P.,
          <string-name>
            <surname>Whittle</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Booch</surname>
          </string-name>
          , G., eds.
          <source>: UML</source>
          . Volume
          <volume>2863</volume>
          of Lecture Notes in Computer Science., Springer (
          <year>2003</year>
          )
          <volume>220</volume>
          {
          <fpage>233</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <given-names>F.</given-names>
            <surname>Garzotto</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Baresi</surname>
          </string-name>
          , and
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Maritati: W2000 as a MOF Metamodel</article-title>
          .
          <article-title>(2002) In The 6th World Multiconf. on Systemics, Cybernetics and Informatics-Web Engineering track</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <article-title>Damiano Distante and Paola Pedone and Gustavo Rossi and Gerardo Canfora: Model-Driven Development of Web Applications with UWA, MVC and JavaServer Faces</article-title>
          . In Baresi, L.,
          <string-name>
            <surname>Fraternali</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Houben</surname>
          </string-name>
          , G.J., eds.
          <source>: ICWE</source>
          . Volume
          <volume>4607</volume>
          of Lecture Notes in Computer Science., Springer (
          <year>2007</year>
          )
          <volume>457</volume>
          {
          <fpage>472</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <article-title>Stefano Ceri and Piero Fraternali and Aldo Bongio: Web Modeling Language (WebML): a modeling language for designing Web sites</article-title>
          .
          <source>Comput. Netw</source>
          .
          <volume>33</volume>
          (
          <issue>1-6</issue>
          ) (
          <year>2000</year>
          )
          <volume>137</volume>
          {
          <fpage>157</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20. Daniel Schwabe and
          <article-title>Gustavo Rossi: An Object Oriented Approach to Web-Based Application Design</article-title>
          .
          <source>Theor. Pract. Object Syst</source>
          .
          <volume>4</volume>
          (
          <issue>4</issue>
          ) (
          <year>1998</year>
          )
          <volume>207</volume>
          {
          <fpage>225</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Natacha</surname>
          </string-name>
          <article-title>Guell and Daniel Schwabe and Patricia Vilain: Modeling Interactions and Navigation in Web Applications</article-title>
          .
          <source>In: ER '00: Proceedings of the Workshops on Conceptual Modeling Approaches for E-Business and The World Wide Web and Conceptual Modeling</source>
          , London, UK, Springer-Verlag (
          <year>2000</year>
          )
          <volume>115</volume>
          {
          <fpage>127</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Orbeon: Orbeon Forms User Guide - Page Flow Controller</surname>
          </string-name>
          (May
          <year>2008</year>
          ) Available online at http://www.orbeon.com/ops/doc/reference-page- ow.
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Zhang</surname>
          </string-name>
          , G.,
          <string-name>
            <surname>Baumeister</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Koch</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Knapp</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Aspect-Oriented Modeling of Access Control in Web Applications</article-title>
          .
          <source>In: Proc. 6th Int. Wsh. Aspect Oriented Modeling (WAOM'05)</source>
          , Chicago (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <given-names>Christian</given-names>
            <surname>Kroiss</surname>
          </string-name>
          and
          <article-title>Nora Koch: UWE Metamodel and Pro le: User Guide and Reference</article-title>
          . (
          <year>2008</year>
          )
          <article-title>LMU Technical Report</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <surname>Bammigatti</surname>
            ,
            <given-names>P.H.</given-names>
          </string-name>
          <article-title>and</article-title>
          <string-name>
            <surname>Rao</surname>
            ,
            <given-names>P.R.:</given-names>
          </string-name>
          <article-title>GenericWA-RBAC: Role Based Access Control Model for Web Applications</article-title>
          . Information Technology,
          <year>2006</year>
          . ICIT '
          <volume>06</volume>
          . 9th International Conference on (
          <volume>18</volume>
          -
          <fpage>21</fpage>
          Dec.
          <year>2006</year>
          )
          <volume>237</volume>
          {
          <fpage>240</fpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>