{'fraction_non_alphanumeric': 0.026672060069018694, 'fraction_numerical': 0.0031981190509297298, 'mean_word_length': 5.068579318809451, 'pattern_counts': {'":': 0, '<': 8, '<?xml version=': 0, '>': 10, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 33, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
A Formalization of Social Requirements for Human Interactions with Service Protocols

Collaboration models and tools aim at improving the efficiency and effectiveness of human interactions. Although social relations among collaborators have been identified as having a strong influence on collaboration, they are still insufficiently taken into account in current collaboration models and tools. In this paper, the concept of service protocols is proposed as a model for human interactions supporting social requirements, i.e., sets of constraints on the relations among interacting humans. Service protocols have been proposed as an answer to the need for models for human interactions in which not only the potential sequences of activities are specified-as in process models-but also the constraints on the relations among collaborators. Service protocols are based on two main ideas: first, service protocols are rooted in the service-oriented architecture (SOA): each service protocol contains a service-oriented summary which provides a representation of the activities of an associated process model in SOA terms. Second, a class-based graph-referred to as a service network schema-restricts the set of potential service elements that may participate in the service protocol by defining constraints on nodes and constraints on arcs, i.e., social requirements. Another major contribution to the modelling of human interactions is a unified approach organized around the concept of service, understood in a broad sense with services being not only Web services, but also provided by humans.


Introduction
An important goal of many information systems is to support human interactions. The spectrum of information systems focusing on human interactions is very broad, from critical systems such as air traffic control systems, to most modern video games, such as World of Warcraft. Among enterprise information systems, both enterprise resource planning (ERP) and customer relationship management (CRM) management systems aim at supporting human interactions.
The development of service-oriented architecture (SOA) and business process management (BPM) has lead to a new approach to the design and implementation of information systems. In this approach, information systems are designed and implemented around the concept of decoupled and orchestrated processing entities, referred to as services.
Currently, SOA is mainly applied at the infrastructure level, with most development efforts related to the implementation of SOA with Web services and WS-* standards. Business Process Modelling in the context of SOA leads to the orchestration of Web services for which two standards are prevalent: WS-BPEL [3] for Web services orchestration, and BPMN [20] for more business-oriented and higher-level models.
The importance of human interactions in the context of SOA and BPM has been lately recognized. Emerging standards, such as WS-BPEL Extension for People (usually shortened to BPEL4People) [2] and WS-HumanTask [4], aim at providing better support for activities performed by humans in the BPEL framework. However, these two standards do not recentre BPEL around human-to-human interactions but rather propose a formal definition of human activities and potential inclusion of these tasks within a BPEL process. As a consequence, information systems developed in the SOA paradigm are usually supporting human interactions in a limited and insufficient manner.
The main reason for the poor computer support for human interactions in the context of SOA and BPM is the difficulty to model social elements involved in the interactions among humans. An attempt to encompass social elements involved in the interactions among humans is the introduction of the concept of a role. A role usually defines the right to perform a limited set of activities within a given process. Depending on one's social position or competences, various roles may be attributed. Another approach, popular in social networking websites such as Facebook [9] or LinkedIn [16], consists in linking individuals and organizations with a set of predefined types of relations, such as "Friend" or "Connections".
Neither roles nor predefined types of relations reflect the complexity of social elements that play an important role in the interactions among humans. Some examples of such social elements are positions within a given hierarchical structure of an organization, trust relations, past cooperation, and recommendations among humans.
Although many information systems support human interactions, they do not encompass social elements. As a consequence, there is a mismatch between the support for human interactions provided by the information systems and the social elements, part of the social norm that is ruling the interactions among the humans using the information system. Among various manifestations of this mismatch, social networking websites are often violating rules defined in the social norm, leading to legal and ethical issues. An example is the possibility on Facebook to publish a photography about a person without the consent of this person: such a situation is usually condemned by social norms as a privacy violation, except in the case when the allowed viewers of the photography are friends or close family. Facebook support for human interactions could be improved by taking into consideration the re-lations between the photographed person and the viewers, i.e., social aspects, allowing only friends and close family to access the photography.
Therefore, there is a need for novel models of human interactions, especially models encompassing social elements, to develop information systems supporting human interactions in a more efficient and effective manner. The concepts of service and process model that underlies SOA and BPM should be extended to encompass social aspects and their influence on the human interactions.
In this paper, a formalization of social requirements for human interactions is proposed as a novel model of human interactions supporting social aspects is proposed. Social requirements are defined as sets of constraints on relations among interacting actors. In the presented model, referred to as service protocols, a process model defining actors and their potential sequences of activities is extended by a set of constraints concerning both the actors and their relations. As an example, while a model for the process of house building defines potential activities for the architect, for the building company, and for a gardener, a service protocol may ensure that the architect and the building company have a long cooperation history and that the building company and the gardener have the same suppliers.
The rest of this paper is organized as follows. First, a rationale for service protocols is presented in Section 2. In Section 3, related work is presented. Next, some basic notions related to classes, graphs, processes, and services are presented. Then, a formal model of service protocols is presented in Section 5. Potential applications of service protocols are proposed in Section 6. A discussion of service protocols is presented in Section 7. Finally, Section 8 concludes this paper.

Rationale for Service Protocols
In this section, the rationale for service protocol is presented. First, a running illustrative example grounded in the construction sector is introduced. Next, based on the running example, a set of key issues is identified. Then, the goals of service protocols are presented. Finally, a list of requirements for service protocols is proposed.

An Illustrative Example
To introduce the main key issues that service protocols aim at addressing, a running example grounded in the construction sector is presented in this section. For the sake of readability of this paper, the presented example is much simpler than real cases.
Let assume that a real-estate developer company, named DevHouse, is planning its next investment. Ðcurrently owns a field in which an old abandoned oil refinery is standing in ruins. Ðplans to build a supermarket in this field. Ðis an experienced real-estate developer with 24 investments.
First, Ðshould obtain a loan from a bank to finance the investment. To ease the whole procedure, Ðwants to focus on banks with which it has already collaborated. Therefore, Ðplans to negotiate a loan with banks at which it currently has an account, and from which it has got former loans. However, Ðwould like to avoid a next loan at a bank from which it already has a current loan. Finally, banks proposing interest rates higher than 5.5% for a 3-year loan should be rejected. A potential candidate for a bank financing Ð's project is MoniBank. MoniBank is a commercial bank with about 235.500 clients, offering a 3% interest rate for 3-year loans. Ðhas an account and no current loan at MoniBank.
Second, Ðneeds an architect to develop the construction plans. A major requirement concerning the architect concerns past and current collaboration. As the supermarket is a strategically important investment for Ð, the architect should have at least five former projects performed for Ð, but less than two projects currently performed. A potential candidate for the architect is a Canadian architect, named Archibald Tex, responsible for 17 investments. Archibald Tex collaborates with Ðon 3 current projects, following a collaboration on 15 past projects.
Third, Ðneeds the field to be cleaned. The developer does not want to be in charge of the supervision of the clearance process. The architect should be responsible for identifying a site preparation company, which will supervise the preparation tasks, i.e., demolition and rubble removal. The two companies that will perform the preparation tasks, i.e., a demolition company and a debris hauling company, should be known and trusted by the architect. Additionally they should be able to efficiently collaborate.
The remaining tasks required to build a supermarket, e.g., foundation construction, masonry, carpentry, are not taken into account in this paper.

Key Issues
Although a classical case in the construction sector is described in the formerly presented illustrative example, a set of issues related to this case are still to be addressed.

Multiple Service Consumers
In a traditional orchestration approach, various service providers are provisioning the service interfaces that, assembled together, form a process. As an example, a BPEL process model usually relies on various service providers, but only one service consumer exists: the BPEL engine that is executing the process instance.
In the formerly presented illustrative example, as well as in many cases of collaboration among companies, a process consists not only of various service providers, but also various service consumers. In the example, a first service consumer is Ð, the real-estate developer, that is seeking for financing from banks. Next, a second service consumer is the architect that needs a site preparation company to supervise the cleaning of the field. Finally, the site preparation company itself is a service consumer when it consumes the demolition and rubble removal services provided by the demolition company and the debris hauling company.
Not only multiple service providers, but also multiple service consumers should therefore be encompassed in models for collaboration. As a consequence, collaboration could be modelled as a set of collaborators-the service consumers-performing activities provided by actors-the service providers.

Constraints on Actors
In a traditional BPM approach, process models define constraints on the potential sequences of tasks and the concept of role is used to limit the execution of a given task to individuals with the appropriate rights. In short, a process model defines who may do what, and when. However, it should be noted that the "who" part, i.e., the role definition, is usually limited to a label associated with a set of tasks that may be performed. A process role defines a set of rights.
In the formerly presented illustrative example, a process model may define that each individual playing the Real-estate Developer role may perform the negotiate a loan task. A real-estate developer may negotiate a loan if financing is needed. However, if the investment may be fully financed by the real-estate developer, a loan (and the associated negotiations to obtain it) may be avoided. Another type of constraints may be identified: some tasks may be performed only by actors with appropriate characteristics. Although process roles define rights, constraints on actors define obligations. The obligations associated with a given actor may be considered as a definition of the "who" part formerly mentioned.
In the formerly presented illustrative example, a constraint on an actor being a Real-estate Developer may state that her number of investments has to be greater than ten. Any real-estate developer with a lesser number of investments should not be allowed to participate in the formerly presented process. Similarly, banks proposing interest rates higher than 5.5% for a 3-year loan should be rejected. Although constraints on actors are often concerning their competences to perform a given task 1 , constraints on actors may concern a multitude of aspects of actors, e.g, their physical traits 2 or their place of living 3 .

Relational Constraints
A second type of constraints may be identified: relational constraints. Some tasks may be performed only by actors with appropriate relations with other actors. Similarly to constraints on actors, relational constraints define obligations. However, while the constraints on actors focus on the essential characteristics of an actor, i.e., the characteristics of the actor in isolation, the obligations defined by relational constraints focus on the environment of the actor and her social place in this environment.
In the formerly presented illustrative example, the choice of the architect is limited by relational constraints: the architect should have at least five former projects performed for Ð, but less than two projects currently performed. Similarly, the choice of the bank is limited by relational constraints: Ðis interested only in banks at which it has a bank account, former loans should have been obtained from the bank by Ð, and currently Ðshould not have any loan from the bank. 1 As an example, architects usually have to complete an appropriate examination to be licensed, such as the Architect Registration Examination (ARE) for Canadian architects. 2 In a soccer team, the goalkeeper should rather be tall. 3 In election-related processes, the place of voting is usually related to the place of living.

Goals of Service Protocols
First, service protocols aim at providing a model for service-based collaboration encompassing the multiplicity of service consumers. Traditional process models, e.g., BPEL, are usually based on the assumption that, although the responsibility for activity execution is spread among actors, only one actor-usually the process engine-is responsible for activity invocations. In SOA terms, traditional process models assume a single service consumer and various service providers. In many collaboration processes, e.g., the formerly presented illustrative example, various service consumers are collaborating. Service protocols tackle the problem of collaboration processes in which the responsibility for activity invocations is spread among various actors, i.e., various service consumers.
The second goal of service protocols is to support the definition of constraints on actors, both service providers and service consumers. In traditional process models, actors are usually related to roles. A role provides actors that play it with the right to perform a set of activities in given states of the collaboration process. Constraints on actors are a means to define the obligations that an actor has to fulfil to participate in the collaboration process.
The third goal of service protocols is to support the definition of relational constraints between actors. Although the importance of social aspects in collaboration processes has been largely studied [7], traditional process models still lack support for relational constraints. Service protocols provide support not only for constraints on actors, but also for the constraints concerning the relations between them. As a consequence, although traditional process models focus on possible sequences of activities associated with a set of roles, service protocols extend traditional process models by providing means to define constraints concerning the group of actors that may execute a given process model.

Requirements for Service Protocols
Based on the set of requirements presented in [23], the following requirements for service protocols supporting human interactions in SOA may be articulated: 1. reusability: a given service protocol should be reusable to rule the interactions within various groups of collaborators; A service protocol aims at modelling a set of collaboration processes, in the same way as a class models a set of objects in object-oriented programming. In other words, a service protocol may be seen as a model whose instances are collaboration processes; 2. separation of activities implementation from service protocols: a service protocol should model potential interactions among collaborators, however the interactions should be decoupled from implementation of the activities performed by collaborators. As a consequence, activities of a given service protocol may be implemented in various ways, using various technologies, or various locations/hosts; 3. strong mathematical foundations: service protocols model complex cases of potential interactions among humans. Therefore, strong mathematical foun-dations are required as a mean to check properties such as structural validity, reachability, liveness and boundedness of the proposed models; 4. support for social aspects in collaboration: human interactions are strongly related to social aspects. Social aspects may limit the choice of collaborators, impose some relations among interacting humans. Most process modelling languages and notations do not provide designers of process models with means to explicitly capture social requirements concerning collaborators in the process model. Computer support for human interactions should treat social requirements, i.e., constraints on the relations among actors of human interactions, as an integral part of the model of human interactions.
With regard to [23], although the three first requirements have just been adapted to service protocols and the SOA context, the fourth requirement has been added to stress the importance of social requirements expressed as constraints on the relations among actors of human interactions.

Business Process Modeling in SOA
In the BPM literature, information required to model and control a process has been classified according to various perspectives. In [31], five perspectives have been presented: • the functional perspective focuses on activities to be performed, • the process perspective focuses on the execution conditions for activities, • the organization perspective focuses on the organizational structure of the population that may potentially execute activities, • the information perspective focuses on data flow among tasks, • the operation perspective focuses on elementary operations performed by applications and resources.
The introduction of BPEL4People and WS-HumanTask may be considered as an attempt to address the organization perspective. However, the proposed solution is rather an attempt to integrate human interaction in business processes composed by Web services. BPEL4People and WS-HumanTask do not address various key aspects of human interactions: Mendling et al. have identified a set of limitations of BPEL4People concerning the important issue of separation of duty in human interaction [18]. Similarly, Russell and van der Aalst have shown the boundaries of the expressiveness of BPEL4People and WS-HumanTask, detailing a set of workflow resource patterns that the two standards do not implement [27].
Holmes et al. have remarked that BPEL4People and WS-HumanTask are the result of rapid changes in technologies associated with SOA [14]. As a consequence, they propose a model-driven approach to business processes, including basic support for human interactions. The proposed model-driven approach is based on simple assumptions about human interactions, especially concerning roles. However, social requirements are missing in the presented model.

Computer Support for Human Interactions
Computer support for human interactions has been the subject of research in various research communities, from computer support for collaborative work (CSCW) and workflow management systems to BPM and adaptive case management (ACM).
CSCW and workflow management systems focus mainly on the handling of documents in a processing chain to which various persons are participating. CSCW and workflow management systems are adopting a document-routing approach in which social aspects are not addressed. These systems have been studied and developed mainly in the 1990's, with a major result being the publication in 1995 of the Workflow Reference Model [13] by the Workflow Management Coalition (WfMC).
In a workflow approach, it is assumed that a process may be designed and implemented once and for all. Most workflow management system were based on this disputable assumption. Next, business process management techniques have been developed to support changing process models. A direct consequence of this shift from workflows to business processes is the later development of SOA based on Web services and appropriate languages to model business processes, e.g., BPEL and BPMN.
Swenson has shown that, although BPM focuses on predicable processes, a large number of processes are by nature unpredictable [28]. He coined the term Case Management (ACM) that refers to a new approach to support knowledge work, i.e., work which is not repeated, unpredictable, emergent and robust in the face of variable conditions. As an example, the work of a fire rescue crew member is usually not repeated as each fire is different, is unpredictable as the situation on the fireplace may hardly be foreseen, is emergent as the immediate work of the crew member is determined by recently discovered knowledge about the fire situation, and robust in the face of variable conditions as the fire rescue crew member should be reliable and perform efficiently whatever the fire situation found.
In ACM, a fundamental idea is that a process may not be modelled a priori (as in BPM), but the design of a process model should be performed at run-time, while the human interactions are ruled by the process model. A similar idea has been largely studied by Harrison-Broninski [11]. Harrison-Broninski has identified that many human interactions are based on flexible, innovative, collaborative human activity. As a consequence, Harisson-Broninski has proposed to define a new class of systems, Human Interaction Management Systems (HIMS), which would support flexibility, innovation and collaboration in human interactions. Although social relations are mentioned a few times in [11] as a potential information that may be relevant for flexibility and innovation, the weakest point of both Swenson's and Harrison-Broninski's works remains the lack of clearly articulated solutions to the very well presented set of issues.
Finally, the concept of Social BPM has been recently proposed and is the subject of various research efforts, with associated events such as the 3 rd Workshop on Business Process Management and Social Software [6] at the 8 th International Conference on Business Process Management (BPM2010). However, among various definitions of Social BPM [12,26], a consensus seems to appear around the idea that Social BPM is about the use of social media and Web 2.0 approach to the design of process model. Therefore, in the Social BPM approach, wikis and blogs may be used to co-author a process model, allowing collaborators to design in a collaborative manner the model for the process within which they are collaborating. In any case, the concept of social requirements as part of the process model is associated with Social BPM.

Social Requirements
A preliminary remark concerning social requirements is that, although the term is widely used, it is usually not defined. As an example, social requirements are directly mentioned in [1] without the provision of a definition.
A definition of social requirements may be found in [29], where social requirements and social network analysis are associated as follows: "Social Network Analysis may be used to examine a given network by evaluating some of its properties. Social requirements may be considered as the reverse approach: social requirements may be used to define some properties of a network and their associated expected values, that may then be used to check if an existing network satisfies these social requirements." A definition of the relation between social requirements and process model is however still missing, as well as a formal definition of social requirements.

Background
In this section, the concepts related to object-oriented graphs are defined. Next, the main concepts related to processes and services in the SOA approach are defined. These notions are fundamental for a good understanding of the concept of a service protocol presented in Section 5.

Object-oriented Graphs
We define two kinds of object-oriented graphs: object-based graphs and classbased graphs.

Object-based Graphs
An object is a set of properties o = {p}. A property p is a pair ⟨n, v n ⟩, where n is the name of the property and v n is the value of the property. The value of a property may be a literal or an object.
In Figure 1, the external rectangle represents the object Archibald Tex, while each inner rounded rectangle represents a property of this object.

Definition 1 (Object-based Graph ) An object-based graph g = ⟨N , ⃗
A⟩ is a graph whose nodes n ∈ N are objects, and arcs connecting nodes ⃗ a ∈ ⃗ A consist of a source object, a destination object, and an object describing the arc itself.
To illustrate the concept of a object-based graph, consider a second object defining a real-estate developer DevHouse by the following set of properties: • ⟨ name, DevHouse ⟩, • ⟨ profession, {Real-estate Developer} ⟩, and • ⟨ #investments, 24 ⟩.
A simple object-based graph-illustrated in Figure 2-may consist of the Archibald Tex, DevHouse, and MoniBank nodes. Nodes Archibald Tex and Dev-House are connected by an arc modelling the Collaboration between the architect and the real-estate developer defined as: • ⟨ #currentProjects, 3 ⟩, and The second arc-DeveloperBank-connects DevHouse and MoniBank.
In Figure 2, the three nodes Archibald Tex, DevHouse, and MoniBank, are represented by rectangles, while the arcs between them are represented by arrows.
Objects describing the arcs, i.e., Collaboration and DeveloperBank, are represented by rectangles stuck to the arrows. The properties of both the nodes and the objects describing the arcs are represented by inner rounded rectangles. 4 The symbol # should be understood as "number of". Therefore, "#realizations" should be understood as the number of realizations.

Class-based Graphs
A class is a set of property constraints c = {p α }. A property constraint p α is a pair ⟨n,ϑ n ⟩, where n is the name of the properties that p α may constrain, and ϑ n is a predicate.
As an example, consider a class Experienced Architect α , defined by the following set of property constraints: The class Experienced Architect α is illustrated in Figure 3. The external rectangle represents the class Experienced Architect α , while each inner rounded rectangle represents a property constraint of this class. Note the use of the 'α' Greek letter to mark class-related entities. Definition 2 (Class-based Graph) A class-based graph g α = ⟨N α , ⃗ A α ⟩ is a graph whose nodes are classes, and arcs connecting nodes consist of a source class, a destination class, and a class describing the arc itself.
To illustrate the concept of a class-based graph, consider a second class defining an Experienced Developer α by the following set of properties: • ⟨ profession, ⊃ {Real-estate Developer} ⟩, and • ⟨ #investments, >10 ⟩.
A simple class-based graph-illustrated in Figure 4-may consist of the Experienced Architect α , Experienced Developer α and Bank α nodes. The nodes Experienced Architect α and Experienced Developer α are connected by an arc associated with the class Collaboration α defined by the following set of properties: • ⟨ #currentProjects, >2 ⟩, and The second arc-DeveloperBank α -connects Experienced Developer α and Bank α . In Figure 4, the three nodes Experienced Architect α , Experienced Developer α and Bank α , are represented by rectangles, while the arcs between them are represented by arrows. Classes describing the arcs, i.e., Collaboration α and DeveloperBank α , are represented by rectangles stuck to the arrows. The properties of both the nodes and the classes describing the arcs are represented by inner rounded rectangles. Note once again the use of the 'α' Greek letter to mark classrelated entities.
An object o = p = ⟨n, v n ⟩ is an instance of a class c = p α = ⟨n,ϑ n ⟩ , denoted o ⊏ c, iff all the property constraints of the class c are satisfied by the properties of the object o. A property p = ⟨n, v n ⟩ satisfies a property constraint p α = ⟨n ′ , ϑ n ′ ⟩, denoted p ≻ p α , iff the name of the property and the property constraint are identical, i.e., n = n ′ , and the predicate is true for the value of the property, i.e., ϑ n ′ (v n ) = true.
The object Archibald Tex is an instance of the class Experienced Architect α because all the property constraints of the class are satisfied: Archibald Tex is an architect and his number of realizations, i.e., 17, is higher than the required number, i.e., 15. Note that additional properties, e.g., the nationality, are not relevant for the class Experienced Architect α .
The object Archibald Tex is not an instance of the Experienced Developer α class for two reasons. First, the profession property constraint of Experienced Developer α is not satisfied by ⟨profession, Architect⟩. Second, no property named #investments is even defined for Archibald Tex.

Processes
A process is a set of activities which realize a business objective or a policy goal in a structured manner. A process instance is a single enactment of a process.
An activity is a "piece of work that forms one logical step within a process" [32]. An activity may be automated work performed by information systems, e.g., creating invoices by a Web service , or work performed by humans, e.g., making a decision by a senior executive.
A state is a "representation of the internal conditions defining the status of a process instance at a particular point in time" [32]. In its simplest form, a state may be reduced to a label, e.g., item produced.

Definition 3 (Process Model)
A process model π α is a triplet ⟨S, A, χ⟩, where S is a set of states, A is a set of activity descriptions, and χ is a relation χ ∶ A × S.
The χ relation captures the possibility to execute a given activity in a given state: the activity described by a ∈ A may be executed in the state s ∈ S iff aχs.

Services
An actor is an entity (human or non-human) or organization of entities that is capable of action.
A need is a measurable requirement that an actor is actively seeking to satisfy. A capability is an ability to achieve an effect.

Definition 4 (Service)
A service is an access to a capability of an actor, called a service provider, to satisfy a need of a second actor, called a service consumer, where the access is provided via a prescribed interface [17,8].
A service interface is the means for consuming a service. It is admitted that an actor may provide a service to itself.

Formal Model of Service Protocols
In this section, a formal model of service protocols is presented. First, the main elements of service protocols are introduced in an informal overview. Next, serviceoriented summaries, service network schemata, and service protocols are formally defined.

Overview
Besides a process model defining the sequences of activities that may be performed during a collaboration process, a service protocol contains additionally two elements: a service-oriented summary and a service network schema.
A service-oriented summary provides a representation of the activities of an associated process model in SOA terms. The goal of the service-oriented summary of a service protocol is to represent activities of the process model as services, with each service consisting of a service consumer, a service interface, and a service provider. A service-oriented summary provides an abstraction of the activities as services independently of the language used to model the process, e.g., BPEL or BPMN, focusing on the links between service consumers, providers, and interfaces.
A service network schema is a class-based graph that restricts the set of potential service elements, i.e., service consumers, interfaces, and providers, that may participate in the service protocol by defining constraints on nodes and constraints on arcs, i.e., social requirements. The goal of the service network schema of a service protocol is to define the set of collaborators that is required to execute the associated process instance.
As regards requirements for service protocols articulated in section 2.4, serviceoriented summaries address partially the second requirement-separation of activities implementation from service protocols-by providing a means to describe activities in an abstract manner, independently of the underlying process model language. Service network schema addresses the fourth requirement-support for social aspects in collaboration-as a means to capture social requirements concerning the collaborators. The third requirement-strong mathematical foundations-is tackled by the formal model of service protocols presented below.
The first -reusability-and the second requirement-separation of activities implementation from service protocols-are addressed by providing four layers for service protocols: abstract, prototype, executable service protocols, and service protocol instances. An abstract service protocol does not provide any information concerning the implementation of the services. A prototype service protocol provides a partial implementation of the services defined in its service-oriented summary. An executable service protocol provides a complete implementation of the services defined in its service-oriented summary and may be instantiated.
The implementation of services encompasses implementations of service providers, service interfaces, and service consumers. In the proposed approach, it is assumed that a service network is available as the source of service implementation used to build and instantiate executable service protocol. A service network is a network whose nodes are service providers, service interfaces, and service consumers.

Service-Oriented Summaries of a Process Model
In service protocols, the set of activities and states associated with a given type of human interactions are defined in a process model. No assumption is made on the chosen process modelling language or representation.
The idea underlying service-oriented summaries is to provide a common representation of activities in a process model, independently of the chosen process modelling language or representation, in terms of service consumers, service interfaces, and service providers.
In a service-oriented summary of a given process, all the activities that may potentially be performed during the execution of this process are represented by triplets defining the "who" (the service consumer), "what" (the service interface), and "whose" (the service provider) part of the activity. These triplets are referred to as service descriptions.

Definition 5 (Service Description)
where sc α is a class of service consumers, si α is a class of service interfaces, and sp α is a class of service providers.
A class of service consumers may for instance be the Experienced Architect α class defined in the illustrative example from Section 2.1. Following on this example, a class of service interfaces may define access to printing services with constraints such as ⟨CAD plotting support, ⊃ {bond, vellum}⟩, ⟨payment means, ⊃ {bank transfer, credit card}⟩. Similarly, a class of service providers may define construction printing companies with constraints concerning the industry sector, the geographical location, etc.
Based on the definition of service description, a service-oriented summary of a process model may be defined as follows.

Definition 6 (Service-Oriented Summary of a Process Model)
A service-oriented summary π α sos is a triplet ⟨π α , S α d , ρ⟩, where π α is a process model, S α d is a set of service descriptions, and ρ ∶ A → S α d is a function mapping activity descriptions in π α to service descriptions in a bijective manner, i.e., ∀s α d ∈ S α d , ∃!a ∈ A, such that ρ(a) = s α d .
Note that the only constraint on the process modelling language is the possibility to associate service descriptions with the activities to be performed in the associated process model. As a consequence, various process modelling languages, e.g., BPEL, BPMN, may be used to model processes further summarized by service-oriented summaries.
The concept of service-oriented summary of a process model is illustrated in Figure 5, in which three service descriptions are represented as rectangles on the left side. Each service description contains a class of service consumers, represented by a rounded rectangle labelled sc{i}, a class of service interfaces, represented by a rounded rectangle labelled si{i}, and a class of service providers, represented by a rounded rectangle labelled sp{i}, where i ∈ 1, 2, 3. Next, three dashed arrows are connecting service descriptions with the activities of the process model represented by rounded rectangles labelled a1, a2, and a3. These three arrows visualize the mapping function ρ. Besides the activities, the process model of the serviceoriented summary contains a set of states, represented on the right side of Figure 5. The dashed arrows between the activities and the states represent the χ relation that captures the possibility to execute a given activity in a given state.

Service Network Schemata
Service networks aim at capturing properties and relations among service entities, i.e., service consumers, service interfaces, and service providers. Service network schemata aim at capturing classes of service entities and their relations. Using an analogy with concepts from object-oriented programming, service network schemata may be considered as classes defining some "templates", while service networks may be considered as objects, each service networks consisting of its own "state" being its set of service entities.

Service Networks and Schemata
Definition 7 (Service Network) A service network is a network of service entities. A service entity is an actor or a service interface.
A service network may be represented by an object-based graph, in which service entities are represented by object-based nodes and links by object-based arcs.
To emphasize service orientation, the graph-related terms "object-based nodes" and "object-based arcs" are further replaced by their service network-related terms, i.e., "service entities" and "links between service entities", respectively.

Definition 8 (Service Network Schema)
A service network schema is a network in which entities are classes of service entities, and links are classes of links between service entities.
A service network schema may be represented by a class-based graph, in which classes of service entities are represented by class-based nodes and classes of links between service entities by class-based arcs.
To emphasize service orientation, the graph-related terms "class-based nodes" and "class-based arcs" are further replaced by their service network-related terms, i.e., "classes of service entities" and "classes of links between service entities", respectively.

Memberships
Compliance of a service network with a service network schema has a global character, although it is based on the local concept of membership. Membership refers to a particular type of relations that may exists between objects and classes in a service network and a service network schema.
Although various types of membership may be defined in service networks and service network schemata, class relational membership and link class full membership have to be defined for a further definition of compliance. Formally,

Definition 9 (Class Relational Membership)
In the example presented in Figure 2 and 4, the service entity DevHouse is a relational member of the class Experienced Developer α .
First, DevHouse is a member of the class Experienced Developer α . Second, there is only one class of links starting from the class of entities Experienced Developer α : DeveloperBank α . All the constraints-hasAccount and #currentLoans-defined in the class associated with the DeveloperBank α class of links are satisfied by the object associated with the link DeveloperBank.
Third, there is only one class of links leading to the class of entities Experienced Developer α : Collaboration α . All the constraints-#currentProjects and #pastProjects-defined in the class associated with the Collaboration α class of links are satisfied by the object associated with the link Collaboration.
Note that the class relational membership of a given service entity e to a class of service entities e α is established on the basis of (1) the properties and property constraints of e and e α , and (2) the properties and property constraints of the links and classes of links starting and leading from/to e and e α . Therefore the service entity Archibald Tex (respectively MoniBank) not being a instance of the class of service entities Experienced Architect α (respectively Bank α ) is irrelevant for class relational membership of DevHouse.

Definition 10 (Link Class Full Membership)
A link l = ⟨e src , e dst , o⟩ is a full member of the class of links l α = ⟨e α src , e α dst , c⟩, denoted l • ⊂ • l α , iff the source and destination service entities are instances of their respective classes of service entities, and the object associated with the link is an instance of the class associated with the class of links, i.e., In the example presented in Figure 2 and 4, the link DeveloperBank is a full member of the class of links DeveloperBank α . First, DevHouse is an instance of the Experienced Developer α class. Second, MoniBank is an instance of Bank α class. Third, all the constraints-hasAccount and #currentLoansdefined in the class associated with the DeveloperBank α class of links are satisfied by the object associated with the link DeveloperBank.
Only class relational membership and link class full membership are defined in this paper, as the definition of other types of membership is out of the scope of this paper.

Compliance with Service Network Schemata
Based on the membership relations defined above, the concept of compliance with a service network schema may be defined. A service network is compliant with a service network schema if the constraints on the service entities and the social requirements among them, defined in a service network schema, are satisfied by a given service network. As presented formally below, various levels of compliance may be distinguished.

Definition 11 (Compliance Relation)
Consider a service network schema σ α = ⟨E α , L α ⟩ and a service network σ = ⟨E , L⟩. A compliance relation on σ × σ α is a relation such that First, the compliance of a service entity e with a class of service entities e α implies that that the service entity e is a relational member of the class of service entities e α (cf. Eq. 1). Second, for each class of links l α between two classes of service entities e α src and e α dst , for each service entities e src and e dst being members of e α src and e α dst , respectively, there exists a link between e src and e dst that is a full member of l (cf. Eq. 2). Third, for each class of service entities, at least one service entity is compliant with the class (cf. Eq. 3).

Definition 13 (Partial Compliance Relation) Consider a service network schema
σ α =< E α , L α > and a service network σ =< E , L >. A partial compliance relation ⊣ on σ × σ α is a relation that satisfies only the conditions of equations 1 and 2, the third condition being relaxed.
Consider the service network schema presented in Figure 6 to illustrate the concepts of partial compliance. This service network schema is an extension of the service network schema formerly presented in Figure 4, with an additional class of service entities Site Preparation α and an additional class of links Recommend α .
The compliance relation ⊣ applies to the following pairs of service entities and classes: • Archibald Tex ⊣ Experienced Architect α , • DevHouse ⊣ Experienced Developer α , and Additionally, for each class of links between two classes of service entities among Experienced Architect α , Experienced Developer α , and Bank α , there is a full member link between two service entities that are instances of the given classes. For example, the link Collaboration is a full member of the class of links Collaboration α . As a consequence, both equations 1 and 2 are satisfied by the relation ⊣. Figure 6: A service network schema with which the service network defined in Figure 2 is partially compliant However, equation 3 is not satisfied, as no service entity of the service network presented in Figure 2 is an instance of the class of service entities Site Preparation α . As a conclusion, the relation ⊣ formerly defined is a partial compliance relation, and therefore, the considered service network is partially compliant with the service network schema presented in Figure 6.

Service Protocols
The concept of service protocol may be defined at four levels: • at the abstract level, a service-oriented summary provides a service-oriented representation of a process model, a service network schema provides constraints on service entities and social requirements, and additionally both the service-oriented summary and the service network schema are linked to associated service descriptions (from the service-oriented summary) with classes of service entities (from the service network schema); • at the prototype level, a service network is associated with both the serviceoriented summary and the service network schema. At the prototype level, the service network provides only a partial implementation of an abstract service protocol, as some elements of the service-oriented summary and some classes of service entities of the schema may not be associated with any service entity of the service network; • at the executable level, the service network associated with both the serviceoriented summary and the service network schema provides a complete implementation of an abstract service protocol: all the elements of the serviceoriented summary and all the classes of service entities of the schema are associated with service entities of the service network; • at the instance level, an executable service protocol is enacted. At the instance level, service entities defined at the executable level are consuming and providing services modifying the state of the process model.
This four-level approach to human interactions answers directly the two first requirements presented in Section 2.4, i.e., reusability and separation of activities implementation from service protocols.

Definition 15 (Abstract Service Protocol) An abstract service protocol Υ α is a triplet
sos is a service-oriented summary of a process model π α , σ α =< E α , L α > is a graph representing a service network schema, and α Λ is a mapping relation between the service-oriented summary and the service network schema 5 .
The mapping relation service descriptions-service consumer, service description and service provider classes-with classes of service entities of the service network schema.
Λ e α means that the element of a service description s⋆ α -sc α , si α , or sp α -is associated with the class of service entities e α of the service network schema.
An example of an abstract service protocol is illustrated in Figure 7. The serviceoriented summary of the abstract service protocol is represented at the top of the Figure. The service network schema is represented at the bottom of the Figure. The representation of the service network schema has been simplified to a graph representation for the sake of readability. A set of dashed arrows associates the elements of service descriptions of the service-oriented summary with the nodes of the service network schema represented by rounded rectangles labelled v{i}, where i ∈ [1,9]. This set of arrows represents the mapping relation α Λ between the service-oriented summary and the service network schema. Therefore, the service consumer sc1 is associated with the class of service entities v6 of the service network schema.
Additionally, the following relations among elements of service descriptions are defined: 1. sc <consumes, = true> si, 2. sp <provides, = true> si, 3. si <isConsumedBy, = true> sc, Although implicit in service descriptions, these relations are not explicitly defined in the service network schema. However, the provides and isProvidedBy relations should be encompassed in service network schemata because these relations define social constraints on service interfaces and their providers. The extension of an existing service network schema to relations implicitly defined in service descriptions is an implicit service network schema.

Definition 16 (Implicit Service Network Schema)
The implicit service network schema σ α,+ =< E α,+ , L α,+ > of an abstract service protocol is a supergraph of the service network schema σ α =< E α , L α , >, i.e., σ α,+ ⊃ σ α , such that E α,+ = E α and L α, Λ is defined as follows: The implicit service network schema for the service network schema and the mapping function presented above is illustrated in Figure 8. On the top of the Figure, a simplified representation of a service-oriented summary is provided: only the service descriptions are represented. On the bottom of the figure, the service network schema already presented in Figure 7 is represented, together with the links related with relations between the elements of service descriptions. Solid arrows between nodes represent consumes links. Dot-dashed arrows between nodes represent isConsumedBy links. Dashed arrows between nodes represent isProvidedBy links. Dot arrows between nodes represent provides links. The implicit service network schema is the service network schema formerly presented in Figure 7 extended by all the links presented in Figure 8.

Definition 17 (Prototype Service Protocol)
where Υ α is an abstract service protocol, σ is a service network, and Ω is a relation Ω ∶ E ×S⋆ α associating service entities of the service network to elements of service descriptions, and Φ ∶ E × E α associating nodes of the service network to classes of service entities of the service network schema of Υ α .
Let define the relation Φ + ∶ E × E α,+ as follows:  Figure 7. Solid arrows between nodes represent consumes links. Dot-dashed arrows between nodes represent isConsumedBy links. Dashed arrows between nodes represent isProvidedBy links. Dot arrows between nodes represent provides links.
In prototype service protocols, the relation Φ + -referred further as the induced service relation -is a partial compliance relation on E × E α,+ (cf. Definition 14).
An example of a prototype service protocol is illustrated in Figure 9. At the top, the abstract service protocol of the prototype service protocol is represented. At the bottom, the service network of the prototype service protocol is represented in a simplified manner as a graph. Each service entity of the service network is represented by a circle, some nodes being additionally labelled, e.g., the top-right service network node labelled '1'. The links between service entities are represented by solid lines between the nodes.
The relation Ω mapping service entities of the service network to elements of service descriptions is represented on the left side of the Figure by dashed arrows. As an example, the top-right service network node labelled '1' is associated with the service interface si1.
Note that many service entities may be associated with a given service description element. In Figure 9, both nodes labelled '1' and '2' are associated with the service interface si1.
Additionally, the relation Φ mapping nodes of the service network to classes of service entities of the service network schema is represented on the right side of the the Figure by dot-dashed arrows. As an example, the top-right service network node labelled '1' is associated with the class of service entities v7.
Note that many service entities may be associated with a given class of service entities of the service network schema. In Figure 9, both nodes labelled '1' and '2' are associated with the class of service entities v7. When a prototype service protocol is fully implemented, i.e., there is a service entity implementing each element of service description, then it may be executed. The service protocol is then an executable service protocol.

Definition 18 (Executable Service Protocol)
An executable service protocol Υ is a prototype service protocol such that ∀s⋆ α ∈ S⋆ α , ∃e ∈ E such that e Ω s⋆ α , and the induced relation Φ + ∶ E × E α,+ is a compliance relation (cf. Definition 12).

Definition 19 (Service Protocol Instance)
An instance of a service protocol Υ is a pair Υ = (Υ , s), where Υ is an executable service protocol, and s is the current state of the associated process model.

Potential Applications
In this section, potential applications of service networks are presented in three areas: in the construction sector, in public administration, and in healthcare.

Potential Applications in the Construction Sector
In the construction sector, many investment processes concern complex construction works, such as the building of a mall, a warehouse, a highway, or a residential area. The realization of investment processes requires a multitude of varied competences usually provided by various organizations, such as architects, civil engineers, plumbing specialists, plant operatives, roofers, glaziers, and painters.
The heterogeneity of the set of activities involved in the execution of investment processes is accompanied by potentially complex precedence rules concerning the execution of the activities within a given investment process. As consequence, the execution of investment processes may be supported by appropriate process models specifying the precedence rules concerning the execution of activities.
Additionally, social aspects are playing an important role in the human interactions in the construction sector. Among various important social aspects, one may distinguish the history of former collaboration among organizations as a social aspect that usually influences the choice of collaboration partners. Similarly, the recommendation of an organization by another organization is a frequent situation in the construction sector, influencing here again the choice of collaboration partners. Trust is another social aspect having an important influence on the collaboration in the construction sector. As a consequence, the execution of investment processes, including the choice of collaboration partners, may be supported by encompassing the social network of the organizations in the construction sector in a given geographical area.
The encompassing of both process models and social networks leads to service protocols. Therefore, the execution of investment processes may be supported by service protocols, encompassing both process models and the social network of the organizations in the construction sector.
The four levels of abstraction of service protocols may be applied in the construction sector as follows: • An abstract service protocol represents a given type of building investment projects and the rules associated with this type or, at least, part of such projects.
To some extent, an abstract service protocol may document best practices that may potentially be reused by various organizations. As an example, an abstract service protocol may define the activities needed to lay down concrete foundations of a supermarket as a process model, e.g., concrete stab pouring is followed by concrete levelling and drying. Next, the abstract service protocol defines the types of organization needed to perform these activities and the mandatory relationships between these types of organizations as a service network schema, e.g., the architect should trust the concrete contractors; • A prototype service protocol represents the implementation of a given type of building investment projects by a given organization. As an example, a realestate developer may already have some preferences concerning the concrete contractors they are collaborating with, even if the choice of the architect is not fixed. Another real-estate developer may use a different prototype service protocol based on the same abstract service protocol concerning foundations laying: he/she may have a partnering architect but no partnering concrete contractors; • An executable service protocol represents a complete implementation of a given type of building investment projects by a given organization. In an executable service protocol, all the organizations and services needed to implement the associated prototype service protocol are identified. As an example, consider an executable service protocol based on the prototype service protocol concerning the laying of foundations by the real-estate developer having a partnering architect. At the executable level, the concrete contractors are identified, as well as the services that they may provide or consume during the execution of the associated abstract service protocol; • A service protocol instance supports the execution of a given building investment project or at least a part of it. As an example, the execution of the formerly presented executable service protocol leads to a service protocol instance executed by the partnering architect and the chosen concrete contractors. Besides the set of organizations and services, a service protocol instance has a state associated with the process model of the related abstract service protocol. As an example, a service protocol instance concerning foundations laying may be in the state "concrete leveling".

Potential Applications in Public Administration
In public administration, many administrative procedures concern complex administrative cases, such as the delivery of a construction permit, the processing of income taxes, the renewal of a passport. Similarly to the construction sector, the execution of administrative procedures requires various competences usually provided by various agencies, such as Internal Revenue Service (IRS), city's Department of Buildings, Passport Agencies.
Regulations constrain the competences of both clerks and agencies in administrative procedures. Regulations also often define precedence rules concerning the execution of the activities. As a consequence, the execution of administrative procedures may be supported by appropriate process models. In many public agencies, administrative procedures are already supported by IT systems.
Additionally, some administrative procedures define constraints concerning social aspects. A common type of social requirements found in administrative procedure concerns sibling relations. As an example, passport delivery for a child usually requires the presence of the child's parents or guardians at the agency at submission time. Many administrative procedures also require that the applicant lives in a particular geographical area related with the appropriate agency. As an example, the delivery of a construction permit is usually performed by a local agency whose jurisdiction with regard to construction permit delivery is geographically limited. As a consequence, the execution of administrative procedures may be supported by encompassing the social network of agencies and applicants, either natural or legal persons.
The encompassing of both process models and social networks in public administration leads to service protocols, in a similar manner as in the construction sector. Therefore, the execution of administrative procedure may be supported by service protocols, encompassing both process models and the social network of agencies and applicants.
The four levels of abstraction of service protocols in public administration may be applied as follows: • An abstract service protocol represents a given administrative procedure or, at least, part of such a procedure. To some extent, abstract service protocol may serve as models of regulation concerning a given procedure. As an example, an abstract service protocol may define the activities needed to deliver a United States of America passport to a child as a process model, e.g., the data-fulfilled forms, pictures, fingerprints-are gathered at a passport agency, next the data are checked, and then the passport is printed by the United States Government Printing Office. Next, the abstract service protocol defines the types of agencies and applicants needed to perform these activities and the mandatory relationships between them as a service network schema, e.g., the child's parents or guardians have to fulfil and submit the forms; • A prototype service protocol represents an implementation of an administrative procedure by a given agency. As an example, a given passport agency may have already some preferences concerning chosen aspects of the procedure, e.g., the Buffalo Passport Agency does not require travel plans to be presented to apply for a passport. Another Passport Agency, such as the Western Passport Center, requires a proof of international travel within 2 weeks of the appointment or a proof of emergency abroad; • An executable service protocol represents a complete implementation of a given administrative procedure. Therefore, in an executable service protocol, all the agencies, applicants, and services needed to implement the associated prototype service protocol are identified. As an example, consider an executable service protocol based on the prototype service protocol concerning the delivery of a passport at the Buffalo Passport Agency. At the executable level, the clerk, the child, the parents or guardians are identified, as well as the services that they may provide or consume during the execution of the associated abstract service protocol, such as providing the photography of the child or checking that the forms have been correctly fulfilled; • A service protocol instance supports the execution of an administrative procedure or, at least, a part of it. As an example, the execution of the formerly presented executable service protocol leads to a service protocol instance executed by the Buffalo Passport Agency. Besides the clerk, the child, the parents or guardians, and services, a service protocol instance has a state associated with the process model of the related abstract service protocol. As an example, a service protocol instance concerning passport delivery may be in the state "passport waiting for printing by the United States Government Printing Office".

Potential Applications in Healthcare
In healthcare, two types of processes may be distinguished. First, many procedures in healthcare are administrative procedures, e.g., patient registration and scheduling, drugs management, medical record management. Second, key procedures in healthcare are medical procedures related with patient healing, e.g., surgery operation, vaccination, broken bone immobilization.
These two types of processes share a set of common characteristics. First, the execution of activities of these processes often requires certified competences: only a pharmacist is allowed to manage drugs at a hospital, only anaesthesiologistseventually nurse anaesthetists in some countries-are allowed to perform anaesthesia. Second, precedence rules are important for both administrative and medical procedure: a patient has to be registered before she/he may be examined by a physician, an X-ray radiography precedes the immobilization with a plaster or fibreglass cast. Third, the number of competences involved in the administrative and medical procedures is usually high.
Similarly to the processes in the construction sector and public administration, the execution of both administrative and medical procedures may be supported by appropriate process models. Support for administrative procedure by IT systems is already implemented in many healthcare facilities. Computer support for medical procedures is rapidly becoming popular with advanced imaging techniques and robotics. However, support for the process facet of medical procedures is still to be widely implemented and accepted.
Additionally, social aspects are playing an important role in some healthcare procedures. First, administrative procedures may restrict relations between the patients and the healthcare facilities. As an example, in the Polish healthcare system, a patient has to consult a primary care physician, also known as family physician, that may further redirect the patient to a medical specialist. The primary care physician and the patient have to be located in the same geographical area. Second, a medical procedure may also constrain relations between persons involved in the procedure. As an example, consider a live donor transplantation. In this transplantation operation, part of the liver of an parent, sometimes a sibling, is transplanted to another person, usually a child. The parent and the child have to share the same blood type, the donor should be have a similar or bigger size than the recipient. As a consequence, the execution of healthcare procedures may be supported by encompassing the social network of patients and healthcare personnel.
The encompassing of both process models and social networks leads to service protocols. Therefore, the execution of healthcare procedures may be supported by service protocols, encompassing both process models and the social network of patients and the healthcare personnel.
The four levels of abstraction of service protocols may be applied as follows in healthcare: • An abstract service protocol represents a given administrative or medical procedure. To some extent, abstract service protocol may serve to document best practices that may potentially be reuse by various healthcare facilities. As an example, an abstract service protocol may define the activities needed to perform a live donor liver transplantation, as well as the relations between the donor and the recipient; • A prototype service protocol represents the implementation of a healthcare procedure at a given healthcare facility. As an example, a hospital may already have some preferences concerning the accommodations of the donor and the recipient in adjacent rooms. Another hospital may have a different approach, separating donors from recipients; • An executable service protocol represents a comprehensive implementation of a healthcare procedure by a given facility. In an executable service protocol, all the patients, the medical personnel, and services needed to implement the associated prototype service protocol are identified. As an example, consider an executable service protocol based on the prototype service protocol concerning the live donor liver transplantation at the healthcare facility accommodating the donors and patients in adjacent rooms. At the executable level, the patients, the surgeon, the anaesthesiologist, and the nurses are identified, as well as the services that they may provide or consume during the execution of the associated abstract service protocol; • A service protocol instance represents the execution of a given healthcare procedure. As an example, the execution of the formerly presented executable service protocol leads to a service protocol instance executed by the patients and the healthcare personnel. A service protocol instance has a state associated with the process model of the related abstract service protocol. As an example, a service protocol instance concerning live donor liver transplantation may be in the state "donor and recipient in post anaesthesia care unit".

Discussion
In this section, first, positive aspects of service protocols are presented. In a second part, limitations of service protocols are detailed.
Among positive aspects of service protocols, the support for social requirements has to be highlighted. First, the concept of social requirement is clearly defined in this paper as class of links between service entities. To our best knowledge, this is the first definition of social requirement in the SOA context. Second, service network schemata, in which social requirements and requirements concerning service entities themselves, are formally defined, based on graphs. The formalized model of service protocols is therefore based on fully formalized concepts relying on sound foundations (object orientation, graph theory, BPM, SOA). Additionally, sound foundations for service protocols would ease the development of tools to design, manage, and validate service protocols.
Another interesting characteristic of service protocols is their service orientation. With the wide adaptation of SOA, even if in many cases just at the Web service level, the underlying concepts of service protocols, i.e., service consumer, service interface, service provider, are broadly accepted and understood. Therefore, the learning curve for service protocols should be smooth and not steep.
In the presented approach, the instantiation of service protocols assumes the existence of a service network in which a set of available service entities and their relations is represented. Many social websites are currently publishing personal data of private users and their relations. Social networks has came to the public awareness with the recent success of social websites, such as Facebook [9], Qzone [25], Twitter [30], MySpace [19], LinkedIn [16], or Orkut [21], just to name a few. With more than 800 million active users announced by Mark Zuckerberg during the F8 conference [10] on September 22, 2011, the possibility to build large networks is demonstrated, and it is probably correct to assess that social or service networks will be a stable element of the future IT landscape.
In the context of service networks, choosing service entities in a large service network is an interesting characteristic from the perspective of the adaptation of service protocols. As in [24], the adaptation of service protocols refers in this paper to the capability of a group of human interacting according to a given service protocol to modify the service protocol at run-time to react to changing conditions, external or internal to the group of interacting humans. When a group has to adapt the service protocol ruling its interactions, a frequent task is the deletion/replacement/addition of new collaborators/tools. Having in mind that more than half of all the employers (53% according Holzer [15], 60% according to Bewley [5]) are seaking future employees on the social networks of their employees, adaptation of service protocols may take a serious advantage of the service network underlying service protocols.
Finally, a solution to the problem of the instantiation process for service protocols have already been proposed: a method for partner and service selection based on social protocols (which are a particular type of service protocols) is presented in [22]. In this method, first, a set of service entities covering the functionalities required for the process to run is selected by selecting members of classes of service entities from a service network. Second, a set of potential groups of partners are created using a generic algorithm within with social requirements, expressed as classes of links among service entities, are used to evaluate and filter out inappropriate groups. The method presented in [22] is fully implemented.
Among drawbacks, the lack of semantics associated with property names and property constraint names may be distinguished. It is highly probable that various service protocol designers are using different words to refer to the same property.
As an example, a property name myLanguages may have some semantic relation, e.g., be a synonym, with a property name supportedLanguages. A more complex case may be the semantic relation between geographicalLocation and country. Semantic relations may exist not only among property names, or among property constraint names, but among exist between a property name and a property constraint. Consider a property constraint p α named geographicalLocation with the value = Indonesia and a property p named country with the value Indonesia. Without the semantic relation between geographicalLocation and country, p does not satisfy p α . A support for semantics could improve the representation of classes of service entities, class of links between service entities, service entities, and links between service entities.
Another limitation of service protocols is its limited expressive power. In its current form, the expressivity of service protocols does not encompass constraints concerning neither the cardinality of class members, nor alternatives. Constraints concerning the cardinality would capture for example that in a given process more than 2, but less than 20, programmers are required, or that exactly 3 architects are required. Alternatives on classes may for example capture the fact that either a certified architect or a senior developer are needed in a given social protocol. Currently, service protocols do not support the specification of such requirements.
Finally, an important limitation concerning service protocols is the lack of validated methodology concerning the design of service protocols. Various approaches to service protocol design may be considered: one may start by designing a process model, then a service-oriented summary may be built for the process model, next a service network schema may be designed, and finally, the service network schema may be linked with the service-oriented summary. The second approach may start with the specification of a service network schema, next service descriptions may be defined and associated with classes of service entities, and finally service descriptions may be associated with activities structured by a process model. To our best knowledge, methodologies for the design of service protocols are still to be developed.

Conclusions
In this paper, the concept of service protocol has been presented and fully formalized. Service protocols are based on sound foundations in the areas of graph theory, SOA, and BPM. However, the combination of concepts from these areas is innovative as the proposed model goes far beyond recently proposed ideas such as Social BPM or ACM.
A major contribution to the modelling of human interactions is the introduction of service network schemata. The integration of service network schemata with process models leads to a model of human interactions supporting not only the definition of the potential sequences of interactions, but also the definition of the expected properties of actors and their relations required for the process to be executed. As a consequence, a service protocol may be considered as a model defining the "composition" of a group within which interactions are structured by a given process model. Service protocols capture social requirements for process models in service network schemata and the link between schemata and service-oriented summaries.
Another major contribution to the modelling of human interactions is a unified approach organized around the concept of service. It should be clearly stated that, in this paper, the word service has a broader meaning than just Web service, encompassing not only service provided by software entities, but also services provided by humans and organizations. As a consequence, in the proposed model, process models are summarized with service descriptions, social requirements are modelled as classes of service entities and classes of links among service entities. Note that the concept of service description which is directly associated with process activities is a triplet consisting of service consumers, service interfaces, and service providers. Such a representation of process activities is more general than representation of process activities in BPEL: in BPEL, a service may be reduced to its interface and its service provider, the service consumer being the BPEL engine. Process models in which the service consumer is actually consuming services may be supported by the proposed model.
Among future works, performance and scalability of the proposed model is an issue that requires more efforts. Although checking if a service network is compliant with a service network schema is a relatively easy task, identifying within a large service network a service sub-network that is compliant with a service network schema is a complex task. To our best knowledge, algorithms to perform this search task efficiently are still to be developed. Another topic in which further work is needed are semantic issues related to property names and property constraint names. In its current version, the potential semantic relations among property names, among property constraint names, and among property names and property constraint names are not taken into account. Finally, although a pilot application has been developed, validating the feasibility of a prototype supporting the presented model, validation of the pertinence of this model requires an application in real-world cases. The pilot application is currently tailored to the needs of the construction sector with a scenario involving a real-estate developer enterprise and its subcontractors. In this business environment, social requirements play an important role: examples of recurrent social elements are frequent recommendation of one SME by another or cooperation history on past construction places.