<!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>Social Dependence Relationships in Requirements Engineering?</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>John Mylopoulos</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Daniel Amyot</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Luigi Logrippo</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alireza Parvizimosaed</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sepehr Shari</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>School of EECS, University of Ottawa</institution>
          ,
          <addr-line>Ottawa</addr-line>
          ,
          <country country="CA">Canada</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Universite du Quebec en Outaouais</institution>
          ,
          <addr-line>Gatineau</addr-line>
          ,
          <country country="CA">Canada</country>
        </aff>
      </contrib-group>
      <fpage>55</fpage>
      <lpage>60</lpage>
      <abstract>
        <p>i* is a requirements modelling language that is founded on social concepts (actors, social dependencies). Azzurra is a business process speci cation language that uses roles and commitments as primitives. Symboleo is a smart contract speci cation language grounded in legal concepts (roles, parties, obligations, powers). We compare and contrast the social dependence relationships used by the three languages.</p>
      </abstract>
      <kwd-group>
        <kwd>Requirements Engineering</kwd>
        <kwd>Social Dependency</kwd>
        <kwd>i* model</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        One of the key elements of i* [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] is that of social dependency3 that holds
between two actors, a depender who depends on a dependee to satisfy a dependum
(goal, task, resource, softgoal). This is a very powerful concept that constitutes
the foundation for social modelling and has spawned interesting dependence
relationships for software, business processes, and legal contracts. The purpose of
this paper is to discuss the ontological nature and contrast three types of social
dependence relationships: social dependencies (i* ), commitments (Azzurra) [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ],
as well as obligations and powers (Symboleo) [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. These relationships were
developed over three decades and involved many collaborators beyond the authors.
      </p>
      <p>Given that the languages target di erent domains, di erent examples are
used for illustration. Note also that a full comparison of these languages is beyond
the scope of this paper.
In an i* social dependency (Fig. 1), the depender wants something and the
dependee is able and willing to deliver it. However, the force of the dependence can</p>
      <p>Copyright © 2020 for this paper by its authors. Use permitted under
Creative Commons License Attribution 4.0 International (CC BY 4.0).
vary from weak to strong on either side of the dependum. Consider a customer's
dependence on a shop to nd her favourite hair shampoo: it is weak because
there are probably other stores that sell it as well, and other shampoos are also
comparable. Contrast this with one's dependence on a renowned surgeon for
a rare medical operation. This one is strong, because there are no substitute
dependees. The force of the dependence on the dependee's side is even more
important, as she is responsible for delivering on the dependence. That force
is de ned along two dimensions: ability to deliver on the dependum and degree
of commitment to deliver. The dependence on the renowned surgeon is strong
on ability and medium on commitment, as surgeons will postpone operations in
case of an emergency.</p>
      <p>Now, consider a beggar who depends on passersby to ful ll her goal of having
some money. This is a social dependence too and it is weak on both sides: the
beggar can switch to another kind of dependence to get some money, e.g, work,
while the passersby have not even agreed explicitly to the beggar to deliver on
the dependum, they are just willing to do it, occasionally. Here, the dependence
is established statistically: some passersby give money, and sooner or later this
establishes a dependency for the beggar.</p>
      <p>
        i* does recognize the importance of the force of a dependence by allowing
three possible levels of force: critical, committed, and open [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. But, as discussed
in the sequel, it turns out that in other areas of research, people have opted for
de ning specializations of social dependence relationships where the strength of
dependence is built into their semantics. Commitments, obligations, and powers
are three such relationships.
      </p>
      <p>
        i* was developed at the University of Toronto in the early `90s as part of
Eric Yu's PhD thesis, with collaborators Lawrence Chung, Brian Nixon, and
John Mylopoulos. It further led to the development of many other languages
and dialects, including the Goal-oriented Requirement Language, part of the
User Requirements Notation standard, with collaborators documented in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
3
      </p>
    </sec>
    <sec id="sec-2">
      <title>Commitments (Azzurra)</title>
      <p>
        Originating in the area of multi-agent systems [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], commitments capture a social
dependence where there is an explicit speech act executed \Agent A: I want X
- Agent B: I commit to ful ll X". This kind of dependency has substantially
more force than the beggar's dependence on passersby. It means that the
dependee intends to deliver, provided some conditions hold. So, commitments are
social dependencies that always arise from intentions, rather than mere
practice, and are established through verbal acts. More formally, commitments are
4-tuples C(debtor, creditor, antecedent, consequent), where the creditor
is the depender, i.e., the bene ciary of the commitment being ful lled, while the
debtor is the dependee. Moreover, the commitment is ful lled when the
consequent becomes true, provided the antecedent is true. Moreover, commitments
go through states, such as `created', `active', `suspended', `success', and `failure'.
Allowable state transitions are de ned by a state diagram. Note that
commitments constitute specializations of social dependencies, with better eshed out
semantics, proposed for use in multi-agent systems. They also come with a
precise level of force for the debtor who intends to ful ll what she committed to,
while the creditor has the right to expect that the commitment will be ful lled.
The passersby mentioned earlier have no commitment towards the beggar and,
in turn, she has no right to expect anything from them.
      </p>
      <p>Azzurra is a conceptual modelling language for business processes. Its main
thesis is that such processes, being social artifacts, need to be de ned in social
terms, rather than system-oriented ones (e.g., Petri nets or BPMN). Accordingly,
business processes (aka `protocols') are de ned in terms of roles and
commitments, with constraints attached. Azzurra models can be seen as requirements
speci cations for business processes, as they describe what a business process is
supposed to achieve without getting into the details of how to achieve it.</p>
      <p>
        Figure 2 (adapted from [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]) presents an Azzurra protocol for fracture
treatment. The protocol includes as parameters a hospital number that serves as key
for treatment instances, a patient, and a specialist. It also includes role
parameters, such as a radiologist and a surgeon.
      </p>
      <p>There are nine commitments for this protocol, each using a &lt;trigger&gt;
&lt;commitment&gt; format. The rst, C1, is triggered when the protocol is
instantiated, has as roles the specialist (debtor) and the patient (creditor), is
unconditional (antecedent= true), and is ful lled when the patient is i) examined, then
ii) diagnosed, and then iii) dis-hospitalized. The second commitment, C2, is
triggered if there is no need for X-rays and is ful lled when a sling is made for the
patient. Protocol re nements constrain the agents that participate in a protocol
instance. For example, agents may be constrained on how many concurrent
commitments they have for a given role, such as a surgeon for treatment protocol
instances. Finally, a knowledge base de nes some domain axioms, which can be
used to reason about propositions used as triggers or as elements of commitment
antecedents and consequents.</p>
      <p>Azzurra supports two types of reasoning. ENACTPROTOCOL determines how an
event updates the state of a protocol instance and of the commitment instances
therein. CHECKCOMPLIANCE checks whether an occurred event violates the
speci cation of a protocol instance. This corresponds to identifying commitments
that are not created/ful lled, unexpected commitment operations, and protocol
constraint violations.</p>
      <p>In summary, commitments specialize and improve the formalization of social
dependence relationships. They also come with a richer language than i* for
modeling business processes in an outcome-oriented way. Azzurra was developed
at the University of Trento between 2012 and 2016 and only managed a few
publications including a best paper, awarded at RCIS 2015. The collaborators
for that project included Fabiano Dalpiaz, Evellin Cardozo, Giulia Canobbio,
Paolo Giorgini, and John Mylopoulos.
4</p>
    </sec>
    <sec id="sec-3">
      <title>Obligations and Powers (Symboleo)</title>
      <p>Obligations are commitments with legal force. The legal force is de ned through
powers that a creditor has towards the debtor of an obligation to cancel or
suspend an obligation or another power, or to initiate new obligations or powers.
Obligations constitute a specialization of the concept of commitment in that they
can be created, cancelled, etc. by someone who has the power to do so. In turn,
powers constitute specializations of obligations in that they can include in their
consequent the creation, cancellation, etc. of other powers or obligations.</p>
      <p>Obligations and powers can be found in legal contracts. Legal contracts can
be thought as processes too, but they are legal rather than business ones, in
that they describe the space of allowable executions that comply with terms and
conditions of a contract. The presence of powers in legal contracts make them a
much more malleable concept than that of a business process in that they can
be reshaped through powers with the introduction/cancellation of obligations
while a contract is being executed (i.e., \performed" in Law).</p>
      <p>Symboleo is a formal speci cation language for legal contracts, intended to
formalize requirements for smart contracts. These are software systems running
on a blockchain platform (or involving a regular database) that monitor and
control the execution of a legal contract. Symboleo is founded on an ontology
for contracts that is centered around the notions of obligation and power, and
includes role and party (the actors playing roles in a contract), asset, as well as
situation and event. Situations occur over time, e.g., the situation of commuting
to work. Events, on the other hand, happen instantaneously, e.g., arrivedAtWork.</p>
      <p>The language adopts many elements from Azzurra. Obligations and
powers use the same format as commitments. Their antecedents, consequents, and
triggers are expressed as events happening in a certain order and satisfying
constraints. For example, for a sale contract, the consequent of a delivery obligation
may be \Sale item delivered to delivery address by delivery date".</p>
      <p>
        Table 1 presents a Symboleo speci cation for a contract (adapted from [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]).
As shown, a Symboleo speci cation begins with the description of concepts in
the domain. These are de ned as classes that specialize concepts in the Symboleo
ontology. For example, Goods specializes Asset and has an additional attribute
goodsID. Instances of this class include sale items involved in a sale transaction.
The domain model for a contract is followed by declarations of variables that
take as values instances of domain classes. Pre/post-conditions have the same
semantics as in program speci cations.
      </p>
      <p>The core of a contract speci cation are its obligations and powers. In our
example there are two obligations: the seller must deliver the sale item to the
delivery address by the delivery date (O1), while the buyer must pay on time
the sale amount (O2). The contract also includes one power: if the buyer violates
the payment obligation, the seller has the power to terminate the contract (P1).
Note that the creditor of a power may choose to not exercise it.</p>
      <p>Legal contracts are complex constructs with many features that go well
beyond those of business processes. For instance, some obligations may apply after
the successful termination of a contract (and are accordingly called surviving
obligations), e.g., a con dentiality obligation for a sale transaction may apply
6 months after a contract terminates. Contracts may spawn subcontracts that
may be established while a contract is executing. For example, when a developer
undertakes a large project in the construction industry, she may not have lined
up all the subcontractors and their respective subcontracts.</p>
      <p>Symboleo speci cations can be validated to ensure that they are consistent
with the expectations of the contracting parties by a tool (https://doi.org/10.
5281/zenodo.3903954) that enacts scenarios and determines the contract nal
state. For example, for the scenario \Seller delivers on time, buyer does not pay
on time, seller exercises power to terminate", the tool determines that the nal
state of the contract is `cancelled'. The scenarios for validation are provided by
contracting parties, along with their anticipated nal state of the contract when
each scenario is enacted.</p>
      <p>The Symboleo project started in January 2018 and is ongoing at the
University of Ottawa with the co-authors of this paper as main contributors.
5</p>
    </sec>
    <sec id="sec-4">
      <title>Conclusions</title>
      <p>The concept of social dependence relationships in RE was pioneered by i*. This
provided a solid conceptual base that is being proven to be of lasting value
for developments in other application domains. With changes in syntax and
semantics, it led to formalizing the concept of commitment in business processes
in Azzurra. Then came the introduction of contractual obligations and powers
in Symboleo, which leads to the possibility of monitoring legal compliance in
contracts, possibly with blockchain support. We expect the social dependence
concept to in uence other languages in the future.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Amyot</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mussbacher</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          :
          <article-title>User Requirements Notation: the rst ten years, the next ten years</article-title>
          .
          <source>Journal of Software (JSW) 6</source>
          (
          <issue>5</issue>
          ),
          <volume>747</volume>
          {
          <fpage>768</fpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Dalpiaz</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cardoso</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Canobbio</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Giorgini</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mylopoulos</surname>
          </string-name>
          , J.:
          <article-title>Social speci - cations of business processes with Azzurra</article-title>
          .
          <source>In: 9th RCIS</source>
          . pp.
          <volume>7</volume>
          {
          <fpage>18</fpage>
          .
          <string-name>
            <surname>IEEE</surname>
          </string-name>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Eric</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Giorgini</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maiden</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mylopoulos</surname>
          </string-name>
          , J.:
          <article-title>Social modeling for requirements engineering</article-title>
          . MIT Press (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Shari</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Parvizimosaed</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Amyot</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Logrippo</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mylopoulos</surname>
          </string-name>
          , J.:
          <article-title>Symboleo: A speci cation language for smart contracts</article-title>
          .
          <source>In: 28th IEEE International Requirements Engineering Conference (RE'20)</source>
          .
          <source>IEEE CS</source>
          (
          <year>2020</year>
          ), (to appear)
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Singh</surname>
            ,
            <given-names>M.P.:</given-names>
          </string-name>
          <article-title>An ontology for commitments in multiagent systems</article-title>
          .
          <source>Arti cial intelligence and law</source>
          <volume>7</volume>
          (
          <issue>1</issue>
          ),
          <volume>97</volume>
          {
          <fpage>113</fpage>
          (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>