=Paper=
{{Paper
|id=None
|storemode=property
|title=Agreement Patterns
|pdfUrl=https://ceur-ws.org/Vol-635/paper05.pdf
|volume=Vol-635
|dblpUrl=https://dblp.org/rec/conf/at/IglesiasGFD09
}}
==Agreement Patterns==
Agreement Patterns
Carlos A. Iglesias1?? , Mercedes Garijo1 ,
José I. Fernández-Villamor1 , and José J. Durán2
1
Depto. Ingenierı́a de Sistemas Telemáticos, Universidad Politécnica de Madrid
2
Centro para las Tecnologı́as Inteligentes de la Información y sus Aplicaciones
(CETINIA), Universidad Rey Juan Carlos
Abstract. Agreement Patterns have been defined for improving com-
munication in software and services development, as well as for providing
a practitioner oriented approach for reusing existing agreement technolo-
gies. This article presents the notion of agreement patterns, their struc-
ture and some of the first identified examples.
1 Introduction
One of the envisioned aspects of Future Internet is the Internet of Services,
which is conceived as [1] an open service delivery platform, which goes beyond
the client-server model of service delivery.
In an Internet of Services with a vast and changing landscape of service
providers and consumers, the fulfillment of agreements for services is a key issue,
which involves notions such as trust, coordination or organization. These notions
are the basis for the understanding and implementation of artificial social sys-
tems [2], and have largely addressed in fields such as multi-agent systems [3,4,5],
p2p computing [6], service computing [7,8,9], autonomic computing [10], social
psychology [11], sociobiology or social neuroscience.
Agreement technologies [12] (AT) is a recent discipline which collects this
multidisciplinary research and can be defined as the technologies for the practical
application of knowledge to the automated fulfillment of agreements. Agreement
technologies do not dictate the underlying technologies (objects, components,
agents, services, ...), but are focused on the formalization of knowledge struc-
tures, protocols, algorithms and expertise that contribute to the establishing of
agreements in an open dynamic environment.
Nevertheless, there has not been defined yet a common vocabulary or patterns
for sharing and reusing previous experiences in the application of agreements
to social-inspired software integration. This article pretends to bridge the gap
through the use of software patterns for agreement analysys and reuse, which
are called agreement patterns.
The rest of the article is organized as follows. Section 2 reviews some of the
related work in patterns in the SOA and multi-agent community. Then, section 3
??
The first author has been partially supported by Germinus XXI (Grupo Gesfor)
through the project RESULTA.
57
presents a classification scheme for agreement patterns. Section 4 introduces
some examples of identified agreement patterns. Finally, section 5 draws out the
conclusions of this research work and the future work.
2 Background and Related Work
Software design patterns [13] can be defined as “a technique for achieving widespread
reuse of software architecture. They capture the static and dynamic structures
and collaborations of components in successful solutions to problems that arise
when building software in domains like business data processing, telecommuni-
cations, graphical user interfaces, databases and distributed communication soft-
ware. Patterns aid the development of reusable components and frameworks by
expressing the structure and collaboration of participants in a software architec-
ture at a level higher than source code or object-oriented design models.”.
Patterns can be represented in an informal way using natural language, UML,
pattern languages or ontologies [14]. The informal representation of software
patterns usually follows the canonical (or so-called Alexandrian) form [15], which
identified the following elements:
– Name: a meaningful name that provides a vocabulary for discussing.
– Alias: an alternative name to the pattern.
– Problem: a statement of the problem and the goals it wants to reach.
– Context: the preconditions under which the problem and its solution seem
to recur.
– Forces: a description of the relevant forces and constraints and how they
interact with one another and with the goals. Considerations to be taken
into account to select a solution for a problem.
– Solution: static relationships and dynamic rules describing how to realized
the desired outcome.
– Examples: one or more sample applications of the pattern which illustrate
its application. Known occurrences of the pattern which help in verifying
that the pattern is a proven solution to a recurring problem.
– Resulting context: the state or configuration of the system after the pat-
tern has been applied.
– Rationale: a justification of the pattern, explaining how and why it works,
and why it is “good”.
– Related patterns: compatible patterns which can be combined with the
described pattern.
Based on this previous research, Agreement patterns are defined as soft-
ware patterns that facilite software components coordination through the fulfill-
ment of agreements. Agreements patterns include all kind of agreements, both
explicit ones (e.g. negotiation) and tacit ones (e.g. organization).
There are related works for defining design patterns in the areas of multi-
agent systems and Service Oriented Computing (SOC).
58
Agent-Oriented Patterns have been defined for sharing multi-agent system
development experiences. Oluyomi [16,17] presents an agent pattern classifica-
tion scheme based on two dimensions: stages of the agent-oriented software de-
velopment and tasks in each stage of development. At each stage or level of
development (analysis, multi-agent architecture, agent architecture, multi-agent
implementation), the framework identifies the attributes of that level of abstrac-
tion, in order to classify these patterns. In addition, Oluyomi proposes to refine
the canonical pattern form for defining an Agent-Oriented Pattern Template
Structure, which adds more granularity depending on the pattern type (agent
internal architecture structural, interactional or strategic patterns, etc.). Some
of the patterns identified by Oluyomi, whose classification scheme includes other
approaches, can be considered agreement patterns. The main differences between
her classification and the one proposed in this article is that Oluyomi’s classifi-
cation is agent oriented (agent oriented development phase, agent architecture,
etc.), while the one proposed here is independent of the technology to be used,
although implementation examples can be presented with different technologies.
In addition, agreements are not a key concept in Oluyomi’s classification scheme
as in our proposal. Future work will provide a mapping of the agreement related
patterns classified by Oluyomi onto our classification scheme.
In the area of Service Oriented Architecture (SOA), SOA patterns have been
defined [18,19,20]. For example, Erl [18] classifies patterns for architecturing
services, service compositions, service inventories and service oriented enterprise.
Rotem-Gal-Oz [19] describes patterns for Message Exchange, Service Interaction,
Service Composition, Structural, Security and Management. SOA patterns [20]
provide high level architectural patterns, which do not detail yet agreement
issues.
Inside the SOC community, the GRAAP Working Group (Grid Resource Al-
location and Agreement Protocol WG) has defined the specification Web Services
Agreement [8], which is particularly interesting for this research. The purpose
of the specification is the definition of a Web Services protocol for establish-
ing agreements defined in XML. The specification covers the specification of
agreement schemas, agreement template schemas and a set of port types and
operations for managing the agreement life cycle. This specification defines an
agreement as an agreement between a service consumer and a service provider
specifies one or more service level objectives both as expressions of requirements
of the service consumer and assurances by the service provider on the availabil-
ity of resources and/or service qualities. An agreement defines a dynamically-
established and dynamically-managed relationship between parties. The object of
this relationship is the delivery of a service by one of the parties within the con-
text of the agreement. The management of this delivery is achieved by agreeing
on the respective roles, rights and obligations of the parties. An agreement is
characterized by its name, context and terms.
The OASIS Reference Architecture for SOA [9] is an abstract realization of
SOA, focusing on the elements and their relationships needed to enable SOA-
based systems to be used, realized and owned. The reference architecture defines
59
three primary viewpoints: business via services that captures what SOA means
for people using it to conduct business, realizing service oriented architectures
deals with the requirements for constructing a SOA; and owning service oriented
architectures addresses issues involved in owning and managing a SOA. The no-
tion of agreement is included in several ways in the architecture, as an organi-
zational concept (constitution) or as a formalization of a relationship (business
agreement and contract).
These two initiatives,OASIS RA and WS-Agreement are compatible and
complementary of our proposal, since they provide a modeling reference ar-
chitecture as well as a language for describing the identified patterns boiling
down to the implementation level. This integration will be included in future
publications.
3 Classification Scheme for Agreement Patterns
The purpose of this section is an early identification of a multi-dimensional
classification scheme for agreement patterns (figure 1) which makes easier for
software developers to select the right pattern to apply, as well as the basis for
its cataloging.
Fig. 1. Classification scheme for Agreement Patterns
The identified dimensions characterize an agreement from several properties
of the agreement itself, such as topic (purpose of the agreement), duration, and
phase (also so-called state in WS-Agreement); the organizational environment
where the agreement takes place, and the decision making cognitive task of the
agreement stakeholders.
60
One pattern can have more than one value for each one of the dimensions,
and can be classified only to the relevant dimensions.
The dimensions of the classification scheme are:
– Duration: if the agreement is reached for a short or long term. The duration
of the agreement has organizational implications, as well as its properties.
Pĕchouc̆ek [21] distinguishes between alliances for long-term collaboration
agreements and coalitions for short-term collaboration agreements. In a sim-
ilar way, other authors such as Camarinha [22] identifies long term strategic
alliances and goal-oriented networks, based on this dimension.
– Topic: the goal of the agreement can be [5], among others, the obtention
of goods, the usage of goods or services, the provision of a service or the
definition of social rules.
– Phase: this dimension defines the agreement phase where the pattern can be
applied. The phases considered are provider selection, agreement fulfillment,
agreement renegotiation, agreement monitoring and agreement conclusion.
Provider selection consists of the selection of the best available provider
before establishing an agreement, which can be based on trust and reputa-
tion techniques and can involve interactions such as bidding or contract net
protocol (CNP) [23]. Agreement negotiation is the process of defining estab-
lishing the conditions of the agreement, respecting the normative context
and using negotiation techniques such as argumentation. Agreement enact-
ment is the commitments of the agreement are effective. For example, in the
call-by-agreement interaction method [24], once the agreement for action is
establish, then the actual enactment of the action is requested. In the CNP,
the successful bidders are informed that they are now contractors for a task
together with this task specification. Agreement renegotiation is the phase
of changing the conditions of a previously negotiated agreement, because of
reasons such as environmental changes, expiration of the agreement or the
coming up of a renewal option. Agreement monitoring is the process of re-
viewing the established agreement conditions while the agreement is being
enacted. In the area of service computing, it is usually referred as Service
Level Agreement monitoring. Finally, Agreement conclusion is the process of
concluding an agreement by any party, which can be because the agreement
is not being enacted according to the negotiated terms, or because one or
more parties desires to conclude it.
– Normative context: the normative context [24] determines the rules of the
game, such as interaction patterns, norms and organization structures.
– Decision making: this dimension collects cognitive patterns followed by
the parties of the agreement. Some of the main subcategories are trust and
reputation [25], group decision [26], organizational change [24], reasoning
about the impact of the organization evolution in the current negotiated
agreements and in the agreement procedures; normative reasoning [24] for
interpreting the normative context for a specific case; agreement change,
reasoning about the improvement of the negotiated agreements as well as its
interpretation in specific situations.
61
The dimensions are interrelated, and one value in one dimension can con-
straint the values of other dimensions. For example, the topic (goods acquisition)
can restrict the valid values of normative context, being interaction (bidding,
contract-net protocol, ...) or organizational structure (electronic institution, ...).
4 Examples
This section provides examples of some of the first identified agreement patterns,
whose pattern structure follows the canonical form extended with the classifi-
cation scheme defined in section 3. The decision making process is shown in a
reasoning diagram which follows CommonKads notation [27] as illustrated in 2.
Fig. 2. Inference diagram legend
4.1 ProviderRating Pattern
Selection of the most satisfactory service providers for a specific service demand
is known as the Service Selection problem [28,29].
This pattern collects the pattern of rating available service providers in order
to select the one with highest rating. Rating-based mechanisms are simple and
effective [30], if consumers have similar preferences.
Name ProviderRating
Duration Short term (specific project)
Phase Provider Selection
Decision making Reputation, Trust
Problem Choosing a service provider, having access to other users’ rating.
Context Public rating of services.
Forces A comparison of the experience-based service-selection techniques can
be found in [31].
Solution Service provider selection is based on the rating given to service
providers using reputation [29] or trust [32] techniques.
62
Fig. 3. Provider Rating Reasoning Diagram
Examples E-Commerce [33]
Resulting context An agreement is fulfilled.
Related Patterns Portability
4.2 Portability Pattern
This pattern collect the problematic of changing of provider without service in-
terruption, which involves monitoring the current QoS and the estimation of
other Service Provider offer. When the decision of changing is taking, this pat-
tern involves the negotiation of breaking the existing contract and agree a new
contract with the new provider.
Usually, service providers try to prevent this portability, defining some cus-
tomer retention policy to improve customer loyalty.
Name Portability
Alias Service switching [34]
Problem A potentially better service offer is available and the customer wants
to break the service provision agreement with the current service provider
and to establish a new agreement with a new provider, without disruption
of the service.
Context There are several available service providers that offer a better service
conditions than the current provider.
63
Fig. 4. Portability pattern reasoning diagram
Forces This pattern is applicable when there are more than one stakeholder in
the development of the new service, and the consumer do not have strong
penalties or commitments with the current provider.
Solution Based on the QoS evaluation of the current service provider, the es-
timation of the QoS of the available service providers, and the consumer
policies and commitments, the decision to change of provider is taken, which
involves requesting portability (breaking the current agreement with the ser-
vice provider and establishing an agreement with the new provider).
Examples This pattern is frequently found in several domains. For example,
it is a common pattern in telephony customers or mobile network environ-
ments.
Resulting context The consequences of the portability can be penalties due
to commitments with the initial service provider, and the new commitment
with the new service provider.
Duration Short term (specific project)
Topic Service Provision
Phase Agreement conclusion, Provider selection, Agreement negotiation
Decision making Agreement change
Related Patterns –
Known uses Wireless networks [35], professional services [36]
The context and resulting context of this pattern can be easily formalized as
preconditions and postconditions as follows. Let be d a decisor, pc the current
64
provider, pi the available provider i, and the relation provider(decisor, provider)
used for representing that decisor has an agreement in effect with the provider.
Let be Uid the utility function of a decisor d for a provider i.
In order to be applied this pattern, the following pre and postconditions
should be fulfilled.
provider(d, c) ∧
Preconditions ¬provider(d, i) ∀i, i 6= c ∧
∃i , Uid ≥ Ucd | i 6= c
Postconditions provider(d, i) ∧ ¬provider(d, c)
4.3 Intermediary Pattern
Fig. 5. Intermediary Pattern
Name Intermediary
Alias Service Broker
Duration Short term (specific project)
Topic Service Provision
Phase Agreement Negotiation
Problem Selection of a service provider that fits the QoS requirements of the
consumer.
Context There are several available service providers that fit the functional
requirements.
Forces Some of the considerations to be taken into account if the trust of the
service consumer on the intermediary.
Solution The intermediary selects one or more providers and adapts the service
provider offer to the service consumer preferences, providing an added value.
Examples Service provider selection in wireless networks [35], tourism and fi-
nance [37],
65
Resulting context the intermediary acts on behalf of the user based on an
agreement between user and intermediary. This pattern refines the service
mediator entity defined within SOA-RM [9].
Related Patterns Portability. Portability could be a decision of the interme-
diary.
5 Conclusions and Future work
This article presents preliminary results of the research on defining a software
methodology for agreement technology. The task is challenging, since agreement
technology is an emerging area.
The research has been based on the following premises:
– Applicability. The results of agreement technologies should be applied by any
software component which requires to fulfill an agreement. In particular, we
have not restricted the applicability to the agent community.
– Simplicity. Agile methodologies have shown their potential for fitting in every
day task. In particular, design patterns and refactoring have succeed in its
adoption. The results of our approach try to be easy to adopt.
– Reuse. In order to provide technology transfer from agreement technologies
to other areas, it is needed to organize and provide facilities for the compre-
hension of the research results. Patterns provide a suitable mechanism for
this technology transfer and a principled way.
The main conclusions of our research is that agreement patterns can be a
useful concept for providing a unifying vocabulary in agreement technology, and
providing a catalogue of methods for its implementation.
In this article we have proposed a first structure and some examples of ap-
plication with some agreement patterns we have identified. Nevertheless, these
are initial results, and we are now working on a more definitive structure of the
patterns, as long as its formalization and operationalization.
Acknowledgements
This research has been partly funded by the Spanish Ministry of Science and
Innovation through the projects Ingenio Consolider2010 AT Agreement Tech-
nologies (CSD2007-0022)) and T2C2 (TIN2008-06739-C04-03/TSI) as well as
the Spanish Ministry of Industry, Tourism and Trade through the project RE-
SULTA (TSI-020301-2009-31).
We would like to express our gratitude to Sascha Ossowski and Alberto
Fernández for involving us in the project AT as well as the rest of the URJC
research group for their support within the project. We would like also to thank
the rest of research groups of AT, IIIA CSIC and UPV for their comments, and
specially to Vicente Botti and Vicente Julián for their support, motivation and
patience along the project.
66
References
1. Working Group on Future Internet Infrastructure FP7 ICT Advisory Group: Fu-
ture internet infrastructure. Technical Report version 8, FP7 ICT Advisory Group
(January 2008)
2. Sierra, C., Botti, V., Ossowski, S.: Agreement technologies. Available at
http://www.agreement-technologies.org (2008)
3. Jennings, N.R., Faratin, P., Norman, T.J., O’Brien, P., Wiegand, M.E., Voudouris,
C., Alty, J.L., Miah, T., Mamdani, E.H.: ADEPT: Managing business processes us-
ing intelligent agents. In: Proceedings of the 16th Annual Conference of the British
Computer Society Specialist Group on Expert Systems (ISIP Track), Cambridge,
UK (1996) 5–23
4. Huhns, M.N., Singh, M.P., Burstein, M., Decker, K., Durfee, E., Finin, T., Gasser,
L., Goradia, H., Jennings, N., Lakkaraju, K., Nakashima, H., Parunak, V., Rosen-
schein, J.S., Ruvinsky, A., Sukthankar, G., Swarup, S., Sycara, K., Tambe, M.,
Wagner, T., Zavala, L.: Research directions for service-oriented multiagent sys-
tems. IEEE Internet Computing 9(6) (2005) 65–70
5. Lomuscio, A.R., Wooldridge, M., Jennings, N.R.: A classification scheme for nego-
tiation in electronic commerce. Lecture Notes in Computer Science 1991 (2001)
6. Greco, G., Scarcello, F.: On the complexity of computing peer agreements for
consistent query answering in peer-to-peer data integration systems. In: CIKM
’05: Proceedings of the 14th ACM international conference on Information and
knowledge management, New York, NY, USA, ACM (2005) 36–43
7. Papazoglou, M.P.: Service -oriented computing: Concepts, characteristics and di-
rections. Web Information Systems Engineering, International Conference on 0
(2003) 3
8. Andrieux, A., Czajkowski, K., Dan, A., Keahey, K., Ludwig, H., Nakata, T.,
Pruyne, J., Rofrano, J., Tuecke, S., Xu, M.: Web services agreement specification
(WS-Agreement). Technical report, Grid Resource Allocation Agreement Protocol
(GRAAP) Working Group (2007)
9. McCabe, F.G.: Reference architecture for service oriented architecture. Technical
report, OASIS (April 2008)
10. Parashar, M., Hariri, S.: Autonomic Computing. CRC Press, Inc., Boca Raton,
FL, USA (2006)
11. Carnevale, P.: Psychology of Agreement. Psychology Press (2009)
12. Jennings, N.: Agreement technologies. Intelligent Agent Technology, IEEE / WIC
/ ACM International Conference on 0 (2005) 17
13. Schmidt, D.C.: Using design patterns to develop reusable object-oriented commu-
nication software. Communications of the ACM 38(10) (1995) 65–74
14. Rosengard, J.M., Ursu, M.F., marc Rosengard, J., Ursu, M.F.: Ontological rep-
resentations of software patterns. In: Proc. KES’04, Lecture Notes in Computer
Science, Springer Verlag (2004) 31–38
15. Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.: Pattern-
oriented software architecture: a system of patterns. John Wiley & Sons, Inc.
(1996)
16. Oluyomi, A., Karunasekera, S., Sterling, L.: A comprehensive view of agent-
oriented patterns. Autonomous Agents and Multi-Agent Systems 15(3) (2007)
337–377
17. Oluyomi, A.O.: Patterns and Protocols for Agent-Oriented Software Development.
PhD thesis, Faculty of Engineering. University of Melbourne, Australia. (Novem-
ber 01 2006)
67
18. Erl, T.: SOA Design Patterns. Prentice-Hall (2008)
19. Rotem Gal Oz, A.: SOA Patterns. Manning (2009)
20. Zdun, U., Hentrich, C., Aalst, W.M.P.V.D.: A survey of patterns for service ori-
ented architectures. Int. J. Internet Protoc. Technol. 1(3) (2006) 132–143
21. Pĕchouc̆ek, M., Mar̆ı́k, Bárta, J.: A knowledge-based approach to coalition forma-
tion. IEEE Intelligent Systems 17(3) (2002) 17–25
22. Camarinha-Matos, L.M., Afsarmanesh, H.: Collaborative networks. value creation
in a knowledge society. In: Proceedings of PROLAMAT’06, Shanghai, China (2007)
23. Smith, R.G.: The contract net protocol: High-level communication and control in
a distributed problem solver. Transactions on Computers C-29(12) (1980) 1104–
1113
24. Ossowski, S.: Coordination in multiagent systems – towards a technology of agree-
ment. In: MATES-2008. Volume 5244., Springer Verlag, Springer Verlag (2008)
2–12
25. Mui, L.: Computational Models of Trust and Reputation: Agents, Evolutionary
Games, and Social Networks. PhD thesis, MIT (2002)
26. Kersten, G.: Support for group decisions and negotiations. an overview. In Climaco,
J., ed.: Multicriteria Analysis, Springer Verlag (1997) 332–346
27. Schreiber, G., Akkermans, H., Anjewierden, A., Dehoog, R., Shadbolt, N., Van-
develde, W., Wielinga, B.: Knowledge Engineering and Management: The Com-
monKADS Methodology. The MIT Press (December 1999)
28. Maximilien, E.M., Singh, M.P.: A framework and ontology for dynamic web ser-
vices selection. IEEE Internet Computing 8(5) (2004) 84–93
29. Şensoy, M.: A Flexible Approach For Context-Aware Service Selection In Agent-
Mediated E-Commerce. PhD thesis, Boğaziçi University (2008)
30. Şensoy, M., Yolum, P.: On choosing an efficient service selection mechanism in
dynamic environments. In: Proceedings of the 9th International Workshop on
Agent-Mediated Electronic Commerce (AMEC IX), 2007. Volume 13. (2007) 105–
118
31. Şensoy, M., Yolum, P.: A comparative study of reasoning techniques for service
selection. In: Proceedings of the 5th International Workshop on Agents and Peer-
to-Peer Computing (AP2PC’06). Volume 123–134. (2006) 91–102
32. Billhardt, H., Hermoso, R., Ossowski, S., Centeno, R.: Trust-based service provider
selection in open environments. In: SAC ’07: Proceedings of the 2007 ACM sym-
posium on Applied computing, New York, NY, USA, ACM (2007) 1375–1380
33. Sierra, C., Faratin, P., Jennings, N.R.: A service-oriented negotiation model be-
tween autonomous agents, Springer-Verlag (1997) 17–35
34. Keaveney, S.: Customer switching behaviour in service industries: an exploratory
study. Journal of Marketing 59 (1995) 71–82
35. Lee, E.G., Lee, G., Faratin, P., Bauer, S., Wroclawski, J.: Automatic service se-
lection in dynamic wireless network. Technical report, First ACM International
Workshop WMASH’03 (2003)
36. Kugyté, R., Sliburyte, L.: A standardized model of service provider selection cri-
teria for different service types: a consumer oriented approach. Engineering Eco-
nomics. Commerce of Engineering Decisions 43(3) (2005) 56–63
37. Yu, C.C.: A web-based consumer-oriented intelligent decision support system for
personalized e-services. In: ICEC ’04: Proceedings of the 6th international confer-
ence on Electronic commerce, New York, NY, USA, ACM (2004) 429–437
68