<!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>Applying a Model Checker to Check Regulatory Compliance of Use Case Models</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Motoshi Saeki</string-name>
          <email>saeki@se.cs.titech.ac.jp</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Haruhiko Kaiya</string-name>
          <email>kaiya@cs.shinshu-u.ac.jp</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Satoshi Hattori</string-name>
          <email>satoshi@se.cs.titech.ac.jp</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dept. of Computer Science, Shinshu University Wakasato</institution>
          <addr-line>4-17-1, Nagano 380-8553</addr-line>
          ,
          <country country="JP">Japan</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Dept. of Computer Science, Tokyo Institute of Technology Ookayama</institution>
          <addr-line>2-12-1, Meguro-ku, Tokyo 152-8552</addr-line>
          ,
          <country country="JP">Japan</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2009</year>
      </pub-date>
      <fpage>13</fpage>
      <lpage>18</lpage>
      <abstract>
        <p>This paper proposes the technique to apply model checking in order to show the regulatory compliance of requirements specifications written in use case models. For automatic compliance checking, the behavior of business processes and information systems are specified with use case models and they are translated into finite state transition machines, while we represent regulations with branching time temporal logic (CTL: computational tree logic). By using model checker SMV, we formally verify if the regulations can be satisfied with the state machines.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Recently, more laws and regulations related to information technology (simply,
regulations) are being made and maintained in order to avoid the dishonest usage of
information systems by malicious users, and we should develop information systems that
are compliant with these regulations. If we developed an information system that was
not compliant with the regulations, we could be punished and its compensation could be
claimed to us, as a result we could take much financial and social damage. Furthermore,
if we would find that the information system that is being developed was not compliant
with its related regulations, we would have to re-do its development and its development
cost and efforts seriously would increase. It is significant to check as early as possible
if a business process and/or a requirements specification of the information system to
be developed are compliant with related regulations, in order to reduce its development
cost and efforts. In fact, the research topics related to regulatory compliance in
requirements engineering area being actively focused on, and the state of the art of this area
and some achievements can be found in [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. However, many works on the automated
techniques to check regulatory compliance of requirements specifications are just being
studying and developing using various techniques [
        <xref ref-type="bibr" rid="ref10 ref3 ref4">10, 4, 3</xref>
        ].
      </p>
      <p>We propose the (semi-)automated technique to check regulatory compliance of a
business process and/or requirements specification of an information system. A
business process and the behavior of an information system are modeled with use case
models, i.e. a use diagram and use case descriptions which express the behavior of use
cases. A use case model is translated into a set of finite state transition machines, which
are concurrently operated. Regulatory statements are formally represented with
temporal logical formulas and a model checker verifies if these logical formulas are true in the
state transition machines or not. If the logical formulas are true, we can judge the use
case model to be compliant with the regulations. The outline of the paper is organized
as follows. Section 2 presents how to represent regulatory statements with branching
time temporal logic (another name, CTL: computational tree logic, and we use the
abbreviation CTL below). We explain the overview of our checking process for regulatory
compliance in section 3.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Representing Regulations</title>
      <p>
        A typical example of regulations related to IT technology is Japanese Act on the
Protection of Personal Information [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] that specifies the proper handling of personal
information such as names, addresses and telephone numbers in order to prevent from making
misuse of this information. For example, the Article 18, No. 1 of Act on the Protection
of Personal Information provides that
      </p>
      <p>When having acquired personal information, an entity handling personal
information must, except in cases in which the Purpose of Use has already been
publicly announced, promptly notify the person of the Purpose of Use or
publicly announce the Purpose of Use.</p>
      <p>
        According to [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], a regulatory statement consists of 1) the descriptions of a situation
where the statement should be applied and 2) the descriptions of obligation, prohibition,
permission and exemption of an entity’s acts under the specified situation. In the above
example, we can consider that “when having acquired personal information, except in
cases in which the Purpose of Use has already been publicly announced” is a situation
where this act should be applied, while “notify” and “announce” represent the acts of
“the entity”. These acts are obligations that the entity should do.
      </p>
      <p>
        There are several works to represent regulatory statements formally using
mathematical notations like predicate logic [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] and deontic logic [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. One of the issues is how
to deal with four modalities, obligation, prohibition, permission and exemption using
formal logic like predicate logic. Although deontic logic has an expressive power to
represent the modalities of obligation and prohibition, its automated reasoning techniques
has been less established yet [
        <xref ref-type="bibr" rid="ref5 ref6">6, 5</xref>
        ]. We use the temporal operators of CTL to
represent these modalities. Suppose that we specify the behavior of a business process or an
information system with a finite state transition machine. Since state transitions occur
non-deterministically in it, there exist several execution paths in the business process
or the information system. When we define the states as nodes and the transitions as
edges, we can get a tree called computational tree that specifies these execution paths.
The properties that hold on the tree can be defined with CTL formulas. Suppose that R
is a logical formula. We use four types of temporal operators AF, AG, EF and EG and
their intuitive meanings are as follows. AF R is true iff R is eventually true for every
path, AG R is true iff R is always true for every path, EF R is true iff there is a path
where R is eventually true, and EG R is true iff there is a path where R is always true.
      </p>
      <p>Let P and Q be propositions of a situation and an act. The act Q is true iff Q is being
executed. By using the above four operators, we can represent a regulatory statement
with the modalities as follows.</p>
      <sec id="sec-2-1">
        <title>Obligation : P → AF Q</title>
        <p>Permission : P → EF Q</p>
      </sec>
      <sec id="sec-2-2">
        <title>Prohibition : P → AG ¬Q Exemption : P → EG ¬Q</title>
        <p>In the case of obligation, we should perform Q if the situation P is true, whatever
execution path we take. Therefore, Q should be eventually true for every path outgoing
from the node P. On the other hand, a regulatory statement of prohibition says that we
are not allowed to execute Q on any path. ¬ Q should continuously be true on any node
of every path outgoing from P, i.e. Q is always false for every path. If there exists a path
where Q is eventually true, Q is permitted to be executed. If there exists a path where Q
is always false, we are exempted from executing Q.</p>
        <p>In the cases of permission and exemption, although the regulatory statement is not
true on a business process or an information system, we cannot say that it violates the
regulation. For example, if “P → EF Q” (permission of Q) is not true, there are no paths
where Q can be executed. Even though the act Q is permitted, we don’t necessarily need
to execute Q and non-execution of Q is not a regulatory violence. However, although the
act Q has been permitted by the regulation, if the information system will not have the
function to execute Q, it may have a disadvantage to competitors’ products having this
function in the market. In summary, we can have two categories when a logical formula
is not true; regulatory violence and regulatory non-violence. The former category is on
obligation and prohibition, and the entity (a business process or an information system)
may not execute the acts that are made obligations by regulations, or the entity can
execute the acts that are prohibited by regulations. If it occurs, we get a serious problem.</p>
        <p>
          The situation part and the act one in a regulatory statement can be described with
logical combinations of case frames as shown in [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ]. The technique of case frames
was originated from Fillmore’s Case Grammar to represent the semantics of natural
language sentences. A case frame consists of a verb and semantic roles of the words
that frequently co-occur with the verb. These semantic roles are specific to a verb and
are called case. For example, the case frame of the verb “get”, having the cases “actor”,
“object” and “source”, can be described as “get(actor, object, source)”, where “get”
denotes the acquisition of the thing specified by the object case. The actor case represents
the entity that performs the action of “get” and that will own the thing as the result of the
“get” action. The source case denotes the entity from which the actor acquires the
object. By filling these case slots with the words actually appearing in a sentence, we can
obtain its semantic representation. In the example of the sentence “an entity handling
personal information acquires from a member her personal information”, we can use
the case frame of “get” and have “get(entity handling personal information, personal
information, member)” as its intermediate semantic representation.
        </p>
        <p>Finally, we can represent the example statement of Article 18, No.1 using case
frames and CTL as follows;
get(x, Personal information, y) ∧ ¬ announce(x, Purpose of use)</p>
        <p>∧ aggregation(y, Personal information)
∧ handle(x, Personal information, Purpose of use)
→ AF (notify(x, Purpose of use, y) ∨ announce(x, Purpose of use))
Note that lower case characters such as “x” and “y” in the slots of the above formula
stand for variables and we can fill them with any words. In this sense, the formula can
be considered as a template.
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Overview of Checking Process</title>
      <p>3.1</p>
      <sec id="sec-3-1">
        <title>Translation to State Transition Machines</title>
        <p>
          We use the model checker SMV [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ], because it can deal with CTLs. In SMV, a whole
system to be checked is represented as a set of concurrent sequential processes and
each process is defined as a non-deterministic finite state transition machine (FSM). We
consider that use cases in a use case model are concurrently executed and each of them
is done sequentially. Thus a use case is translated into a FSM. In a FSM in SMV, state
transitions are defined as changes of values of explicitly declared state variables. In our
translation technique, we have only one global state variable that store the current state.
We consider an action currently executed in a use case as a current state, and the global
variable holds the name of the currently executed action. If this action finishes and the
next action starts being executed, the name of the next action is assigned to the variable.
As for pre and post conditions in a use case, by assigning the name of the condition to
the variable, we represent the state where it comes to be true. Suppose that a use case
consists of a pre condition, a normal flow A1, A2, ..., An (where A1, ..., An are actions
and they are sequentially executed in this order) and a post condition. Its translation is
a FSM whose state transitions occur as the sequence of pre condition ⇒ A1 ⇒ A2, ...,
⇒ An ⇒ post condition. We have a global state variable state, and specify the state
transitions in the FSM like “if state = precondition then next(state) = A1 else if state =
A1 then next(state) = A2 · · · ” where next(state) denotes the value of state after a state
transition, i.e. at the next state.
3.2
        </p>
      </sec>
      <sec id="sec-3-2">
        <title>Terminology Matching</title>
        <p>
          The goal of terminology matching task is 1) converting predicate logical formulas into
propositional ones and 2) unifying words in regulatory statements to the words of use
case descriptions. Since this task deals with the semantics of sentences, we cannot fully
automate it. However, we have a computerized tool to support this task, based on the
technique in [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ]. The tool has the following functions; 1) analyzing use case
descriptions and extracting their case structures, 2) having a dictionary of case frames of
regulatory statements, 3) matching case frames of use case descriptions to those of regulatory
statements to suggest which statements we should focus on and 4) replacing the words
of regulatory statements to unify the used words.
        </p>
        <p>Suppose that a use case has the sentence “The user sends his personal information to
the system”. We can get a case frame “send(User, Personal information, System)” as its
semantic representation. In this example, the verb “get” in the case frame of Article 18,
No.1 is semantically the same as “send” but the flow of the object (personal information)
of this act is reverse to “send”. We have a dictionary of case frames and it includes
information on synonym verbs and their case slots. It also has the rules of replacing a
verb and its case slot values, keeping the same meaning. For example, a rule says that
the frame “get(actor:x, object:y, source:z)” can be replaced with “send(actor:z, object:y,
target:z)”. We can match this sentence of the use case description to the situation part
of Article 18, No.1, and get the following CTL using the unified case frame by omitting
the self-obvious frames “aggregation”, “handle” and “announce”.</p>
        <p>state = “send(User, Personal information, System)”
→ AF (state = “notify(System, Purpose of use, User)”
The above is just the CTL formula to be checked if the use case is compliant with
Article 18, No.1 and an input to a model checker.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Research Agenda</title>
      <p>This paper proposes the technique to check regulatory compliance of a business process
and an information system by using a model checking. The future work can be listed
up as follows.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <article-title>Nusmv home page</article-title>
          . http://nusmv.fbk.eu/.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <article-title>2. Act on the protection of personal information</article-title>
          . http://www5.cao.go.jp/seikatsu/kojin/foreign/act.pdf,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3. 1st international workshop on requirements engineering and law. http://www.csc2.ncsu.edu/workshops/relaw/,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4. Interdisciplinary workshop:
          <article-title>Regulations modelling and deployment</article-title>
          . http://lacl.univ-paris12.fr//REMOD08/,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>P.</given-names>
            <surname>Castero</surname>
          </string-name>
          and
          <string-name>
            <given-names>T.</given-names>
            <surname>Maibaum</surname>
          </string-name>
          .
          <article-title>A Tableaux System for Deontic Action Logic</article-title>
          .
          <source>In Lecture Notes in Computer Science (DEON2008)</source>
          , volume
          <volume>5076</volume>
          , pages
          <fpage>34</fpage>
          -
          <lpage>48</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>N.</given-names>
            <surname>Dinesh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Joshi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            <surname>Lee</surname>
          </string-name>
          , and
          <string-name>
            <given-names>O.</given-names>
            <surname>Sokolsky</surname>
          </string-name>
          .
          <article-title>Reasoning about Conditions and Exceptions to Laws in Regulatory Conformance Checking</article-title>
          .
          <source>In Lecture Notes in Computer Science (DEON2008)</source>
          , volume
          <volume>5076</volume>
          , pages
          <fpage>110</fpage>
          -
          <lpage>124</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>T.</given-names>
            <surname>Eckoff</surname>
          </string-name>
          and
          <string-name>
            <given-names>N.</given-names>
            <surname>Sundby</surname>
          </string-name>
          . RECHTSSYSTEME.
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>A.</given-names>
            <surname>Jones</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Sergot</surname>
          </string-name>
          .
          <article-title>Deontic Logic in the Representation of Law: Towards a Methodology</article-title>
          .
          <source>Aritificial Intelligence and Law</source>
          ,
          <volume>1</volume>
          (
          <issue>1</issue>
          ):
          <fpage>45</fpage>
          -
          <lpage>64</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>S.</given-names>
            <surname>Kerrigan</surname>
          </string-name>
          and
          <string-name>
            <given-names>K.H.</given-names>
            <surname>Lawa</surname>
          </string-name>
          .
          <article-title>Logic-based Regulation Compliance-Assistance</article-title>
          .
          <source>In Proc. of 9th International Conference on AI and Law</source>
          , pages
          <fpage>126</fpage>
          -
          <lpage>135</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>R.</given-names>
            <surname>Laleau</surname>
          </string-name>
          and M. Lemoine, editors.
          <source>International Workshop on Regulations Modelling and Their Validation and Verification (REMO2V)</source>
          ,
          <source>CAiSE2006 Workshop</source>
          .
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>P.</given-names>
            <surname>Otto</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Anton</surname>
          </string-name>
          .
          <article-title>Addressing Legal Requirements in Requirements Engineering</article-title>
          .
          <source>In Proc. of 15th IEEE International Requirements Engineering Conference</source>
          , pages
          <fpage>5</fpage>
          -
          <lpage>14</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>M.</given-names>
            <surname>Saeki</surname>
          </string-name>
          and
          <string-name>
            <given-names>H.</given-names>
            <surname>Kaiya</surname>
          </string-name>
          .
          <article-title>Supporting the elicitation of requirements compliant with regulations</article-title>
          .
          <source>In Lecture Notes in Computer Science (CAiSE'2008)</source>
          , volume
          <volume>5074</volume>
          , pages
          <fpage>228</fpage>
          -
          <lpage>242</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>