<!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>UML/OCL based Design and Analysis of Role-Based Access Control Policies</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Oliver Hofrichter</string-name>
          <email>hofrichter@informatik.uni-bremen.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Martin Gogolla</string-name>
          <email>gogolla@informatik.uni-bremen.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Karsten Sohr</string-name>
          <email>sohr@informatik.uni-bremen.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Bremen, Computer Science Department Database Systems Group</institution>
          ,
          <addr-line>D-28334 Bremen</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Access control plays an important part in IT systems these days. Speci cally Role-Based Access Control (RBAC) has been widely adopted in practice. One of the major challenges within the introduction of RBAC into an organization is the policy de nition. Modeling technologies provide support by allowing to design and to validate a policy. In this work we apply a UML and OCL based domain-speci c language (DSL) to design and to analyze the access control of the conference management system EasyChair. For the rst time EasyChair is formally described in connection with RBAC. Our activities are located on three levels: (a) the re-engineering of the system's access control policy is located at the policy level, (b) the framework level summarizes activities concerning the RBAC metamodel (e.g. enhancements), and (c) at the con guration level, we con gure a concrete policy using the conference management system options. As a result, both a DSL developed in previous work is checked for the need of enhancements, and the re-enginered EasyChair access control policy is analyzed. For validation purposes a frequently used UML/OCL validation tool is utilized.</p>
      </abstract>
      <kwd-group>
        <kwd>Metamodel</kwd>
        <kwd>RBAC</kwd>
        <kwd>Policy Analysis</kwd>
        <kwd>Validation</kwd>
        <kwd>UML</kwd>
        <kwd>OCL</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Nowadays large organizations deal with a huge amount of data. Parts thereof
have to be protected so that no unauthorized access can occur. At this point,
access control comes into play.</p>
      <p>
        Access control regulates who can access what kind of data under which
circumstances. Di erent access control models exist. An access control model de nes
the concepts available during the creation of an access control policy [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. An
access control policy contains the concrete rules restricting access to objects in
an organization. Nowadays the Role-Based Access Control (RBAC) model [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] is
frequently used [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. The idea behind RBAC is to prevent the direct assignment
of permissions to users. Instead roles are interposed. In 2004 RBAC was adopted
as an ANSI standard [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. The initial RBAC model is referred to as RBAC0 and
comprises the core concepts of roles, permissions, users, sessions and relations
between these concepts. It has been enhanced by additional concepts in further
versions of the RBAC model: RBAC1 enhances the core RBAC model by adding
role hierarchies; RBAC2 introduces authorization constraints as restrictions on
the RBAC functions and relations. RBAC96 cumulates the features of RBAC0,
RBAC1 and RBAC2.
      </p>
      <p>
        Since an organization's access control policy is the basis for the decision whether
access to a resource is authorized or not, it is very important that the access
control policy meets the organization's security requirements. However, often
access control policies are so complex that their rules get opaque. Often the
formulation of authorization constraints results in additional properties the policy
designer might not be aware of. That is why tool support for the design and
for the validation of access control policies is desirable. In [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] a domain-speci c
language (DSL), based on the Uni ed Modeling Language (UML) [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] and the
Object Constraint Language (OCL) [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ], is presented which allows for designing
and analyzing RBAC. For validation purposes, the UML-based speci cation
environment (USE) [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] is applied. The organization's security administrator who
faces the challenge of designing a policy for a large organization with a huge
amount of resources worthy of protection can deploy the RBAC framework and
in doing so is enabled to consider security requirements in early stages of software
development life-cycle.
      </p>
      <p>
        In this contribution we analyze the implemented access control policy of the
EasyChair conference management and propose few minor modi cations of the
original RBAC DSL. EasyChair [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] was selected because using roles and
rolebased access control in the domain of scienti c conferences seems obvious and
among the conference management systems EasyChair is most commonly used.
Since there was no documentation of the access control policy implemented by
the EasyChair developers, role engineering had to be conducted in the rst
step. The EasyChair access control policy was reconstructed by (1) exploring
the graphical user interface (GUI) and (2) constructing typical work ows in the
work with the EasyChair system. In this way potential roles, accessible objects,
access operations and authorization constraints could be mined.
The rest of this paper is organized as follows: In Section 2 the DSL based
approach is introduced. In Section 3 the RBAC DSL is deployed to visualize
excerpts from the re-enginered EasyChair RBAC policy. Other related work is
presented in section 4. Section 5 concludes this work and commands a view on
further developments in the future.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>The Deployed DSL Based Approach</title>
      <p>This section rstly introduces the RBAC DSL and the applied validation tool
and based on this classi es the activities performed in our contribution.
2.1</p>
      <sec id="sec-2-1">
        <title>RBAC DSL</title>
        <p>
          The RBAC DSL allowing for the design and analysis of RBAC policies and
deployed in the following is presented in [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ].
        </p>
        <p>
          It is based on a metamodel, consisting of a UML description of the core RBAC
concepts and a set of authorization constraints expressed by OCL invariants.
The UML part de ning the abstract syntax of the DSL is depicted in Figure 1.
A detailed description of the OCL invariants is presented in [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. The RBAC
metamodel di erentiates two levels: the dark gray shaded policy level and the
light gray user access level. The policy level involves all those elements from the
RBAC model the policy designer comes in contact with during the process of
the design of a policy. Among these are roles, users, permissions (represented
as actions on resources) and the relations between these elements such as user
assignment. Similar to the elements of the user access level, these elements are
represented as classes and associations. The user access level represents concrete
activities of users in the context of an access control policy. The concept of
snapshot allows for the speci cation of dynamic constraints. A concrete access
control policy is represented by an instantiation of the RBAC metamodel.
2.2
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>Validation Tool USE</title>
        <p>
          The RBAC DSL serves as a basis for the validation. The validation is conducted
by the UML-based speci cation environment (USE) [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. This tool can be used to
check if a policy design meets the intuition of a policy designer which is based on
organizations' security requirements. In order to validate a security policy the
analyst has to generate system states representing the policy. System states are
represented as object diagrams. The development can be done by creation and
manipulation of objects, attributes and links on a GUI or by writing command
les. The created snapshots are compared with the speci ed RBAC model. If the
modeled system states violate the de ned constraints the user obtains precise
feedback (cf. Figure 5) about the cause for the violation.
2.3
        </p>
      </sec>
      <sec id="sec-2-3">
        <title>Analyst's Activities</title>
        <p>
          This work is based on previous work [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] and extends it. The use case diagram
in Figure 2 classi es the activities performed in the present work in the context
of preceding activities. The activities were located on three di erent levels: (a)
the upper part summarizes activities concerning the RBAC metamodel on the
framework level. (b) activities concerning the RBAC policy which is an instance
of the RBAC metamodel are located below at the policy level. (c) at the bottom
of the gure the con guration level is depicted. At this level a concrete access
control policy is con gured. The analyst activities are promoted in the present
paper (highlighted through a bold rectangle in the gure). The analyst activities
span over all the three levels as we will describe in the following.
The original RBAC metamodel was developed by the RBAC metamodel
development team represented as an actor in the diagram. The remaining involved
actors are the EasyChair development team, the system's end-user (conference
organization) and the analyst. We assume the EasyChair development team
initially chose an access control model [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ] at the beginning of the design phase of
EasyChair. Based on this decision it de ned an access control policy. It is
assumed in this contribution, that EasyChair uses the RBAC model [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ]. Finally
the EasyChair developers de ned policy con guration options for the end-users
and implemented these and the according access control rules in the EasyChair
system. The organizer of a scienti c event as the end-user of EasyChair makes
choices from the con guration options and customizes EasyChair to the needs
of the respective event this way. The analyst's main activities are the policy
reengineering, the policy validation and the extension of the RBAC metamodel
if necessary. For the policy's de nition roles, permissions and authorization
constraints had to be mined. In order to mine authorization constraints the analyst
also acted on the con guration level.
In this section excerpts from the reverse engineered security policy of
EasyChair are presented. A more detailed modeling of EasyChair's RBAC policy
is presented in [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. The following modelings serve on the one hand as example
visualizations for the reverse engineered access control policy of EasyChair and
describe on the other hand possibilities to validate concrete system states against
a previously de ned security policy. In the following gures, elements from the
policy level are shaded in gray.
The UML object diagram in Figure 3 serves as an introductory modeling. The
diagram represents the simplest of all possible academic conferences in
EasyChair. The diagram depicts three users that respectively access one resource by
three di erent actions one after another. In the rst system state a user assigned
to role author writes a paper. This paper represents the accessible resource. In
the following state another user associated with the role pcMember reviews this
paper. In the nal system state a user in the role chair decides on the acceptance
respectively the refusal of the paper. Security administrators would proceed in
the same way to create organization's access control policies: by creating and
manipulating objects, links and attributes.
The previous modeling served as a visualization of an excerpt from the
policy. In the following sections examples of possibilities to analyze the policy are
presented.
        </p>
        <p>In Figure 4, a concrete situation from the EasyChair system is depicted together
with the Class invariants view of the USE tool. The situation was manually
constructed on the basis of a concrete EasyChair con guration.</p>
        <p>The policy speci es a permission for editing the administration area of
EasyChair. The so-called conference con guration is represented as a resource. The
user depicted in the left part of Figure 4 is associated to the role chair. Since
this role is associated with the necessary permission for editing the conference
con guration, no constraint is violated. The right part of the gure shows the
access of another user to the protected resource. This user is member of the
role pcMember. This role is not equipped with the needed permission.
Therefore the validation tool reports on a violation of an OCL constraint depicted in
Listing 1.1.</p>
        <p>Listing 1.1. Invariant ActionsPermitted
context s: Session
inv ActionsPermitted :
s. access -&gt; forAll (a |
let neededPermissions = a. action . permission</p>
        <p>-&gt; select (p | p. resource = a. resource ) in
neededPermissions -&gt; notEmpty () and
s. role . permission -&gt; union (s. role . juniors (). permission )-&gt; asSet ()</p>
        <p>-&gt; includesAll ( neededPermissions ))
The invariant ActionsPermitted serves as an example for the realization of
OCL restrictions on the RBAC functions and relations supplementing the UML
description of the RBAC concepts. The invariant in Listing 1.1 is de ned in the
context of an RBAC session. A session is associated with users, roles and accesses.
It activates a user's membership in a role and the concrete access to a resource.
As depicted in the RBAC metamodel in Figure 1, any number of accesses can be
made by a user activated in a session. The invariant speci es for all the accesses
that the activated roles have to be equipped with all the permissions that are
needed for the execution of the respective operation (represented as action in
the RBAC metamodel) on the regarded object (represented as resource in the
RBAC metamodel).</p>
        <p>
          Figure 5 shows an excerpt from the Evaluation Browser view in the USE tool. It
enables a policy designer to identify the position where the constraint is violated.
The excerpt shows that a role exists that is not equipped with all the needed
permissions.
Whilst the preceding modeling investigated a restriction on the static level, the
following modeling serves as an example for the handling of dynamic constraints.
The aim is to model the following condition: a PC member is only allowed to read
the other PC member's reviews if she has already submitted her own review.
In Figure 6 a state from the EasyChair system that violates this restriction is
depicted. The object diagram consists of two snapshots. In both of the snapshots
a user associated to the role pcMember is regarded. In the second snapshot the
regarded user accesses the other PC member's reviews. This is only permitted
if there is an access to the resource through the write action rst. However, this
access is missing here. So the validation tool again reports on a violation of an
OCL constraint responsible for the realization of this authorization constraint.
The extensibility of the RBAC metamodel is shown in [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]: the metamodel is
extended by support of delegation and revocation concepts. In some places in
this contribution the modeling of the re-engineered EasyChair RBAC policy also
involved extensions to the original RBAC metamodel [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]. A detailed description
of the extensions is presented in [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. For example the metamodel was extended to
prevent that reviewers have the same a liation as authors. For the realization the
classes User and Action and the association class MutuallyExclusiveActions
were expanded. On top of this an additional invariant was introduced. The class
User was expanded by the attribute affiliation. The class Action was
expanded by an operation for identifying mutually exclusive Actions regarding the
attribute wrtAffiliation introduced to MutuallyExclusiveActions. These
ingredients are brought together by the OCL invariant checkAffiliation
dened in the context of the class Resource.
        </p>
        <p>In the same way the RBAC metamodel can be extended if an organization's
policy designer is confronted with situations that can be expressed by the existing
metamodel.
4</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Related Work</title>
      <p>
        A classi cation of RBAC related publications since the adoption of role theory
in information security [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] is presented in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. Three major classes of RBAC
research were identi ed in [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. In the present paper, a hybrid approach for the
de nition of roles was applied. Other approaches are top-down [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] and
bottomup (also labeled as role mining). The RBAC framework consists of a family of
models [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. Each family member represents an access control model. In the
present contribution a concrete access control policy is designed and analyzed.
The relationship between access control models and access control policies is
described in [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. Interoperability problems of access control policies are
addressed by the standard access control policy language XACML [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]. Juerjens
combined Model-driven development and security by integrating security related
information in UML [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. Di erent approaches for modeling RBAC properties in
UML/OCL exist. In [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] a UML pro le for a modeling environment is presented.
The approach uses (customized) class diagrams and activity diagrams. For veri
cation of RBAC properties, OCL is applied. In [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] UML is also used to describe
security policies. Contrary to our approach the UML models are transformed to
Alloy for analysis purposes. An access control policy analysis approach for
mobile applications using the UPPAAL model checker is presented in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. A survey
of Model-driven security o ers [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
5
      </p>
    </sec>
    <sec id="sec-4">
      <title>Conclusion and Future Work</title>
      <p>In this contribution, we have successfully applied a UML and OCL based DSL
for the investigation of a concrete access control policy. In doing so, the DSL
itself was validated and described how the DSL in combination with a UML and
OCL validation tool can be employed to discover and eliminate undesired policy
properties which do not meet the security requirements.</p>
      <p>
        The policy design and validation were carried out by the same group of persons.
In order to validate concrete system states against a previously de ned policy,
a separation of the responsibilities as in software quality management [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] is of
prime importance. Since the conducted role mining based on the exploration of
the GUI, simulation of concrete work steps in EasyChair and interviews with
domain experts the policy designed for investigation already based on ndings of
the investigation. This is why in this work the RBAC DSL was primary applied
to formalize and visualize the reengineered RBAC policy of EasyChair.
For the future, an automatic transformation from concrete RBAC policies into
concrete syntax used by RBAC DSL (USE) would be desirable. To harmonize
the di erent application-speci c access control policy languages the language
XACML was developed. A further step could be to develop a transformation of
the XACML representation of a policy to the USE syntax. The other direction,
namely the transformation from RBAC policy formulated in RBAC DSL into
a representation supported by concrete target systems like Tivoli or
DirXMetaRole, could be of interest as well.
      </p>
      <p>Moreover, the usability of the applied approach has to be improved. For example
at the moment the policy level and the user access level have to be modeled in
the same diagram. Separate diagrams and syntactic representations of (our DSL)
modeling elements would improve usability within an enterprise.
Another interesting aspect that has to be considered in future work is the
evolution of the RBAC metamodel. This comprises among other things the
development of a concept for handling di erent metamodel versions and both
domainspeci c metamodel changes and ones concerning access control model concepts.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Abdunabi</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ray</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          , France, R.B.:
          <article-title>Speci cation and analysis of access control policies for mobile applications</article-title>
          . In: Conti,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Vaidya</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Schaad</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          . (eds.) SACMAT. pp.
          <volume>173</volume>
          {
          <fpage>184</fpage>
          .
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2. ANSI:
          <string-name>
            <surname>Role Based Access Control</surname>
          </string-name>
          (
          <year>2004</year>
          ), ANSI/INCITS 359-2004
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Basin</surname>
            ,
            <given-names>D.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Clavel</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Egea</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>A decade of model-driven security</article-title>
          . In: Breu,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Crampton</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Lobo</surname>
          </string-name>
          ,
          <string-name>
            <surname>J</surname>
          </string-name>
          . (eds.) SACMAT. pp.
          <volume>1</volume>
          {
          <fpage>10</fpage>
          .
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>4. EasyChair Conference System. Internet, http://www.easychair.org/</mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Fuchs</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pernul</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sandhu</surname>
            ,
            <given-names>R.S.:</given-names>
          </string-name>
          <article-title>Roles in information security - A survey and classi cation of the research area</article-title>
          .
          <source>Computers &amp; Security</source>
          <volume>30</volume>
          (
          <issue>8</issue>
          ),
          <volume>748</volume>
          {
          <fpage>769</fpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Gogolla</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , Buttner,
          <string-name>
            <given-names>F.</given-names>
            ,
            <surname>Richters</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.:</surname>
          </string-name>
          <article-title>USE: A UML-Based Speci cation Environment for Validating UML and OCL</article-title>
          .
          <source>SCP 69</source>
          ,
          <issue>27</issue>
          {
          <fpage>34</fpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Hofrichter</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          :
          <article-title>Analyse und Modellierung der rollenbasierten Zugri skontrolle fur ein IT-System zur Verwaltung wissenschaftlicher Konferenzen</article-title>
          .
          <source>Master's thesis</source>
          , University of Bremen (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8. Jurjens, J.:
          <article-title>UMLsec: Extending UML for Secure Systems Development</article-title>
          . In: Jezequel,
          <string-name>
            <given-names>J.M.</given-names>
            ,
            <surname>Hu</surname>
          </string-name>
          <string-name>
            <given-names>mann</given-names>
            , H.,
            <surname>Cook</surname>
          </string-name>
          , S. (eds.)
          <source>UML. LNCS</source>
          , vol.
          <volume>2460</volume>
          , pp.
          <volume>412</volume>
          {
          <fpage>425</fpage>
          . Springer (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Kuhlmann</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sohr</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gogolla</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Comprehensive Two-Level Analysis of Static and Dynamic RBAC Constraints with UML and OCL</article-title>
          . In: Baik,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Massacci</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            ,
            <surname>Zulkernine</surname>
          </string-name>
          , M. (eds.)
          <source>Proc. SSIRI</source>
          . pp.
          <volume>108</volume>
          {
          <fpage>117</fpage>
          .
          <string-name>
            <surname>IEEE</surname>
          </string-name>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Montrieux</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wermelinger</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>Tool support for UML-based speci cation and veri cation of role-based access control properties</article-title>
          . In: Gyimothy,
          <string-name>
            <given-names>T.</given-names>
            ,
            <surname>Zeller</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          . (eds.) SIGSOFT FSE. pp.
          <volume>456</volume>
          {
          <fpage>459</fpage>
          .
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Myers</surname>
            ,
            <given-names>G.J.</given-names>
          </string-name>
          :
          <source>Art of Software Testing</source>
          . John Wiley &amp; Sons, Inc., New York, NY, USA (
          <year>1979</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Neumann</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Strembeck</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>A scenario-driven role engineering process for functional RBAC roles</article-title>
          .
          <source>In: SACMAT</source>
          . pp.
          <volume>33</volume>
          {
          <issue>42</issue>
          (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <given-names>O</given-names>
            <surname>'Connor</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.C.</given-names>
            ,
            <surname>Loomis</surname>
          </string-name>
          , R.J.
          <article-title>: 2010 Economic Analysis of Role-Based Access Control</article-title>
          .
          <source>Tech. Rep. RTI Project Number 0211876</source>
          ,
          <string-name>
            <surname>NIST</surname>
          </string-name>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14. OMG (ed.)
          <source>: UML Superstructure 2.4</source>
          .1.
          <string-name>
            <surname>OMG</surname>
          </string-name>
          (Aug
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Sandhu</surname>
          </string-name>
          , R.S.:
          <article-title>Future Directions in Role-Based Access Control Models</article-title>
          . In: Gorodetski,
          <string-name>
            <given-names>V.I.</given-names>
            ,
            <surname>Skormin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.A.</given-names>
            ,
            <surname>Popyack</surname>
          </string-name>
          ,
          <string-name>
            <surname>L.J</surname>
          </string-name>
          . (eds.)
          <article-title>MMM-ACNS</article-title>
          .
          <source>LNCS</source>
          , vol.
          <year>2052</year>
          , pp.
          <volume>22</volume>
          {
          <fpage>26</fpage>
          . Springer (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Sandhu</surname>
            ,
            <given-names>R.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Coyne</surname>
            ,
            <given-names>E.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Feinstein</surname>
            ,
            <given-names>H.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Youman</surname>
            ,
            <given-names>C.E.</given-names>
          </string-name>
          :
          <article-title>Role-Based Access Control Models</article-title>
          .
          <source>IEEE Computer 29(2)</source>
          ,
          <volume>38</volume>
          {
          <fpage>47</fpage>
          (
          <year>1996</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Sohr</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kuhlmann</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gogolla</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hu</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ahn</surname>
            ,
            <given-names>G.J.</given-names>
          </string-name>
          :
          <article-title>Comprehensive TwoLevel Analysis of Role-Based Delegation and Revocation Policies with UML and OCL</article-title>
          .
          <source>Information and Software Technology</source>
          <volume>54</volume>
          (
          <issue>12</issue>
          ),
          <volume>1396</volume>
          {
          <fpage>1417</fpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Sun</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          , France, R.B.,
          <string-name>
            <surname>Ray</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>Rigorous Analysis of UML Access Control Policy Models</article-title>
          . In: POLICY. pp.
          <volume>9</volume>
          {
          <fpage>16</fpage>
          . IEEE Computer Society (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19. di Vimercati, S.D.C.
          <article-title>: Access Control Policies, Models, and Mechanisms</article-title>
          . In: van Tilborg,
          <string-name>
            <given-names>H.C.A.</given-names>
            ,
            <surname>Jajodia</surname>
          </string-name>
          , S. (eds.)
          <source>Encyclopedia of Cryptography and Security (2nd Ed.)</source>
          , pp.
          <volume>13</volume>
          {
          <fpage>14</fpage>
          . Springer (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Warmer</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kleppe</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>The Object Constraint Language: Getting Your Models Ready for MDA</article-title>
          . Object Technology Series, Addison-Wesley, Reading/MA (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>21. OASIS XACML. Internet, http://docs.oasis-open.org/xacml/</mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>