<!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>Comparing Quality of Security Models: A Case Study</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Raimundas Matulevičius</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marion Lepmets</string-name>
          <email>marion.lepmets@ttu.ee</email>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Henri Lakk</string-name>
          <email>henri.lakk@logica.com</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Andreas Sisask</string-name>
          <email>andreas.sisask@logica.com</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institute of Computer Science, University of Tartu</institution>
          ,
          <addr-line>J. Liivi 2, 50409 Tartu</addr-line>
          ,
          <country country="EE">Estonia</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Institute of Cybernetics, Tallinn University of Technology</institution>
          ,
          <addr-line>Akadeemia 21, Tallinn</addr-line>
          ,
          <country country="EE">Estonia</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Logica</institution>
          ,
          <addr-line>Sobra 54, Tartu</addr-line>
          ,
          <country country="EE">Estonia</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>Software Technology and Application Competence Center</institution>
          ,
          <addr-line>Ülikooli 8, 51003 Tartu</addr-line>
          ,
          <country country="EE">Estonia</country>
        </aff>
      </contrib-group>
      <fpage>95</fpage>
      <lpage>109</lpage>
      <abstract>
        <p>System security is an important artefact. However security is typically considered only at an implementation stage nowadays in industry. This makes it difficult to communicate security solutions to the stakeholders earlier and raises the system development cost, especially if security implementation errors are detected. In this paper we compare the quality of two security models, which propose a solution to the industrial problem. One model is created using PL/SQL, a procedural extension language for SQL; another model is prepared with SecureUML, a model driven approach for security. We result in significantly better quality for the SecureUML security model: it contains higher semantic completeness and correctness, it is easier to modify and understand, and it facilitates a better communication of security solutions to the system stakeholders than the PL/SQL model.</p>
      </abstract>
      <kwd-group>
        <kwd>Model-driven security development</kwd>
        <kwd>Modelling quality</kwd>
        <kwd>PL/SQL</kwd>
        <kwd>SecureUML</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        Nowadays, computer software and systems play an important role in different areas of
human life. They deal with different type of information including the one (e.g., bank,
educational qualification, and health records) that must be secured from the
unintended audience. Thus, ensuring system security is a necessity rather than an
option. Security analysis should be performed throughout the whole system
development cycle starting from the early stages (e.g., requirements engineering and
system design) and leading to the late stages (e.g., implementation and testing).
However this is not the case in practice [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ], where security is considered only
when the system is about to be implemented (e.g., at implementation stage) or
deployed (e.g., at installation stage). This is a serious limitation to the secure system
development, since the early stages are the place where security requirements should
be discovered and communicated among stakeholders, security trade-offs should be
considered, and security concerns should be clearly differentiated among different
system aspects (e.g., data, functionality, and etc).
      </p>
      <p>
        In this work we report a case study carried out at the Software Technology and
Application Competence Centre in Estonia, where quality of two security models is
compared following the semiotic quality framework [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. One security model is
created using PL/SQL [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], a procedural programming language, another –
SecureUML [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], a language for the model-driven security development. Both
models define a role-based access control [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] on the data model provided to us by our
industrial partner. The following research question is considered:
      </p>
      <p>Which security model – PL/SQL or SecureUML – is of a better quality?
Our study results in a high quality of the SecureUML security model, which is
typically created at the requirements engineering and design stages of the systems
development. The structure of the paper is as follows: in Section 2 we introduce the
general RBAC model and the quality framework used to evaluate security models. In
Section 3 we present our case study design. Section 4 presents the evaluation of the
security models. In Section 5 we discuss the results, conclude our study, and present
some future work.</p>
    </sec>
    <sec id="sec-2">
      <title>2 Theory</title>
      <p>The security models analysed in this paper present the security policy expressed
through the role-based access control (RBAC) mechanism. In this section we briefly
present the RBAC domain. Then we introduce and instantiate the framework used to
assess the quality of the security models.</p>
      <sec id="sec-2-1">
        <title>2.1 Role-based Access Control</title>
        <p>
          The standard RBAC model is provided in [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]. Its basic concepts are illustrated in Fig.
1. The main elements of this model are Users, Roles, Objects, Operations, and
Permissions. A User is typically defined as a human being or a software agent. A
Role is a job function within the context of an organisation. Role refers to authority
and responsibility conferred on the user assigned to this role. Permissions are
approvals to perform one or more Operations on one or more protected Objects. An
Operation is an executable sequence of actions that can be initiated by the system
entities. An Object is a protected system resource (or a set of resources). Two major
relationships in this model are User assignment and Permission assignment. User
assignment relationship describes how users are assigned to their roles. Permission
assignment relationship characterises the set of privileges assigned to a Role.
        </p>
        <p>Two security models described in Section 3, define a security policy based on the
RBAC domain. Thus, we will analyse model correspondence to the RBAC domain,
when considering their quality in Section 4.</p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2 Modelling Quality</title>
        <p>
          Evaluations of a model quality [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ] could be performed (i) using detailed qualitative
properties or (ii) through general quality frameworks. A systematic survey of these
approaches could be found in [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]. In this study we combine both approaches: firstly,
we follow guidelines of the semiotic quality (SEQUAL) framework [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ], [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] to select
the quality types of interest. Secondly, we identify a set of qualitative properties that
are used to compare two security models.
        </p>
        <p>
          The SEQUAL framework (Fig. 2) is an extension of the Lindland et al, (1994)
quality framework [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ], which includes discussion on syntax, semantics and
pragmatics. It adheres to a constructivistic world-view that recognises model creation
as part of a dialog between participants whose knowledge changes as the process
takes place. The framework distinguishes between quality goals and means to achieve
these goals. Physical quality pursues two basic goals: externalisation, meaning that
the explicit knowledge K of a participant has to be externalised in the model M by the
use of a modelling language L; and internalisability, meaning that the externalised
model M can be made persistent and available, enabling the stakeholders to make
sense of it. Empirical quality deals with error frequencies when reading or writing M,
as well as coding and ergonomics when using modelling tools. Syntactic quality is the
correspondence between M and the language L in which M is written. Semantic
quality examines the correspondence between M and the domain D. Pragmatic
quality assesses the correspondence between M and its social as well as its technical
audiences’ interpretations, respectively, I and T. Perceived semantic quality is the
correspondence between the participants’ interpretation I of M and the participants’
current explicit knowledge KS. Social quality seeks agreement among the participants’
interpretations I. Finally, organisational quality looks at how the modelling goals G
are fulfilled by M. In the second case the major quality types include physical,
empirical, syntactic, semantic, pragmatic, social and organisational quality.
        </p>
      </sec>
      <sec id="sec-2-3">
        <title>2.3 Quality Framework Application</title>
        <p>
          Although SEQUAL provides fundamental principles to evaluate model quality, it
remains abstract. We need to adapt it in order to evaluate two security models
analysed in our case study. Although being influenced by the overall theoretical
background of the SEQUAL framework, in our study we specifically focus only on
three quality types, namely semantics, pragmatics, and syntax. Furthermore, based on
our experience of assessing the requirements engineering tools [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ], development
guidelines [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ], goal modelling languages and models [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ], we select a set of
qualitative properties, that instantiates SEQUAL for the security model assessment.
Semantic quality is a correspondence between a model and its semantic domain. We
define that the model should be:
 Semantically complete. It means that everything that the software is supposed to
do is included in the model. With respect to the security domain, we say that the
security model should include concepts corresponding to the RBAC domain.
 Semantically correct. It means that a model should represent something that is
required to be developed. With respect to the security domain this qualitative
property requires separation between data- and security-related concerns – only
the security-related knowledge is required in the security model.
 Traced. It requires that the origin of the model and its content should be
identifiable. The security model should clearly present the rationale why different
security solutions are included in the model.
 Achievable. It determines that there exists at least one implementation/application
that correctly implements the model.
 Annotated. It means that a reader is easily able to determine which elements are
most likely to change. This is especially important in the security model because
system security policy might be often changed.
 Modifiable. It means that the structure and the content are easy to change. When
security policies change it should be easy to change the security concerns quickly
in the model.
The last two qualitative properties are important when new system security policies
are introduced. Knowing the place and being able to implement the new security
concerns quickly might substantially reduce the overall system maintenance cost.
Syntactic quality is a correspondence between a model and a modelling language.
The major goal of the syntactic quality is syntactic correctness. Thus, the model
should be:
 Syntactically valid. It means that the grammatical expressions used to create a
model should be a part of the modelling language;
 Syntactically complete. It means that all grammar constructs and their parts are
present in the model.
        </p>
        <p>To test the syntactic correctness of the security models we need to investigate the
concrete syntax of the languages used to create these models.</p>
        <p>Pragmatic quality is a correspondence between a model and an interpretation of
social and technical audience. With respect to the social actors we say that the model
should be:
 Cross-referenced. It means that different pieces of model content are linked
together;
 Organised. It means that the model content should be arranged so that a reader
could easily locate information and logical relationships among the related
information;
 Understandable. It means that a reader is able to understand the model with
minimum explanations.</p>
        <p>The social audience of security model are typically security engineer, but it also
includes the system analysts, software developers, stakeholders (actors who pay for
the development of the secure system), and even direct users, who should also be
involved in the security requirements definition process.</p>
        <p>For the technical model interpretation we define that the model should be
executable, meaning that there should exist technology capable of inputting the model
and resulting in its implementation.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3 Research method</title>
      <p>In this section we will introduce a case study carried out to compare two security
models. We will define a case study design. Next, we will present our research
subjects – the two security models.</p>
      <sec id="sec-3-1">
        <title>3.1 Design</title>
        <p>Our research method presented in Fig. 3, is pretty straightforward. Firstly, we
formulated the research question (see Section 1). Then two researchers experienced in
modelling quality analysis, system and security modelling, performed the
investigation of two security models presented using PL/SQL and SecureUML
languages. The researchers applied the qualitative properties following the SEQUAL
framework (Section 2.3), and recorded their observations on the model quality. The
results were communicated to the model developers in order to verify the correctness.
Finally, the results are summarised.</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2 Research Subject</title>
        <p>
          As mentioned above the research subject includes two security models; one created
with PL/SQL, another – with SecureUML. Both models were prepared to solve the
same problem. The actual data and security models used in this case study could not
be presented here due to the privacy concerns of our industrial partner. But here we
include an extract of a meeting management subsystem [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]. This example closely
corresponds to the industry model used in the assessment. Our observations are the
same for both cases.
        </p>
        <p>
          In our example users are allowed adding information about new meetings and
viewing information about all existing meetings. But one can delete or change
meeting information if and only if he/she is an owner (e.g., meeting initiator) of this
meeting. We will present the PL/SQL and in SecureUML models for this problem.
PL/SQL Security Model. The first security model is created using PL/SQL [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ],
which is an Oracle Corporation's procedural extension language for SQL and the
Oracle relational database. The model was prepared using the EditPlus1 tool. In order
to receive a running application one needs to compile the PL/SQL source code.
        </p>
        <p>
          In the industrial case the security description included two text-based (PL/SQL
code) pages. In Fig. 4 we illustrate a procedure that describes a permission defined on
the meeting. Here we see that if a certain condition (e.g., a user is a meeting owner
1 http://www.editplus.com/
and the meeting end date has not yet passed) holds, it is possible to edit meeting
attributes (e.g., start, end, location, and owner); otherwise editing is not allowed.
SecureUML Security Model. The second security model is created in SecureUML
[
          <xref ref-type="bibr" rid="ref1">1</xref>
          ], [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ], which is a model-driven security approach that follows RBAC guidelines.
The model was prepared using MagicDraw2. The overall SecureUML model (the
industrial case) included around eight permissions on the secured resource for each
security action (e.g., update, select, delete, and insert of information). In Fig. 5 we
present an excerpt related to the meeting management subsystem.
        </p>
        <p>Here two security permissions (e.g., UserSelectAllMeetings and
UserUpdateOwnMeeting) are defined for the role User over the resource Meeting.
2 http://www.magicdraw.com/
Similarly like in the PL/SQL model, an authorisation constraint
UserOwnDataConstraint defines that only an owner is allowed to update or delete
meeting information if the meeting date has not yet passed.</p>
        <p>In order to receive an executable application, the SecureUML model is
automatically transformed to the PL/SQL code. For example, Fig. 6 illustrates the
example of a new owner assignment before the update action is executed. The
assignment is performed if the security condition (defined under
UserOwnDataConstraint in Fig. 5) holds. The transformed PL/SQL code is compiled
to a running application.
In the case study we have selected to analyse the model created using SecureUML,
but not its PL/SQL transformation. The reason is that we intend to analyse the model,
which is editable by system engineers directly.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4 Evaluating Security Models</title>
      <p>This section presents our analysis of two security models introduced in Section 3.2.
We address syntactic, semantic and pragmatic quality types through the qualitative
characteristics, presented in Section 2.3. But first we discuss threats to the result
validity.</p>
      <sec id="sec-4-1">
        <title>4.1 Threats to Validity</title>
        <p>In our case study only two evaluators assessed the security models according to their
knowledge and experience. This certainly raises the level of subjectivity and
influences the internal validity of the case study. To mitigate this threat the evaluation
results were communicated to the model developers.</p>
        <p>In our case the SEQUAL framework was instantiated with a certain set of
qualitative properties. This certainly affects the conclusion validity, because if any
other qualitative properties were applied, it might result in different outcome. But this
threat is rather limited because these qualitative properties are theoretically sound and
the selection is based on the previous experience as presented in Section 2.3.</p>
        <p>We applied the ordinal scale (e.g., high, partial, and low) to assess the qualitative
properties of the models. This influences construct validity because different readers
might interpret the assigned property values differently. On another hand we could
use the interval scales for each qualitative property (also reducing some subjectivity).
For example, semantic completeness could be expressed as a ratio between the
number of RBAC concepts that are possible to present using the modelling language,
and the total number of RBAC concepts (see Section 2.1). Similarly, annotation could
be addressed through counting annotated elements in the model. However, the
construction of the interval scale was not the purpose of our case study – we rather
were concerned about the feasibility to assess the security model quality and to learn
about the quality of PL/SQL or SecureUML security models in general.</p>
        <p>In this case study we analysed only two different security models and these
models were quite limited in their size. This might influence the external validity by a
fact, that different results might be received if some other security models (created
either using PL/SQL, SecureUML, or any other modelling language) would be
analysed. However our research subject is a solution to an industry problem; thus we
believe that our analysis is generalisable in similar situations.</p>
        <p>Finally we try to avoid a use of single type of measuring that might affect the
construct validity. As shown in the case study design (Fig. 3) the evaluation of the
security models is followed with the communication of the received results to the
models developers. This certainly reduces a risk of the mono-interpretation.</p>
      </sec>
      <sec id="sec-4-2">
        <title>4.2 Quality of the PL/SQL Model</title>
        <p>Semantic quality. Semantic completeness is assessed through a model
correspondence to the RBAC domain (see Section 2.1). The PL/SQL model focuses
primarily on the presentation of the security permissions, which are defined as the
attributes of objects that need to be secured. However it does not explicitly define on
which operations the security permissions are placed. In addition the PL/SQL model
does not express explicitly objects themselves, users, and their roles. This knowledge
is defined in the data model and not in the security model. This results in partial
semantic completeness.</p>
        <p>The semantic correctness of the PL/SQL model is low, because it does not
separate the data and programmable concerns from the security concerns. For
example in the PL/SQL model we can observe assignment of different programmable
variables and definition of the user interface components (e.g.,
DO.item_enable(‘meeting.new_meeting’) is enabling the item of the user interface).</p>
        <p>The PL/SQL model is not traced – this means that origin and rationale for the
security decisions are not provided in the model. We were not able to check
achievability property of the PL/SQL model. The reason is that it was not possible to
get the security requirements in order to confront its application correctness. The
PL/SQL model is not annotated, thus it is difficult to determine which elements are
most likely to change. The model is also difficult to modify because the same security
concern is addressed in several places of the model.</p>
        <p>Syntactic quality. The PL/SQL model is of high syntactic validity and completeness,
because the model is created using the PL/SQL language, a programmable language.
Syntactically this model is correct because otherwise it would not be possible to
compile it to the application.</p>
        <p>Pragmatic quality. We found the PL/SQL model of low understandability. In fact
we asked model developers to explain us different security solutions presented in this
model. The organisation of the model is also low, because there are no means that
would support finding security information or defining relationships between related
security solutions. The PL/SQL model is presented as a plain-text source code, thus it
does not contain any hyperlinks that would cross-reference related security concerns
(but also see Section 5.1). Finally, the executability of the PL/SQL model is high. It is
possible to compile this model through the Oracle database management system
resulting in a running application.</p>
      </sec>
      <sec id="sec-4-3">
        <title>4.3 Quality of the SecureUML Model</title>
        <p>
          Semantic quality. SecureUML is developed to design the RBAC-based solutions [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ].
This means that SecureUML fully corresponds to the semantic domain, thus resulting
in high semantic completeness. We also identify high semantic correctness, because
only security solutions are presented in the SecureUML model.
        </p>
        <p>In the SecureUML model we did not observe any rationale for security decisions,
thus it results in a low traced property. Like in the PL/SQL model, we were not able
to check the achievability of the SecureUML model because the security requirements
are not available. On another hand the achievability of the SecureUML model is high
with respect to its implementation. This model is automatically transformed to the
PL/SQL code thus resulting in the direct correlation between design and
implementation.</p>
        <p>The Secure UML model is partially annotated. This annotation is achieved
through SecureUML stereotypes (e.g., &lt;&lt;secuml.permission&gt;&gt;, &lt;&lt;secuml.role&gt;&gt;,
etc.) and class names given to the permissions (e.g., UserSelectAllMeetings and
UserUpdateOwnMeeting) and the authorisation constraints (e.g.,
UserOwnDataConstraint). These class names are not directly used in the
transformation of the model to code, but they provide additional information to the
model reader. They also identify the places in the model where security policy is most
likely to be changed.</p>
        <p>
          The SecureUML model is modifiable. The model implies a certain presentation
pattern – Role-Permission-Resource, which facilitates the changing of the model.
Syntactic quality. In the current model of the SecureUML we can identify a case of
syntactic invalidity. For instance the SecureUML documentation [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] identify that
authorisation constraints need to be written in OCL. However in this model the
SQLbased authorisation constraints are used (e.g., see class UserOwnDataConstraint
constraint {owner=sec.get_username(), end&gt;SYSDATE}). On another hand the model
is syntactically complete – it includes only UML extensions and their relationships
proposed by the authors of SecureUML [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ].
Pragmatic quality. The Secure UML model is well understood by those readers
familiar with the UML modelling notation. This also opens the way to communicate
this model to a larger audience, including various project stakeholders, potential direct
users of the system, systems analysers, and developers. Our personal experience is
that this model is quite intuitive and did not require big effort to understand it.
        </p>
        <p>The SecureUML model consists of several diagrams. It is also supported by a
modelling tool, which simplifies managing the model itself. For example the tool
provides the content table where the model diagrams and all model elements are
listed. In addition it is possible to prepare a navigation map diagram (see Fig. 7) that
assembles the logical relationship between different diagrams, thus keeping this
model both organised and cross-referenced.</p>
        <p>The SecureUML model is executable: there exists a number of the transformation
rules defined using the Velocity3 language (interpretable by MagicDraw tool) that
transform the model to PL/SQL code, which could be executed through Oracle
database management system.
Our case study results in a higher quality for the SecureUML security model. In this
section we present a discussion on these results. Firstly, we communicate our finding
3 http://velocity.apache.org/engine/devel/user-guide.html
with the developers of the security models. Next, we situate our findings into the state
of the art. Finally, we present the future work.</p>
      </sec>
      <sec id="sec-4-4">
        <title>5.1 Communicating Results to Developers</title>
        <p>A result review was performed together with the developers of the security models.
Firstly, the developers noted that the overall quality of both models could be
improved if to take into account these evaluation results. For example the traceability,
annotation, and understandability of the PL/SQL model could be easily improved
using code comments. However, the developers acknowledged that this is not the case
in the common practice or the code comments, even if they are present, are not
sufficient. On another hand to improve syntactic validity of the SecureUML model we
could write the authorisation constraints in OCL instead of SQL.</p>
        <p>Secondly, developers provided few remarks regarding some qualitative properties.
For instance, semantic completeness could be improved by presenting concrete
instances in the models. This means hard coding in the PL/SQL model and object
presentation in the SecureUML model. However, this neglects the principle of
generosity in modelling.</p>
        <p>On one hand, a tool used to make the PL/SQL model, does not support
hyperlinking. Although there exist several PL/SQL editing tools (e.g., Oracle
SQLDeveloper or Quest Software Toad for Oracle, actually used by our industrial
partner) that supports cross-references between various model elements, but these
were not used in this case study. On another hand, developers also indicated that
PL/SQL grammar principles, the ones, which allow expressing procedures (e.g.,
PROCEDURE meeting_permissions in Fig. 4) and referring to them from the main
code, could also be seen as textual cross-referencing. Thus, we estimate this
qualitative property as partial for the PL/SQL model.</p>
      </sec>
      <sec id="sec-4-5">
        <title>5.2 Related Work</title>
        <p>
          We found none studies that would compare quality of (security) models prepared
using different modelling approaches. However, the literature reports on a number of
case studies [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ] [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] analyzing different characteristics of the model-driven
development. Mostly these studies focus on the benefits and on the infrastructure
needed for the model-driven development. Similarly to [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ] we observe that
SecureUML model facilitates automatic code generation – the SecureUML security
model is executable through its generation to PL/SQL code (see Section 3.2). We also
argue that the security models should be prepared with the high-quality modelling
language [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ], ensuring the model semantic completeness, and tools [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ],
guaranteeing model syntactic validity and syntactic completeness. Only then one
could expect that model-driven security could yield a higher productivity with respect
to a traditional development [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ].
        </p>
        <p>
          We identified only one case study performed by Clavel et al [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ], reporting on the
SecureUML application in practice. Here authors observe that although security
models are integrated with the data models, the security design remains independent,
reusable and evolvable. In our work we also observe that semantic correctness of
SecureUML model is high, because only security aspect are described in this model.
We also observe that SecureUML model is modifiable, which means the first step
towards model evolvability. Like in [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] we identify that the SecureUML model is
understandable at least to readers who are familiar with UML. This might ease
communication of requirements and design solutions to project stakeholders [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ].
Finally, Clavel et al [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] identify that SecureUML is expressive enough to model the
RBAC policy defined in the requirements document. However, we were not able to
analyse achievability property because our industrial partner did not provide us
security requirements documents.
        </p>
      </sec>
      <sec id="sec-4-6">
        <title>5.3 Future Work</title>
        <p>
          Our future work includes a definition of a framework that would facilitate the
adoption of the model-driven security approach in practice [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ]. For instance an
organisation should have modelling tools (e.g., MagicDraw and Velocity interpreter)
that would support developing and applying security model transformation rules. Also
the organisation should adopt a mature security modelling method that should include
the early security requirements discovery, security quality assurance, and overall
project planning.
        </p>
        <p>For the successful adoption, organisation’s working processes should also be
compatible with model-driven security. Our future work includes performing another
case study where we would compare quality of processes to develop security models
using PL/SQL and SecureUML.</p>
        <p>The organisation should have an expertise for security language engineering. This
includes knowledge about how to combine the existing software tools and security
modelling approaches together. For instance we need to define guidelines and
transformation rules for the OCL-based authorisation constraints. This would also
improve the syntactic validity of the SecureUML model.</p>
        <p>Finally an organisation should follow a goal-driven process for defining goals to
introduce security model-driven development. Examples of this paper focuses on the
security policy for the data model. Our next goal is to develop transformation rules
that would facilitate implementation of the security concerns at the system application
and presentation levels.</p>
        <p>Acknowledgments. This research is funded by Logica and the European Regional
Development Funds through the Estonian Competence Centre Programme and
through the Estonian Center of Excellence in Computer Science, EXCS.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Basin</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Doser</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lodderstedt</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Model Driven Security: from UML Models to Access Control Infrastructure</article-title>
          .
          <source>ACM Transactions on Software Engineering and Methodology (TOSEM)</source>
          ,
          <volume>15</volume>
          (
          <issue>1</issue>
          ),
          <fpage>39</fpage>
          --
          <lpage>91</lpage>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Clavel</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Silva</surname>
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Braga</surname>
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Egea</surname>
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Model-driven Security in Practice: an Industrial Experience</article-title>
          ,
          <source>In: Proceedings of the 4th European conference on Model Driven Architecture: Foundations and Applications</source>
          , Springer-Verlag, pp.
          <fpage>326</fpage>
          --
          <lpage>337</lpage>
          , (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Davis</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Overmyer</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jordan</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Caruso</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dandashi</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dinh</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kincaid</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ledeboer</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reynolds</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Srimani</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ta</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Theofanos</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Identifying and Measuring Quality in a Software Requirements Specification</article-title>
          .
          <source>In: Proceedings of the 1st International Software Metrics Symposium</source>
          , pp.
          <fpage>141</fpage>
          --
          <lpage>152</lpage>
          (
          <year>1993</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Feather</surname>
            ,
            <given-names>M.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fickas</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Finkelstein</surname>
          </string-name>
          , A.,
          <string-name>
            <surname>van Lamsweerde</surname>
            <given-names>A.</given-names>
          </string-name>
          : Requirements and
          <string-name>
            <given-names>Specification</given-names>
            <surname>Exemplars</surname>
          </string-name>
          .
          <source>Automated Software Engineering</source>
          ,
          <volume>4</volume>
          :
          <fpage>419</fpage>
          --
          <lpage>438</lpage>
          (
          <year>1997</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Ferraiolo</surname>
            <given-names>D.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sandhu</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gavrila</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kuhn</surname>
            ,
            <given-names>D.R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chandramouli</surname>
          </string-name>
          , R.:
          <article-title>Proposed NIST Standard for Role-based Access Bontrol</article-title>
          .
          <source>ACM Transactions on Information and System Security (TISSEC)</source>
          ,
          <volume>4</volume>
          (
          <issue>3</issue>
          ),
          <fpage>224</fpage>
          --
          <lpage>274</lpage>
          (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Hakkarainen</surname>
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Matulevičius</surname>
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Strašunskas</surname>
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Su</surname>
            <given-names>X.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Sindre</surname>
            <given-names>G.</given-names>
          </string-name>
          :
          <article-title>A Step Towards Context Insensitive Quality Control for Ontology Building Methodologies</article-title>
          .
          <source>In Proceedings of the CAiSE 2004 Open INTEROP-EMOI Workshop</source>
          , pp.
          <fpage>205</fpage>
          --
          <lpage>216</lpage>
          , (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Jurjens</surname>
          </string-name>
          . J.:
          <source>Secure Systems Development with UML</source>
          . Springer-Verlag Berlin Heidelberg, (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Krogstie</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>A Semiotic Approach to Quality in Requirements Specifications</article-title>
          .
          <source>In: Proc. IFIP 8.1 working Conf. on Organisational Semiotics</source>
          , pp.
          <fpage>231</fpage>
          --
          <lpage>249</lpage>
          (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Krogstie</surname>
          </string-name>
          , J.:
          <article-title>Using a Semiotic Framework to Evaluate UML for the Development for Models of High Quality</article-title>
          . In: Siau,
          <string-name>
            <given-names>K.</given-names>
            ,
            <surname>Halpin</surname>
          </string-name>
          , T. (eds.)
          <article-title>Unified Modelling Language: System Analysis, Design and Development Issues</article-title>
          , IDEA Group Publishing, pp.
          <fpage>89</fpage>
          --
          <lpage>106</lpage>
          (
          <year>1998</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Lindland</surname>
            <given-names>O. I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sindre</surname>
            <given-names>G.</given-names>
          </string-name>
          ,
          <article-title>Sølvberg A.: Understanding Quality in Conceptual Modelling</article-title>
          .
          <source>IEEE Software</source>
          ,
          <volume>11</volume>
          (
          <issue>2</issue>
          ), pp.
          <fpage>42</fpage>
          --
          <lpage>49</lpage>
          (
          <year>1994</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Lodderstedt</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Basin</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Doser</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>SecureUML: A UML-based Modeling Language for Model-driven Security</article-title>
          .
          <source>In: Proceedings of the 5th International Conference on The Unified Modeling Language, LNCS</source>
          , vol.
          <volume>2460</volume>
          , pp.
          <fpage>426</fpage>
          --
          <lpage>441</lpage>
          . Springer-Verlag (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12. MacDonald
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Russell</surname>
          </string-name>
          <string-name>
            <given-names>D.</given-names>
            ,
            <surname>Atchison</surname>
          </string-name>
          <string-name>
            <surname>B.</surname>
          </string-name>
          :
          <article-title>Model-driven Development within a Legacy System: An Industry Experience Report</article-title>
          .
          <source>In: Proceedings of the 2005 Australian Software Engineering Conference (ASWEC'05)</source>
          . IEEE Computer Science (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Matulevičius</surname>
          </string-name>
          , R.:
          <article-title>Process Support for Requirements Engineering: A Requirements Engineering Tool Evaluation Approach</article-title>
          .
          <source>PhD theses</source>
          . Norwegian University of Science and Technology (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Matulevičius</surname>
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heymans</surname>
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Comparison of Goal Languages: an Experiment</article-title>
          .
          <source>In Proceedings of the Working Conference on Requirements Engineering: Foundation for Software Quality (REFSQ</source>
          <year>2007</year>
          ), Trondheim, Norway, Springer-Verlag, pp
          <fpage>18</fpage>
          --
          <lpage>32</lpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15. The Middleware Company:
          <article-title>Model Driven Development for J2EE Utilizing a Model Driven Architecture (MDA) Approach: Productivity Analysis</article-title>
          ,
          <source>MDA Productivity case study (</source>
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>de Miguel</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jourdan</surname>
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Salicki</surname>
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Practical Experiences in the Application of MDA</article-title>
          .
          <source>In: Proceedings of the 5th International Conference on The Unified Modeling Language</source>
          , Springer-Verlag, pp.
          <fpage>128</fpage>
          --
          <lpage>139</lpage>
          (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17. Moody D.L.:
          <article-title>Theoretical and Practical Issues in Evaluating the Quality of Conceptual Models: Current State and Future Directions</article-title>
          .
          <source>Data and Knowledge Engineering</source>
          <volume>55</volume>
          (
          <issue>3</issue>
          ):
          <fpage>243</fpage>
          --
          <lpage>276</lpage>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Morris-Murthy L</surname>
          </string-name>
          .:
          <article-title>Oracle9i: SQL, with an Introduction to PL/SQL</article-title>
          . Course Technology, (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Piattini</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Genero</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Poels</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nelson</surname>
            <given-names>J</given-names>
          </string-name>
          .:
          <article-title>Towards a Framework for Conceptual Modelling Quality</article-title>
          . In: Genero,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Piattini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Calero</surname>
          </string-name>
          , C. (eds.)
          <source>Metrics for Software Conceptual Models</source>
          , pp.
          <fpage>1</fpage>
          --
          <lpage>18</lpage>
          . Imperial College Press, London (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Sindre</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Opdahl</surname>
            ,
            <given-names>A.L.</given-names>
          </string-name>
          :
          <article-title>Eliciting Security Requirements with Misuse Cases</article-title>
          .
          <source>Requirements Engineering Journal</source>
          <volume>10</volume>
          (
          <issue>1</issue>
          ) pp.
          <fpage>34</fpage>
          --
          <lpage>44</lpage>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Staron</surname>
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Adopting Model Driven Software Development in Industry - A Case Study at Two Companies</article-title>
          .
          <source>In: 9th International Conference on Model Driven Engineering Languages and Systems (MoDELS</source>
          <year>2006</year>
          ), pp.
          <fpage>57</fpage>
          --
          <lpage>72</lpage>
          . Springer-Verlag (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>