<!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>Enhancing Engineering Methodology for Communities of Web Services</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>M. El-Menshawy</string-name>
          <email>m elme@encs.concordia.ca</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>J. Bentahar, R. Dssouli</string-name>
          <email>dssoulig@ciise.concordia.ca</email>
          <email>fbentahar, dssoulig@ciise.concordia.ca</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Concordia Institute for Inf. Sys. Engineering, Concordia University</institution>
          ,
          <addr-line>Montreal</addr-line>
          ,
          <country country="CA">Canada</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Depart. of Electrical and Computer Engineering, Concordia University</institution>
          ,
          <addr-line>Montreal</addr-line>
          ,
          <country country="CA">Canada</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>-Communities of web services have been proposed to gather web services having the same functionalities but possibly different nonfunctional properties. Current approaches into communities of web services focus on developing, managing and designing communities of web services through a suitable architecture, but can benefit from a stronger treatment of flexible interactions. These approaches ignore the collaboration and business-level contracts between various web services and the ability to formally delegate service to another web service within the same community. This paper presents a significant step towards enhancing communities of web services using an agent-based approach that synthesizes mentalistic states (e.g. goals, tasks), social commitments and argumentative dialogues for modeling and establishing communities of web services. This paper has three contributions: first, we extend the community structure with alliances structure to allow collaboration between various web services; second, we propose a new engineering methodology based on concepts of Tropos methodology for managing communities of web services with alliances structure; and third, we specify internal-organizational business interactions within web services in terms of commitments augmented with argumentative dialogues to reason about the validity of these commitments. We evaluate our methodology using a large existing case study of auto insurance claim processing.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>I. INTRODUCTION</title>
      <p>
        The notion of community has been proposed to gather web
services having the same functionalities independently of their
origins and the way they carry out these functionalities [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ],
[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. In recent years, the capability of argumentation and
dialogue games has been used in managing and reconciling
conflicts of interests that may arise within a community of
web services. In this context, the argumentation theory allows
agent-based web services to interact rationally, argue about the
reasons that support or disavow their conclusions, persuade a
new web service to join a community, negotiate with other
peers to reach a deal and assail each other through an
attackbinary relation as well as specify the interaction mechanisms
within communities [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>
        In fact, web services of business scenarios begin with
a user’s need and end with a user’s need fulfillment. The
structure of community facilitates and speeds up the process of
web services discovery in open settings and helps in selecting
the best ones for composite business scenarios [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] when
users’ requests cannot be satisfied by a single available web
service but need collaboration among available web services
to handle them [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
      </p>
      <p>
        Recently, a certain number of significant proposals have
been introduced [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]–[
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] to address the
modeling and management issues of communities of web services
(CWSs) in order to allow them to interact more flexibly for the
growing needs of business processes. However, the main
objective of modeling and managing CWSs and the collaboration
between web services in an efficient way along with business
relationships has not been reached yet. In particular, we have
three broad elements which should be addressed: designing,
engineering, and managing communities.
      </p>
      <p>
        ¡ The architecture based on traditional software
engineering methodologies proposed in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] lacks
business-level contracts that represent underlying
interactions between web services. This architecture depends
on message occurrence and ordering irrespective of the
message meanings, thereby a message-based approach
hides many details of the internal organization of the
architecture that affect designing business processes.
¡ Existing methodology [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] for modeling,
operationalizing, and evolving CWSs ignores formalizing the
delegation process that is used to delegate incomplete
services within community, in the case of replacing
misbehaving web services and keeping the system reliable.
Furthermore, this methodology does not consider the
collaboration among members of the community and
the mentalistic states of agent-based web services. In
general, the approaches discussed in the literature
consider only two-party operations, while real-life scenarios
are typically multiparty operations that need a mediator
agent-based web service to complete users’ requests.
¡ The process of handling failures and exceptions is very
hard to implement within the current structure of the
community. Moreover, the number of interactions
between members of the community needs to be reduced to
enhance the response time of participating web services.
This paper aims to enhance the community structure by setting
up alliances structure among web services to overcome the
aforementioned shortcomings in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. Thereby the
resulting community structure becomes more realistic with
the real-life business scenarios in distributed systems. By so
doing, we propose a new engineering methodology based on
Tropos methodology [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ], which we enhance with concepts
or part of the community’s functionality. These web services
need to collaborate with other peers to achieve the whole or
global community’s functionality.
      </p>
      <sec id="sec-1-1">
        <title>Discover</title>
      </sec>
      <sec id="sec-1-2">
        <title>Discover</title>
      </sec>
      <sec id="sec-1-3">
        <title>UDDI</title>
        <p>registers
(WS1,...WSn)</p>
      </sec>
      <sec id="sec-1-4">
        <title>Service</title>
      </sec>
      <sec id="sec-1-5">
        <title>Consumers</title>
      </sec>
      <sec id="sec-1-6">
        <title>BusinessMeaning</title>
      </sec>
      <sec id="sec-1-7">
        <title>Service</title>
      </sec>
      <sec id="sec-1-8">
        <title>Providers</title>
      </sec>
      <sec id="sec-1-9">
        <title>BusinessMeaning</title>
      </sec>
      <sec id="sec-1-10">
        <title>Master</title>
        <p>-WS1</p>
      </sec>
      <sec id="sec-1-11">
        <title>BusinessMeaning</title>
      </sec>
      <sec id="sec-1-12">
        <title>Community1of</title>
      </sec>
      <sec id="sec-1-13">
        <title>Webservices</title>
      </sec>
      <sec id="sec-1-14">
        <title>Alliance</title>
        <p>-WS11</p>
      </sec>
      <sec id="sec-1-15">
        <title>Business Meaning</title>
        <p>
          of communities, commitments and argumentative dialogues
for modeling CWSs extended with alliances structure. In fact,
this work is an extension of our previous research in which
we have modeled and specified CWSs based on argumentation
capabilities. This model enables web services through
associated agents to argue, persuade and negotiate with their peers
using a dialectical process to satisfy their goals in an efficient
way [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ], [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]. Specifically, here we reconfigure the design
of community with alliances structure from the perspective
of the collaboration between agent-based web services that
participate in composition business scenarios and benefit from
agent reasoning capabilities about nonfunctional properties.
        </p>
        <p>The contributions of this paper are manifold: (i) alliances
structure within CWSs enhances response time of web
services that handle users’ requests and reduces the number of
interconnections between members of community; (ii) a new
agent-based engineering methodology synthesizing mentalistic
states, social commitments and argumentative dialogues; and
(iii) a composition mechanism allowing agent-based web
services to collaborate with each other in the form of delegation
operations. Additionally, we present a case study of auto
insurance industry scenario to evaluate our methodology.</p>
        <p>The remainder of this paper is organized as follows. Section
II introduces the notion of alliance structure and key concepts
for our methodology. Section III presents our engineering
methodology for developing communities of web services. Our
case study is presented in Section IV to evaluate different steps
of our methodology. The paper ends in Section V with the
relevant literature discussions and future work directions.</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>II. ALLIANCE STRUCTURE AND CONCEPTS This section defines alliances structure within communities of web services and key concepts to be used clearly in our methodology.</title>
      <sec id="sec-2-1">
        <title>A. Alliance Structure</title>
        <p>
          In [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ], [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ], [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] the notion of communities of agent-based
web services has been introduced. Here we would prescribe
how to extend it via introducing alliances structure. In essence,
the service providers over forced to improve their strategies
and redistribute business functionalities to be able to compete
with others should think about building alliances. An alliance
structure based on Quality of Service (QoS) is the concept
that reconfigures community structure to achieve competitive
pressures between service providers and collaboration between
agent-based web services. In [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ], [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] an alliance structure as
a subset of community or a micro-community based on mutual
agreements between providers of web services as part of their
partnership strategies has been superficially introduced.
        </p>
        <p>We develop this view by considering nonfunctional
proprieties (e.g., QoS, reputation, response time) associated with
each agent-based web service as a vital principle to cluster
two or more web services into different alliances as the second
level of community, since the first level is occupied by master
web service (see Fig.1). Whereas the third level of community
contains web services within alliances that underpin the same</p>
        <sec id="sec-2-1-1">
          <title>Service</title>
        </sec>
        <sec id="sec-2-1-2">
          <title>Consumers</title>
        </sec>
        <sec id="sec-2-1-3">
          <title>BusinessMeaning</title>
        </sec>
        <sec id="sec-2-1-4">
          <title>Service</title>
        </sec>
        <sec id="sec-2-1-5">
          <title>Providers</title>
        </sec>
        <sec id="sec-2-1-6">
          <title>BusinessMeaning</title>
        </sec>
        <sec id="sec-2-1-7">
          <title>Master</title>
          <p>-WS2</p>
        </sec>
        <sec id="sec-2-1-8">
          <title>BusinessMeaning</title>
        </sec>
        <sec id="sec-2-1-9">
          <title>Alliance</title>
          <p>-WS2j</p>
        </sec>
        <sec id="sec-2-1-10">
          <title>Business</title>
        </sec>
        <sec id="sec-2-1-11">
          <title>Meaning</title>
        </sec>
        <sec id="sec-2-1-12">
          <title>Alliance</title>
          <p>-WS1i</p>
        </sec>
        <sec id="sec-2-1-13">
          <title>Business</title>
        </sec>
        <sec id="sec-2-1-14">
          <title>Meaning</title>
        </sec>
        <sec id="sec-2-1-15">
          <title>Community2of</title>
        </sec>
        <sec id="sec-2-1-16">
          <title>Webservices</title>
        </sec>
        <sec id="sec-2-1-17">
          <title>Alliance</title>
          <p>-WS21</p>
        </sec>
        <sec id="sec-2-1-18">
          <title>Business</title>
        </sec>
        <sec id="sec-2-1-19">
          <title>Meaning</title>
        </sec>
        <sec id="sec-2-1-20">
          <title>Slave</title>
          <p>-WS111</p>
        </sec>
        <sec id="sec-2-1-21">
          <title>Slave</title>
          <p>-WS11k</p>
        </sec>
        <sec id="sec-2-1-22">
          <title>Slave</title>
          <p>-WS1i1</p>
        </sec>
        <sec id="sec-2-1-23">
          <title>Slave</title>
          <p>-WS1ik</p>
        </sec>
        <sec id="sec-2-1-24">
          <title>Slave</title>
          <p>-WS211</p>
        </sec>
        <sec id="sec-2-1-25">
          <title>Slave</title>
          <p>-WS11n</p>
        </sec>
        <sec id="sec-2-1-26">
          <title>Slave</title>
          <p>-WS2j1</p>
        </sec>
        <sec id="sec-2-1-27">
          <title>Slave</title>
          <p>-WS2jn</p>
          <p>For example, in the purchase scenario of goods, the
functionality of a community is purchasing goods. This community
combines web services having complementary functionality
within an alliance, such as placing an order, paying, and
shipping with a high reputation and response time. Notice
that, these agent-based web services have logically distinctive
functionalities and involve distinctive roles from the
community’s functionality but they can collaborate with each other
to achieve a goal by combining or composing their
functionalities (i.e., purchasing goods) and to satisfy the community’s
functionality.</p>
          <p>As a result the new internal organization of the community
with alliances structure make it easier to detect failures and
errors as we search in micro-communities and reduce the
number of interactions between members of the community
since the master web service has one connection with each
alliance structure instead of a direct connection with each
web service (i.e., this minimize the overhead). Moreover, an
alliance inherits a dynamic property from its community where
new members can admit to or exclude from the alliance, and
alliances themselves can either discard or merge at any-time.</p>
        </sec>
      </sec>
      <sec id="sec-2-2">
        <title>B. Key Concepts</title>
        <p>
          The key concepts of our methodology are inspired by
Tropos methodology [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ] with the extra flexibility resulting from
considering new concepts such as community, commitment
and argumentative dialogue. The purpose is to enhance Tropos
capabilities in order to deal with the intrinsic complexity of
business processes.
        </p>
        <p>1) Community: a collection of web services with similar
or part of total functionality organized into three broad levels
without explicitly referring to concrete web services that will
implement this functionality within alliances structure at
runtime (see Fig.1).</p>
        <p>2) Agent: a computational representation of web service
within community structure with metaphors that make it
appropriate for developing, designing and implementing
distributed business systems. Each agent has strategic goals and
capabilities to execute tasks. It engages with others in business
relationships to get other agents performing the delegated tasks
on its behalf and to reason about the validity of their tasks.</p>
        <p>3) Role: an abstract entity over agent-based web services
and can be specified by their related sets of commitments
augmented with argumentation systems within a community.
Multiple agents could play one role and different roles could
be played by a single agent in a community.</p>
        <p>4) Goal: a state of the world that an agent would like to
reach or bring about. In other words, a goal is a final or
an acceptance state. Tropos methodology defines two types
of goals: hard goals are functional requirements and often
have a measurable satisfaction condition that can be satisfied.
The latter one, called soft goals, no precise criteria for its
satisfaction can be found, these goals model nonfunctional
requirements of the community. The AND/OR decomposition
is used to decompose a root goal into subgoals.</p>
        <p>5) Task: an abstract method by which a goal can be
achieved. Parallel with the concept of goal, there are two
types of tasks to achieve the companion goals. Here we also
use AND/OR decomposition to decompose a root task into
subtasks compatible with subgoals. The AND requires all
subtasks; OR requires one subtask.</p>
        <p>6) Dependency: used to identify the dependent relationship
between two roles where one role (the depender) depends upon
the other (the dependee) in order to achieve a goal or execute
a task. This relation is written as the depender depends upon
the dependee.</p>
        <p>7) Commitment: a commitment C(id; dbtr; cdtr; Cx; Ã; Á)
means that the debtor dbtr is responsible to the creditor
cdtr within community context Cx for satisfying the content
Á if the condition Ã holds. The commitment has the form
of contractual style where id is the unique identifier for
commitment, dbtr is the debtor role, cdtr is the creditor role,
the context Cx may be an institution, a company, organization,
marketplace (e.g., eBay) in which ongoing interactions occur,
and Á and Ã are formulas in a given formal language.</p>
        <p>
          Commitments capture state of the dependencies relation
between roles and allowing a variety of possible manipulation
based on a set of operations. For instance, the debtor is
able to create, fulfill, violate commitments, withdraw from
commitments and delegate commitments to another agent.
Whilst the creditor has the right to release the debtor from
commitments and assign commitments to another agent [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ].
        </p>
        <p>
          8) Argumentative dialogue: a dialectical process for the
exchange of various arguments for and against some
conclusions [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ], [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]. Indeed, argumentation provides agent-based web
services with an effective means to reconcile conflicts, seek
information, persuade and negotiate with other peers within the
same alliance structure. It relies on actions on commitments
to generate a suitable set of arguments during dialogues to
achieve mutually acceptable agreements between agent-based
web services.
        </p>
        <p>III. ENGINEERING METHODOLOGY FOR WEB SERVICES</p>
        <p>COMMUNITIES</p>
        <p>
          Having captured the core concepts of our methodology,
here we introduce the proposed methodology that intended
to support all phases of developing CWSs based on the notion
of Tropos methodology. The latter one has been developed in
[
          <xref ref-type="bibr" rid="ref17">17</xref>
          ] as an agent-oriented software methodology in terms of
goal, task and dependency. Tropos has been enhanced with
commitments to capture business interactions among partners
with high-level business meaning [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]. In the same direction,
this paper improves the last version of Tropos introduced in
[
          <xref ref-type="bibr" rid="ref15">15</xref>
          ] with arguments and argumentative dialogues to increase
its capabilities via enabling agent-based web services to argue,
seek information and negotiate with other peers about the
compliance of their commitments, thereby increasing its
practicality in distributed business systems. Table (I) summarizes
the steps in our proposed methodology. The subsections below
describe a step-by-step way the progress of our methodology.
        </p>
      </sec>
      <sec id="sec-2-3">
        <title>A. Requirements Analysis</title>
        <p>This phase enhances the early and late requirements in the
phases of Tropos methodology with a community concept.</p>
        <p>1) Step 1: Identify Community: the engineer initially
concerns with understanding the organizational context of
community that gathers agent-based web services. This step
includes substeps to be completed.</p>
        <p>
          1.1) Define the functionality (e.g., hotels booking, weather
forecasting, etc.) of community by binding to a specific
ontology [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] (e.g., Web Ontology Language (WOL)). This binding
is important since providers of web services use different
terminologies to describe the functional and nonfunctional
requirements of their respective web services.
        </p>
        <p>1.2) Identify agents and roles in a community using terms
like master, alliance and slave web service. The master web
service plays the main role in a community and refers to a
special web service that leads the community as well as it takes
over multiple responsibilities (e.g., checking the credentials
of alliance web services before they are established in the
community). The other of web services in the community are
slave web services.</p>
        <p>1.3) Identify alliance web services by clustering two or more
slave web services having the same nonfunctional properties
satisfy the users’ requests and having different
functionality. For example, the master web service gathers slave web
services that have a high QoS in the first group under the
management of alliance web service1 and the other slave web
services that have a medium QoS in the second group under
the management of alliance web service2, etc. (see Fig.1).</p>
        <p>1.4) Specifying dismantle community: the master web
service is only responsible for dismantling community when all
alliance structures present low precision to users’ requests
(i.e., irrelevant results) and low recall (i.e., missing relevant
information). This happens when the number of slave web
services within alliances structure is not enough to satisfy
users’ requests as well.</p>
        <p>2) Step 2: Determine Goals and Dependencies: this step
iteratively determines the goal dependencies between the roles.
First, it searches UDDI registries to find posted services based
on the similarity that exists between users’ requests and these
registered services. Thus, the composite goal of users’ requests
is identified at the master web service as a hard goal. Second,
the master web service uses nonfunctional properties to refine
its populated alliance web services into one that satisfies
this composite goal (say G). Third, using means-end analysis
to decompose this composite goal into subgoals (say G =
fg1; g2; : : :g), thereafter, alliance web service introduces roles
that adopt these subgoals. This iterative analysis continues
decomposing these subgoals until no new goal dependencies
arise.</p>
        <p>Description
1.1) Identify community
function
1.2) Identify agents
and roles in community
1.3) Identify alliance
web services
1.4) Specify dismantling
community
2) Identify goals and
goal dependencies
3) Identify tasks
and task dependencies
4) Identify commitments
5) Identify argumentative
dialogues</p>
        <p>Input
A specific ontology
and composition
scenario.</p>
        <p>Agent-based web
services and
composition scenario.</p>
        <p>Slave web services,
composition scenario
and nonfunctional
properties.</p>
        <p>Request from alliance
web service to its
master web service.</p>
        <p>Alliance web services,
slave web services,
composition scenario
and goals are
introduced in
architecture.</p>
        <p>Alliance web services,
slave web services,
goal dependencies and
composition scenario.</p>
        <p>Tasks dependencies,
scenario commitments
description.</p>
        <p>Nonfunctional
properties and
commitments.</p>
        <p>Output
All agent-based
web services having
the same or part
of community’s
functionality.</p>
        <p>Master web
service and slave
web services.</p>
        <p>Alliance web
services and
their slave web
services.</p>
        <p>Terminating
community.</p>
        <p>Goals and goal
dependencies of
each dependee
role (in step 1.2).</p>
        <p>Tasks and task
dependencies.</p>
        <p>Commitments
describing
business relation.</p>
        <p>Accessitable
commitments.</p>
        <p>3) Step 3: Identify Tasks and Dependencies: each role
from step (2) has goal dependencies, then the ultimate
objective of this step is to find task dependencies that will be
responsible to achieve goals dependencies. Meanwhile, one
goal (say g1) may need a set of tasks (say t1 = ft1:1; t1:2; : : :g)
to accomplish it. Subsequently, means-end analysis needs to
identify this set of the tasks. Similarly, the task may be
decomposed into subtasks and this decomposition analysis will
iterate until no new task dependencies arise.</p>
      </sec>
      <sec id="sec-2-4">
        <title>B. Architecture Design</title>
        <p>
          The architectural design phase plays a crucial role in the
design process. Initially, it defines the organization of the
system in terms of the components and their interdependencies
that are identified in previous phase. This step focuses on
how system components work together to constitute a
multiagent system and introduces resources, goals and roles as
needed. This paper presents an architecture to tackle pitfalls
of standard approaches that do not underpin business meaning
and dynamic composition of existing services in which the
components are agent-based web services and their
interdependencies are specified in terms of commitments augmented with
argumentation capabilities to reason about the validity of these
commitments (we will explain commitment and argumentation
later on). In fact, this architecture is a call and return style in
the form of layered phases and an extension to the architecture
we developed in [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ], [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ].
        </p>
        <p>From Fig. 1 the main components of the proposed
architecture are service providers, service consumers of web services,
UDDI registers and communities with alliances structure. A
community with alliances structure is organized dynamically
according to the specifications discussed in previous phase
(III-A). Hereafter we focus on operationalizing the steps
through which the goal dependencies are to be fulfilled.
The service providers publish and register the name of their
services in UDDI registries with different nonfunctional
proprieties (e.g., QoS) so that service consumers or users can
search for appropriate QoS. More precisely, there are three
kinds of agent-based web services (master-ws,
allaincews and slave-ws) constitute the structure of community and
collaborate with each other to achieve users’ requests.</p>
        <p>A master-ws can be implemented as a web service for
compatibility purposes with the slave web services and
alliances web services that populate the community as well.
It delegates goal dependencies to allaince-ws that will
responsible for accomplishing them. The alliance web services
manage micro-communities and decompose goal dependencies
to slave web services that populate their alliance structure
as well. Each slave-ws signs up contract with its alliances
to commit to satisfy the delegated subgoal. The slave web
services collaborate with each other to achieve these goals. Of
course each slave web service has the ability to delegate or
assign incomplete tasks to other slave web services to complete
its goal. Moreover, allaince-ws can request from master-ws
to search for a new slave-ws to join in its structure instead
of the existing slave-ws that it does not work well. When
all slave web services satisfy their contracts, their alliance
web services consequently achieve their composite contracts.
Hence these alliance web services need to inform the
masterws with results to finalize users’ requests.</p>
      </sec>
      <sec id="sec-2-5">
        <title>C. Detailed Design</title>
        <p>This phase is intended to introduce additional details for
each architectural component of a community structure. To
support this phase, we adopt social commitment,
argumentative dialogues and dialogue games protocol from the agent
programming community.</p>
        <p>1) Step 4: Identify Social Commitments: our methodology
captures high-level business meaning via identifying
commitments between roles in terms of tasks. More precisely, this
step analyzes each task dependency resulted from step (3)
and that discovered in the architecture phase to identify the
corresponding commitment. The notion here depends on the
task dependency such that when the dependee (or the debtor)
commits towards the depender (or the creditor) to execute the
dependum task (e.g., t1) or the commitment content, then
a commitment exists. The condition of the commitment is
defined by identifying a task that dependee needs to satisfy
to perform commitment content. Meanwhile, the creditors
need to verify some constraints that are conjuncted with this
commitment to guide them to determine the corresponding
tasks resulting from executing this commitment. Whereas, if
the dependee is not committed towards the depender to execute
a task, then no commitment exists, in this case the dependee
executes the intrinsic task to achieve its internal goal.</p>
        <p>2) Step 5: Identify Argumentative Dialogues: this step
identifies arguments that can be used either in negotiation,
persuasion or information seeking dialogue based on
commitments identified in step (4).</p>
        <p>Argumentative Locutions
Open-dialogue
Accept(Ag-ws2; C(idx; Áx))
Refuse(Ag-ws2; C(idx; Áx))
Attack(Ag-ws2; C(idx; Áx);</p>
        <p>C(idy; Áy))
Challenge(Ag-ws2; C(idx; Áx))
Justify(Ag-ws2; C(idx; Áx);</p>
        <p>C(idy; Áy))
Make-Offer(Ag-ws1; C(idx; Áx))
Close-dialogue
Descriptions
A special argumentative act used
to open the dialogue.</p>
        <p>When Ag-ws2 has an argument
in favor of Áx.</p>
        <p>When Ag-ws2 has an argument
against Áx.</p>
        <p>When Ag-ws2 attacks the content
of C(idy; Áy) by the content of
its commitment C(idx; Áx).</p>
        <p>When Ag-ws2 has neither
an argument for Áx nor for :Áx,
then it challenges Áx.</p>
        <p>When Ag-ws1 has a commitment
C(idx; Áx) to justify another
commitment C(idy; Áy).</p>
        <p>An Ag-ws1 makes an offer Áx
to Ag-ws2 when Ag-ws1 has
an argument in favor of Áx.</p>
        <p>A special argumentative act used
to close the dialogue.</p>
        <p>
          This methodology terms these arguments by social
arguments, not only to emphasise their ability to resolve
conflicts within a social community, but also to highlight the fact
that two agent-based web services having task dependency can
negotiate or persuade and, upon agreement, commit to each
other for the specified value transfers. However, identifying
such arguments is not merely the last step. Since agent-based
web services need a language to express these arguments. In
[
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] we proposed Horn logic language to allow agent-based
web services to express their arguments and to develop their
reasoning capabilities within an argumentation system.
        </p>
        <p>
          The formal specification of these arguments is defined
in a dialogue game protocol, namely Persuasive-Negotiation
Protocol for CWSs (P N P -CW S) [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]. We have eight
argumentative locutions: fOpen, Accept, Refuse, Make-Offer,
Attack, Challenge, Justify, Closeg forming the basic building
blocks of this protocol. Here we present the description of
these locutions in natural language (see Table (II)). To simplify
the notation, a commitment will be denoted by C(idx; Áx)
when the participating agents and the other elements are clear
from the context. These locutions specify our communication
language that can be used to communicate about satisfying
goals or tasks.
        </p>
        <p>Definition 1: (Dialogue game) Let Open(Ag-ws1; C(idk;
Ag-ws1; Ag-ws2; Cx; Ã; Á) be the opening action performed
by Ag-ws1 and sent to another agent Ag-ws2 about content
Á subject to Ã within alliance context Cx. A dialogue game
Dg is a conjunction of rules, where the first rule defines the
condition to enter Dg if the argumentation systems of
Agws1 and Ag-ws2 support the satisfaction of the commitment
condition Ã. The other rules identify possible actions that an
agent-based web service can use as a reply when receiving
an action from another agent-based web service if a given
condition Condij is satisfied. This conjunction is specified as
follows:
Entry rule : Open(Ag-ws1; C(idk; Ag-ws1; Ag-ws2; Cx; Ã; Á))
^ Condk
Body rules : V0&lt;j·N ¡Actioni(Ag-wsp; Ag-wsm; C(idx; Áx);</p>
        <p>C(idy; Áy)) ^ Condij
) Actionij(Ag-wsn; Ag-wsO; C(idz; Áz); C(idw; Áw))¢
In the entry rule, the Open action represents the opening
of the dialogue game and is executed just one time at the
beginning of the dialogue. The Condk has two possibilities
either the commitment condition Ã is true (i.e., can be
generated from argumentation systems of Ag-ws1 and
Agws2) or false. The body rules are executed many times during
the dialogue game. In these rules, the Actioni(Ag-wsp;
Agwsm; C(idx; Áx); C(idy; Áy)) is an action of type i on the
propositional commitment,since the commitment condition
holds, where Actioni 2 fCreate; F ulf ill; V iolate; Release;
W ithdraw; Delegate; Assign; Accept; Ref use; Attack; Justif y;
Challenge; M ake-Of f erg. Moreover, the bold elements
meaning that they could be removed. For example,
if Actioni 2= fDelegate; Assigng, then the element
Ag-wsm could be removed. The Actionij (Ag-wsn;
AgwsO; C(idz; Áz); C(idw; Áw)) is an action on the commitment
of type j with content Áw that depends on the action of
type i, where Actionij 2 fCreate; F ulf ill; V iolate; Release;
W ithdraw; Delegate; Assign; Accept; Ref use; Attack; Justif y;
Challenge; M ake-Of f erg. We notice that n = w when
C(idx; Áx) does exists (e.g., Attack and Justify), otherwise,
w = y. We also have n = m if Ag-wsm does exist (e.g.,
Delegate and Assign), ) is the implication symbol for
dialogue game rules, and N is the number of allowed actions
that Ag-wsn can perform after receiving an action from
Ag-wsp where n; p 2 f1; 2g.</p>
        <p>The commitment condition and content in this definition
are Horn formulas, Condk defines the possibility of entering
Dg when the condition of the commitment is satisfied. While
Condij is expressed in terms of the possibility of generating
an argument from the argumentation system.</p>
        <p>To clarify the relationship between commitment and
argumentation system, let us first define some notions used
in our approach. The knowledge base of agent-based web
service (Ag-ws) is denoted by KB(Ag-ws), it contains all
information related to functional and nonfunctional
requirements of Ag-ws. The argumentation system of Ag-ws is
denoted by Argsys(Ag-ws) using Horn logic language where
Á / Argsys(Ag-ws) denotes the fact that a Horn propositional
formula Á can be generated from argumentation system of
Agws. While the formula :Á / Argsys(Ag-ws) indicates that Á
cannot be generated from argumentation system of Ag-ws.</p>
        <p>The following is an example of dialogue game within
alliance context Cx, in which after opening the dialogue, an
alliance web service1 (alliance-ws1) invites a slave web
service1 (slave-ws1) to join a current composition scenario
where alliance-ws1 knows that slave-ws1 has a reasonable
role to complete this scenario. The invitation is modeled
using M ake-Of f er locution. Then slave-ws1 searches its
Argsys(slave-ws1) to decide either to accept or refuse the
invitation. slave-ws1 accepts the invitation by verifying some
constraints related to the performance of alliance-ws1. That
is, if the invited web service (slave-ws1) has an argument
favoring the received invitation (e.g., alliance-ws1 has a
good reputation) and does not have any argument against
this invitation (e.g., slave-ws1 does not commit to join any
other alliance). Thereby slave-ws1 has two choices either to
accept this invitation, then slave-ws1 creates a commitment
towards alliance-ws1 to join this composition scenario or to
refuse, then slave-ws1 releases from this commitment. The
formal representation of the acceptance case of entering and
accepting the invitation is as follows:</p>
        <p>Example 1:
1) Open(alliance-ws1; C(id1; alliance-ws1; slave-ws1; Ã;
Á)) ^ (Ã /Argsys(slave-ws1)) ^(Ã /Argsys(alliance-ws1))
2) Make-Offer(alliance-ws1; C(id1; Á))
^ (Reputation-of -alliance = Good / Argsys(slave-ws1))
^ (: Commit-to-J oin-an-alliance / Argsys(slave-ws1))
) Accept(slave-ws1; C(id1; Á))
where Ã = f unctionality-matches-composite-scenario
Á = Invitation-f or-joining
The commitment manipulation underpins our approach with
a simple mechanism of composite services between slave
web services to handle users’ requests through three-party
actions (e.g., delegation, assignment). In simple case of
delegation action (i.e., without metacommitment), we have
two commitments among three agent-based web services
where if an agent cannot able to complete its service, then
it delegates the service to another agent (this delegation is
made randomly). To clarify our notion about composing
services, suppose slave-ws1 is committed to alliance-ws1
to bring about some facts within alliance context (Cx), if the
condition Ã holds. Meanwhile, the argumentation systems
of slave-ws1 and alliance-ws1 support this condition and
the argumentation system of slave-ws1 favors the content
of this commitment. However, if any reason after creating
the commitment, slave-ws1 cannot complete it, then it will
delegate the commitment to another agent-based web service
in the same alliance (say, slave-ws2). When slave-ws2
observes the delegated commitment, it uses its argumentation
system to search if it has an argument supporting the
condition of this commitment. Also, if the argumentation
system of alliance-ws1 is still supporting the condition of this
commitment, the slave-ws2 will create a new commitment
towards alliance-ws1 (see Fig.2), formally:</p>
        <p>Example 2:
1) Open(alliance-ws1; C(id1; alliance-ws1; slave-ws1; Cx;
Ã; Á)) ^ (Ã / Argsys(alliance-ws1)) ^ (Ã /
Argsys(slavews1))
2) Make-Offer(alliance-ws1; C(id1; alliance-ws1;
slavews1; Á)) ^(Á / Argsys(slave-ws1))
) Accept(slave-ws1; C(id1; slave-ws1; alliance-ws1; Á))
3) Accept(slave-ws1; C(id1; slave-ws1; alliance-ws1; Á))
^ (® / Argsys(slave-ws1))
) Delegate(slave-ws1; slave-ws2; C(id1; slave-ws1;
alliance-ws1; Cx; Á)) ^ (Ã / Argsys(alliance-ws1))
^ (Ã / Argsys(slave-ws2))
4) Delegate(slave-ws1; slave-ws2; C(id1; slave-ws1;
alliance-ws1; Cx; Á)) ^ (Á / Argsys(slave-ws2))
) Create(slave-ws2; C(id2; slave-ws2; alliance-ws1; Cx;
Á))
where Ã = the condition of the commitment
Á = bring about some f acts
® = Á cannot be completed by slave-ws1 and
Á can be perf ormed by slave-ws2</p>
        <p>
          To illustrate the application of our methodology, we
consider a real-life insurance claim processing that has been
studied under the CrossFlow project [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ] and presented in
many works to manage business process (see [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ], [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ], [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ]).
Fig.3 shows the use case of this case study, which is about an
insurance company in Ireland (AGFIL) including the parties
involved with their individual processes. AGFIL underwrites
automobile insurance policies and covers losses incurred by
customers. Europ Assist (EA) provides a 24-hour help-line
service for receiving customer claims and assigns name of an
approved repairer to customer. Lee CS is a consulting service
that coordinates with AGFIL in receiving invoices and deals
with repairers, adjustors and assessors to execute these claims.
Moreover, AGFIL has the capability to decide if both a given
claim is valid against fraud and payment will be sent to the
repairer. Below the main steps of our methodology.
        </p>
      </sec>
      <sec id="sec-2-6">
        <title>C. Step 3</title>
        <p>profits. The last goal is represented in terms of soft goal.</p>
        <p>
          Thus the customer depends upon the Insurer to handle
claim with Qos = f100%g and in exchange the Insurer
depends upon the customer for paying the insurance
premium [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]. Let us focus on such a goal, namely handle
claim. The Insurer uses AND decomposition to decompose
the goal (G = fhandle claimg) into five subgoals, G =
fclaim reception; claim assessment; vehicle repair; claim
f inalization; vehicleinspectiong. The Insurer delegates
these subgoals to the respective roles within its alliance
structure where the call center is responsible for the claim
reception, the assessor for the claim assessment, the repairer
for the vehicle repair and the adjustor for the vehicle
inspection. The claim finalization will be performed by the
assessor himself. By so doing, the Insurer pays service charge
to each one of them after completing their goals.
’ " (" fgathering inf o; validating claim; assigning garage;
For the space limit reasons, we concentrate only on the call
center, assessor and repairer task dependencies. The
meansend analysis is used to identify tasks and task dependencies to
each goal dependency from step (2). The claim reception goal,
g1, of the call center depends on four tasks to achieve it, t1 =
sending claimg. The call center gathers information
+,-- +./0.1 2.3,41.1 and assigns a garage when the customer reports an
acFig. 3. Cross flow insurance claim processing [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ]. cident and validates claim information. Thus, the
repairer depends on the call center to assign a garage
and the customer depends on call center for gathering
A. Step 1 claim information. Meanwhile, the validate claim
infor
        </p>
        <p>
          According to the ontology associated with the community, mation task is decomposed into two subtasks, t1:2 =
the functionality of the community is InsuranceClaimProcess- frequest policy inf ormation; validate inf ormationg.
Acing and this community includes all agent-based web services cording to the architecture design the call center can define
supporting the similar or part of this functionality. Thereafter, a new goal to receive payment of claim reception charge
the engineering designer selects one of them as master-ws1 from the Insurer via executing a task of receiving payment
(as the manager of the company) that starts to cluster the or delegate the task to another (e.g., the reporter to prepare its
slave web services into alliances structure based on the policy report). Finally, it sends a valid claim to the Insurer to finalize
classes (a form of nonfunctional properties related to QoS), claim processing.
such as class1, class2 and class3 cover 100%; 90%; 80% The assessor has claim assessment goal, g2, delegated
respectively from each claim request. We here only consider from the Insurer. The tasks needed to satisfy this goal are: t2 =
alliance structure that covers QoS = f100%g of the automo- freceive claim; check invoice; agree to repair; obtain repair
bile damage and from now we refer to AGFIL by the Insurer estimate; inspect vehicleg. The receive claim task depends
(i.e., the role of this alliance is identified by the Insurer). upon send claim task of the Insurer to the assessor. Meanwhile,
The unique role names of slave web services that populate the Insurer and repairer depend on the assessors’ tasks for
this alliance are defined as call center for Europ Assist and checking the invoice and agreeing to repair. Moreover, the
assessor for Lee CS, as well as repairer and adjustor. We assessor depends upon the repairer to obtain the repair
modify this use case [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] by establishing a direct dependency estimate by performing estimation repair cost task. The
between the Insurer on one side and repairer and adjustor assessor depends upon the adjustor to inspect a vehicle and
on the other side. Also, we introduce the direct dependency requires to define a new goal to receive assessment fees from
between the customer and Insurer. At the end of this step, the Insurer by executing a task of receiving assessment fees.
the Insure context is denoted by Insx and the manager (or The repairer has a vehicle repair goal, g3, and the
master-ws1) delegates the customer’s request to the Insurer. tasks needed to satisfy this goal are denoted by t3 =
frepair vehicle; estimate repair cost; send invoiceg. The
B. Step 2 customer depends upon the repairer for repairing vehicle
        </p>
        <p>
          The customer has one relevant goal: vehicle repair, when received valid claim from the customer. The assessor
while the Insurer has the goals: handle claim and maximize depends upon the repairer for estimating repair cost to decide
agreeing to repair or negotiating with the repairer. Meanwhile,
the repairer depends on the assessor for checking the invoice
and forwarding it to the Insurer, if the repairer sends the
invoice. Likewise, the call center and the assessor, the repairer
requires to define a new goal to receive repair charge from the
Insurer by depending on executing a task of receiving repair
charge [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ], [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ].
        </p>
      </sec>
      <sec id="sec-2-7">
        <title>D. Step 4</title>
        <p>
          This step transfers each task dependency into an appropriate
commitment to represent business meaning of interacting
parties of AGFIL. In [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] the authors have ignored the
formulation of actions on commitments and focused only
on commitment itself (although actions on commitments
reflect dynamic behaviors of agents). For example,
commitment C(id1; call center; customer; Insx; report accident ^
valid claim; assign garage) means that when the customer
reports an accident and if the claim is valid, then the call center
commits to assign a garage to him within the Insurer. But, how
the Insurer delegates claim reception to the call center, how
the Insurer formally assigns the assessor to get the inspection
fees from the adjustor, how the call center withdraws from his
commitment, etc. Here we complement [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] with commitment
operations. From step (2) the Insurer has five subgoals (claim
reception, claim assessment,vehicle repair, claim finalization
and vehicle inspection) that are delegated to the call center,
assessor, repairer and adjustor respectively. Formally we define
this delegation operation, but in the case of the Insurer that
delegates claim reception to the call center only as follows:
Delegate(Insurer; call center; C(id1; Insurer; Insx;
customer; pay insurrance premium; claim reception))
This operation intuitively means that the Insurer withdraws
from the commitment and the call center creates a new
commitment such that it becomes the debtor towards the
customer to receive claim reception. Formally we need two
steps to perform this:
Withdraw(Insurer; C(id1; Insurer; policy holder; Insx; pay
insurrance premium; claim reception)) ^
Create(call center; C(id1:1; call center; customer; Insx;
claim reception))
According to step (3) the claim reception needs four tasks to
be achieved, one of them is gathering information from the
customer. We define it formally as:
Create(call center; customer; C(id1:1; call center;
customer; Insx; report accident; gather inf o))
Moreover, the Insurer assigns the assessor to obtain inspection
fees from the adjustor when the estimate repair cost returned
from repairer is more than 500 (a threshold amount).
Assign(Insurer; assessor; C(id2; adjustor; Insurer; Insx;
pay inspection f ees; estimate inspection cost))
This action is similar to the delegation action. Formally we
need two steps to perform this:
Release(Insurer; C(id2; adjustor; Insurer; Insx; pay
inspection f ees; estimate inspection cost)) ^
Create(adjustor; C(id2:1; assessor; Insx; pay inspection
f ees; estimate inspection cost))
        </p>
      </sec>
      <sec id="sec-2-8">
        <title>E. Step 5</title>
        <p>
          We define two subscenarios from AGFIL scenario to
explain why we need argumentative dialogues to reason
about the validity of commitment operations. The first
subscenario is established between the Insurer and assessor
where the assessor commits to the Insurer to reach
agreement with the repairer for the vehicle repair, formally:
C(id3; assessor; Insurer; Insx; pay assess f ees; agree to
repair) [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ]. However, the assessor cannot estimate his
assessment fees without engaging in a dialogue with the repairer
to reach a deal about “estimate the repair cost”. The solution
proposed in [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ], which is based only on commitments, is not
enough to specify this dialogue especially when the assessor
needs to negotiate the repair charge with the repairer. The
proposed argumentative dialogues are natural solutions to this
problem. The following dialogue game explains only the steps
after the commitment being delegated to the repairer. This
means that request to estimate repair cost (i.e., Ã) is supported
by argumentative systems of the assessor and repairer (i.e.,
Ã / Argsys(assessor) ^ Ã / Argsys(repairer)). Then the
dialogue is opened and this dialogue can be considered as
a continuation to example (2). The repairer creates a
commitment towards the assessor to estimate the repair cost. The
assessor has a conflict with the Insurer because the estimated
cost does not respect the delegated constrains from the Insurer
(estimate cost should be &lt; 500 to maximize the Insurer
profits). Then assessor challenges the repairer to justify the
estimated repair cost. When the argumentation system of the
assessor supports the justification of the estimate repair cost,
then it reaches a deal with the repairer and informs the Insurer
to pay the assessed fees.
        </p>
        <p>1) Create(repairer; C(id3:1; repairer; assessor; Insx; Á))
^ Cond1
) Challenge(assessor; C(id3:1; repairer; assessor;
Insx; ; Á))
2) Challenge(assessor; C(id3:1; repairer; assessor;
Insx; Á)) ^ Cond2
) Justify(repairer; C(id3:2; repairer; assessor; Insx;
Á0); C(id3:1; repairer; assessor; Insx; Á))
3) Justify(repairer; C(id3:2; repairer; assessor; Insx;
Á0); C(id3:1; repairer; assessor; Insx; Á)) ^ Cond3
) Accept(assessor; C(id3:2; repairer; assessor;
Insx; Á0))
W here :
Á = Estimate-Repair-Cost = V; with V is a given value
Cond1 = :(Á / Argsys(assessor)) ^
:(:Á / Argsys(assessor));
Á0 = Á01 ^ Á02; Cond2 = Á0 / Argsys(repairer);
Cond3 = Á0 / Argsys(assessor)</p>
        <p>Notice that the value of Á0 = Á01 ^ Á02 means that the cost
of repair includes the value of the part1 (Á01) and part2 (Á02).
Similarly, the adjustor and assessor can entre in negotiation
dialogue about the estimated inspection cost. Moreover,
argumentative dialogue in our case study can be used to spread
agent-based web service knowledge in the form of information
seeking dialogue. For example, when the call center requests
policy information from the Insurer, the available information
may be not enough to validate the received claim. Thus, the
call center may need to spread his knowledge by requesting
more information from the customer that enable the call center
to send a valid information to the Insurer.</p>
        <p>The second subscenario is established between the
customer, Insurer and call center. When the customer reports an
accident and his claim is valid, then the call center assigns
a garage for vehicle repair. Otherwise, the call center does
not assign a garage as it gathers invalid information from
the customer compared to the information received from
the Insurer. Thereby the intuitive semantic of the interaction
between the call center and customer lacks clarity of business
meaning related to the content of interaction (i.e, it is not
meaningful). But, argumentative dialogue makes interaction
more meaningful by guiding the call center to undertake a
subtle decisions when the conflicts arise, then it challenges
the customer to justify the validity of its commitment and to
reach a mutual agrement that helps the customer to repair the
vehicle. Moreover, the Insurer should persuade the call center,
repairer, assessor and adjustor to join alliance structure by
offering rewards that alliance grants to them.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>V. RELATED WORK AND CONCLUSIONS</title>
      <p>In this paper, we first exposed some obstacles that restrict
the use of agent-based web services in complex business
applications and then, offered some solutions to tackle these
obstacles through extending community structure with
alliances structure and proposing a new methodology based
on Tropos methodology. This methodology synthesizes three
approaches: mentalistic states, social commitments and
argumentative dialogues. The mentalistic artifacts such as goals,
tasks and dependencies modeling techniques are compatible
with concepts of Tropos (e.g., plan in Tropos is the task
here). The social commitments define dependencies between
agent-based web services in the early stages as
businessmeaning of interactions and guide Tropos for
accommodating and tracing the changes in the various phases of the
methodology. While Tropos provides commitment with cues
that identify different parties of dependencies (e.g., agents,
goals, plans). Moreover, commitments enable the community
to support dynamic reconfiguration of business interactions
via delegation and assignment operations without altering the
overarching structure of web services interactions.
Argumentative dialogues support web services with richer capabilities
to negotiate or seek information with other peers via reasoning
about the correctness of commitments</p>
      <p>
        The social-arguments proposed here are different from the
approach proposed in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] for argumentation-based negotiation
based on social commitments. The agents are influenced by
social relationships and negotiate with other peers based on
their organizational roles. The approach lists the possible rules
that can be applied when conflicts of interest occur. These
rules, for example, are used to reject or accept proposals as
well as to enforce the social relations within a multiagent
system. However, the rules in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] are not used for justifying the
content of commitments within negotiation dialogue and they
do not consider agents’ goals that can affect agents decisions
as we have done here.
      </p>
      <p>
        Let us now focus on comparing the proposed methodology
with the related ones. Many of Agent-Oriented Software
Engineering (AOSE) methodologies have been proposed over
the last years based on the concepts of actors, roles, goals
and plans include Gaia, Prometheus, MaSE, and Tropos.
These methodologies support various phases of the software
development life cycle, but Tropos differs from them in
including an early requirements phase. Moreover, some of
these methodologies like Gaia differs from Tropos in
involving safety and liveness conditions for the processes and
agents should be coarse-grained computational systems (like
UNIX process). Meanwhile, Gaia lacks reasoning scheme
based on early requirements engineering which limits the
flexibility of Gaia, as well as implementation phase is not
covered in this methodology. Our methodology complements
these methodologies by concentrating on social arguments
and argumentative dialogues, which they are ignored in these
methodologies. A key difference between our methodology
and Tropos [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] is the considerations of concepts of
community, commitment and argumentative dialogue. In Tropos the
depender depends upon the dependee for achieving a goal or
executing a plan without any condition from the depender’s
side, but in commitment the debtor is obliged towards the
creditor to bring about its commitment when a condition is
hold. Thus, Tropos lacks capability to model real-life business
scenarios between economic partners [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
      </p>
      <p>
        Pankaj et al. [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] enhanced Tropos methodology with
concept of commitments to capture business meaning of
interactions among independent parties in early requirement phases
and successively refined using means-end and AND/OR
analysis during the progress of the system being engineered. This
methodology [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] is close to our methodology but it lacks the
argumentative capabilities to enable agent-based web services
to negotiate or seek information with other peers based on
their commitments. Moreover, the authors translate goals into
concrete tasks for their fulfillment before considering the
overall organization of the system, which makes software
systems fragile and less reusable although commitments can
be modified. The reason is that they ignore architecture design
phase. We present the architecture design phase with alliances
structure to satisfy a number of quality requirements related
to performance, usability, modifiability and reusability. For
example, the Insurer can delegate the responsibility to the
assessor to finalize users’ claims or to pay inspection fees
to the adjustor on his behalf.
      </p>
      <p>
        Desai et al. [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] proposed Amoeba as a process modeling
methodology based on commitment protocols. This
methodology guides software designers to evolve requirements based
on separating service interactions into two layers:
commitment protocols and polices. They represent business process
in terms of fine-grained messages with commitments where
commitments capture business interactions. Our methodology
includes in addition of that mentalistic states and
argumentative dialogues.
      </p>
      <p>
        Riemsdijk et al. [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] used a goal-oriented approach inspired
by the field of cognitive agent programming for
serviceoriented computing to help handling failures and specify the
semantics of the services. An orchestration approach has been
used to coordinate the invocations of services from a workflow.
Burmeister et al. [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] presented an approach to business process
management using BDI-agent features to capture the ability of
the process to adapt and pro-actively adapt itself to a changing
environment (or what they call an “agile process”) to avoid
problems before they arise. The goal-oriented approach is
the core of our methodology, but it differs from [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]
in considering goals as commitments, which provide more
flexibility in terms of manipulation (e.g., assign, release or
withdraw) and agents use argumentative dialogues to enable
each participant to satisfy its hard goals and soft goals in an
efficient manner. Moreover, an orchestration reflects only one
participant’s view of the overall business process and lacks
business meaning of service engagements. The conceptual
framework proposed in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] has been successfully applied to a
business process for engineering change management domain,
but it lacks the cooperation between agents.
      </p>
      <p>
        Li et al. [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] proposed an agent-based framework to model
and develop dynamic service-oriented operations. In our
approach, web services are also viewed as software agents,
but what is new in our approach is that web services can
communicate with other peers within a community by dialogue
game protocols.
      </p>
      <p>
        Regarding to CWSs, Maamar et al. [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] recently presented
an engineering methodology for modeling CWSs based on
the concepts that assist in using community, selecting web
services, identifying allowable operations to each web service
and deploying community. However, they ignore the
collaboration between web services, high-level business meaning
of interactions, alliance structure, user interactions (although
these interactions are crucial and ought to be recognized within
community). Last but not least, Medjahed et al. [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] proposed
the WebBIS system as a generic framework for
composing and managing web services in terms of pull-and
pushcommunities within dynamic environments. Our methodology
underpins a simple mechanism for empowering composition
of web services based on means-end and AND/OR analysis
within the notion of delegation operation that captures flexible
interactions.
      </p>
      <p>As future work, we aim to formalize the strategic polices
of service providers that help organizing web services in
alliances structure and investigating the organization laws and
norms ruling the roles within the community. The
trustworthiness level of a master web service towards alliance web
services and how a social-argumentative dialogue model is
automatically mapped into a BDI-agent specification that can,
at execution time, give useful feedback to refine the original
design are fundamental issues we plan to investigate.</p>
    </sec>
    <sec id="sec-4">
      <title>ACKNOWLEDGEMENTS</title>
      <p>The authors would like to thank the reviewers for their
valuable comments and suggestions. They also would like
to thank NSERC (Canada), NATEQ FQRSC (Que´bec) and
ERESSON for their financial support.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>B.</given-names>
            <surname>Benatallah</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Dumas</surname>
          </string-name>
          and
          <string-name>
            <given-names>Q.Z.</given-names>
            <surname>Sheng</surname>
          </string-name>
          .
          <article-title>Facilitating the Rapid Development and Scalable Orchestration of Composite Web Services</article-title>
          .
          <source>J Distrib Parallel Databases</source>
          vol.
          <volume>17</volume>
          (
          <issue>1</issue>
          ), pp.
          <fpage>5</fpage>
          -
          <lpage>37</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>B.</given-names>
            <surname>Benatallah</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Q.Z.</given-names>
            <surname>Sheng</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Dumas</surname>
          </string-name>
          .
          <article-title>The Self-Serv Environment for Web Services Composition</article-title>
          .
          <source>IEEE Internet Computing</source>
          , vol.
          <volume>7</volume>
          (
          <issue>1</issue>
          ), pp.
          <fpage>40</fpage>
          -
          <lpage>48</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>J.</given-names>
            <surname>Bentahar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Maamar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Benslimane</surname>
          </string-name>
          and
          <string-name>
            <given-names>P.</given-names>
            <surname>Thiran</surname>
          </string-name>
          .
          <article-title>An Argumentation Framework for Communities of Web Services</article-title>
          .
          <source>IEEE Intel. Sys</source>
          . vol.
          <volume>22</volume>
          (
          <issue>6</issue>
          ), pp.
          <fpage>75</fpage>
          -
          <lpage>83</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>J.</given-names>
            <surname>Bentahar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Maamar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Wan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Benslimane</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Thiran</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.</given-names>
            <surname>Subramanian</surname>
          </string-name>
          .
          <article-title>Agent-Based Communities of Web Services: An ArgumentationDriven Approach</article-title>
          .
          <source>In Service Oriented Computing and Applications</source>
          , Vol.
          <volume>2</volume>
          (
          <issue>4</issue>
          ), pp.
          <fpage>219</fpage>
          -
          <lpage>238</lpage>
          ,
          <year>2008</year>
          , Springer.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>B.</given-names>
            <surname>Burmeister</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Arnold</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Copaciu</surname>
          </string-name>
          ,
          <string-name>
            <surname>G. Rimassa.</surname>
          </string-name>
          <article-title>BDI-Agents for Agile Goal-Oriented Business Processes</article-title>
          .
          <source>In Proc. of 7th Int. Conf. on Aut. Agents and Multiagent Sys</source>
          .
          <source>(AAMAS</source>
          <year>2008</year>
          ), pp.
          <fpage>37</fpage>
          -
          <lpage>44</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>N.</given-names>
            <surname>Desai</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.K.</given-names>
            <surname>Chopra</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.P.</given-names>
            <surname>Singh</surname>
          </string-name>
          .
          <article-title>Business Process Adaptations via Protocols</article-title>
          .
          <source>In Proc. of the IEEE Int. Conf. on Services Computing (SCC)</source>
          , pp.
          <fpage>103</fpage>
          -
          <lpage>110</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>N.</given-names>
            <surname>Desai</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.K.</given-names>
            <surname>Chopra</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.P.</given-names>
            <surname>Singh</surname>
          </string-name>
          .
          <article-title>Amoeba: A Methodology for Modeling and Evolution of Cross-Organizational Business Processes</article-title>
          .
          <source>ACM Transactions on Software Eng. and Methodology (TOSEM)</source>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>N.C.</given-names>
            <surname>Karunatillake</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.R.</given-names>
            <surname>Jennings</surname>
          </string-name>
          , I. Rahwan and
          <string-name>
            <given-names>T.J.</given-names>
            <surname>Norman</surname>
          </string-name>
          .
          <article-title>Argument-Based Negotiation in a Social Context</article-title>
          .
          <source>In Proc. AAMAS Workshop on Argumentation</source>
          , pp.
          <fpage>74</fpage>
          -
          <lpage>88</lpage>
          , May
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Shen</surname>
          </string-name>
          and
          <string-name>
            <given-names>H.</given-names>
            <surname>Chenniwa</surname>
          </string-name>
          .
          <source>Agent-Based Web Services Framework and Development Environment. Comput Intell</source>
          , vol.
          <volume>20</volume>
          (
          <issue>4</issue>
          ),
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>Z.</given-names>
            <surname>Maamar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lahkim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Benslimane</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Thiran</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.</given-names>
            <surname>Sattanathan. Web Services</surname>
          </string-name>
          Communities-Concepts and
          <article-title>Operations</article-title>
          .
          <source>In Proc. of the 3rd int. conf. on web information sys. and technologies (WEBIST</source>
          '
          <year>2007</year>
          ), Barcelona.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>Z.</given-names>
            <surname>Maamar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Subramanian</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Bentahar</surname>
          </string-name>
          ,
          <string-name>
            <surname>P. Thiran P</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.</given-names>
            <surname>Benslimane</surname>
          </string-name>
          .
          <article-title>An Approach to Engineer Communities of Web Services Concepts, Architecture, Operation, and Deployment</article-title>
          .
          <source>In the Int. Journal of EBusiness Research</source>
          , vol.
          <volume>5</volume>
          (
          <issue>4</issue>
          ),
          <year>2009</year>
          ,
          <string-name>
            <given-names>IGI</given-names>
            <surname>Global</surname>
          </string-name>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>B.</given-names>
            <surname>Medjahed</surname>
          </string-name>
          and
          <string-name>
            <given-names>Y.</given-names>
            <surname>Atif</surname>
          </string-name>
          .
          <article-title>Context-Based Matching for Web Service Composition</article-title>
          .
          <source>Distrib Parallel Databases</source>
          . Springer, Heidelberg, vol.
          <volume>21</volume>
          (
          <issue>1</issue>
          ), pp.
          <fpage>5</fpage>
          -
          <lpage>37</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>B.</given-names>
            <surname>Medjahed</surname>
          </string-name>
          and
          <string-name>
            <given-names>B.</given-names>
            <surname>Bouguettaya</surname>
          </string-name>
          .
          <article-title>A Dynamic Foundational Architecture for Semantic Web Services. Distributed and Parallel Databases</article-title>
          . Kluwer, Dordrecht, vol.
          <volume>17</volume>
          (
          <issue>2</issue>
          ), pp.
          <fpage>179</fpage>
          -
          <lpage>206</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>B.</given-names>
            <surname>Medjahed</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Bouguettaya</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Elmagarmid</surname>
          </string-name>
          .
          <source>WebBIS: An Infrastucture for Agile Integration of Web Services. Int. J. Cooperative Inf. Syst. (IJCIS)</source>
          , vol.
          <volume>13</volume>
          (
          <issue>2</issue>
          ), pp.
          <fpage>121</fpage>
          -
          <lpage>158</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>P.R.</given-names>
            <surname>Telang</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.P.</given-names>
            <surname>Singh</surname>
          </string-name>
          .
          <article-title>Enhancing Tropos with Commitments: A business Metamodel and Methodology</article-title>
          . Alex Borgida, Vinay Chaudhri, Paolo Giorgini and Eric Yu (eds),
          <source>Conceptual Modeling: Foundations and Applications</source>
          ,
          <year>June 2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>P.R.</given-names>
            <surname>Telang</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.P.</given-names>
            <surname>Singh</surname>
          </string-name>
          .
          <article-title>Business Modeling via Commitments</article-title>
          .
          <source>In Proc. of the 7th AAMAS Workshop on Service-Oriented Computing: Agents, Semantics and Eng</source>
          . (SOCASE),
          <year>May 2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>P.</given-names>
            <surname>Bresciani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Perini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Giorgini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Giunchiglia</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Mylopoulos</surname>
          </string-name>
          .
          <article-title>Tropos: An Agent-Oriented Software Development Methodology</article-title>
          . Autonomous Agents and
          <string-name>
            <surname>Multi-Agent</surname>
            <given-names>Systems</given-names>
          </string-name>
          , vol.
          <volume>8</volume>
          (
          <issue>3</issue>
          ), pp.
          <fpage>203</fpage>
          -
          <lpage>236</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <surname>M.B. van Riemsdijk</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Wirsing</surname>
          </string-name>
          .
          <article-title>Using Goals for Flexible Service Orchestration: A First Step</article-title>
          .
          <source>In Service-Oriented Computing: Agents, Semantics, and Eng</source>
          . vol.(
          <volume>4504</volume>
          )
          <string-name>
            <surname>of</surname>
            <given-names>LNCS</given-names>
          </string-name>
          , pp.
          <fpage>31</fpage>
          -
          <lpage>48</lpage>
          .
          <year>2007</year>
          , Springer.
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>S.</given-names>
            <surname>Browne</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Kellett. Insurance (Motor Damage Claims) Scenario. Document Identifier</surname>
          </string-name>
          <article-title>D1</article-title>
          .a,
          <source>CrossFlow Consortium</source>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>M.P.</given-names>
            <surname>Singh</surname>
          </string-name>
          .
          <article-title>An Ontology for Commitments in Multiagent Systems: Toward A unification of Normative Concepts</article-title>
          .
          <source>AI and Law</source>
          , vol.
          <volume>7</volume>
          , pp.
          <fpage>97</fpage>
          -
          <lpage>113</lpage>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>