<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Modeling and Executing Service Interactions using an Agent-oriented Modeling Language</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Christian</forename><surname>Hahn</surname></persName>
						</author>
						<author>
							<persName><forename type="first">Ingo</forename><surname>Zinnikus</surname></persName>
						</author>
						<author>
							<affiliation key="aff0">
								<orgName type="institution">DFKI GmbH Stuhlsatzenhausweg</orgName>
							</affiliation>
						</author>
						<author>
							<affiliation key="aff1">
								<orgName type="department">Ingo.Zinnikus}@dfki.de</orgName>
								<orgName type="institution">{Christian.Hahn</orgName>
								<address>
									<postCode>66123</postCode>
									<settlement>Saarbrücken</settlement>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Modeling and Executing Service Interactions using an Agent-oriented Modeling Language</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">EAC87A0A6261BD96164386D0174E4BD3</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T23:15+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Modern information systems are considered as collection of independent units called services that interact with each other through the exchange of messages. This paper focuses on interactions from a more centralized or global perspective (i.e. choreography), validates the underlying approach to model interactions, and discusses how choreographies can be executed with an established agent-oriented programming language basing on the principles of model-driven development.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>Service-oriented architectures (SOAs) as an approach to design and implement modern information systems (ISs) aim to support business process management within an organization and across organizational borders. At this services are employed to perform tasks within these processes and processes themselves can be exposed as services. In these kinds of settings, service interactions are at the center of attention where two complementary perspectives can be distinguished.</p><p>Recently, several approaches have been proposed to describe the interaction between entities either from a local (e.g. Business Process Execution Language) or global perspective (e.g. Web Service Choreography Description Language). In this paper, we propose an agent-based approach as agent systems provide several built-in features and concepts that allow to execute SOAs in a nice manner (see <ref type="bibr" target="#b0">[1]</ref> for more details).</p><p>A lot of effort has been undertaken to identify the most common interaction scenarios from a business perspective, which have been published as service interaction patterns by Barros et al. <ref type="bibr" target="#b1">[2]</ref>. We take these patterns as a base and demonstrate how a platform independent domain specific modeling language for multiagent systems called Dsml4Mas fulfills the proposed requirements. Furthermore, we also aim at providing an agent-based model-driven methodology that allows executing choreographies.</p><p>In the remainder of this paper we discuss a selected interaction pattern and demonstrate how choreographies can be transformed to executable code by applying principles of model-driven development. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">A Platform Independent Modeling Language for Multiagent Systems</head><p>Dsml4Mas defines a graphical language that could be used to define agent systems independent of any existing agent-oriented programming language (AOPL). However, model transformations can be applied to generate code with respect to selected AOPLs.</p><p>Dsml4Mas is divided into several viewpoints (e.g. agent, organization, behavior, etc,), however, in this paper we mainly focus on the interaction aspect and demonstrate how to model the proposed service interaction patterns.</p><p>In general, an Interaction refers to a set of Messages and Actors that make use of these Message for the purpose of interaction. The Actor can again refer to a set of Actors as subactors, meaning that the set of instances performing the superactor is split into the several subactors. In general, the subactors are determined at design time, but filled with the particular instances that perform this kind of role at run-time. Furthermore, a Protocol that should be considered as a specialization of an Interaction refers to a set of MessageFlows that specify how the exchange of Messages is proceed.</p><p>The MessageFlows again refer to a set of Actors that are active in the current state, i.e. those instances that send the particular Messages. Furthermore, it specifies a join and fork operator which are both of the type MessageScope that defines the Messages and their order how these arrive. In particular, this means that Messages are connected via a None, Parallel, Loop, Sequence, XOR, or OR operator. Furthermore, the MessageFlow refers to a TimeOut that specifies the latest point in time a Message should arrive. Beside Messages that are sent, the MessageFlow may also refer to Protocols that are initiated at some specific point in time in the parent Protocol in order to execute nested protocols.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Modeling Service Interaction Patterns using Dsml4Mas</head><p>Barros et al. <ref type="bibr" target="#b1">[2]</ref> consolidate recurrent scenarios and abstract them in a way that provides reusable knowledge. They distinguish between four groups of patterns, however, we focus on the single-transmission patterns in which a party involved may send or receive multiple messages but as part of different interaction threads dedicated to different parties. A specific case is pattern 7: One-to-many send/receive. Here, a party X sends a request message to several other parties Y1,...,Yn, which may all be identical or logically related. Responses are expected within a given timeframe. However, some responses may not arrive within the timeframe. The interaction may complete successfully or not depending on the set of responses gathered. Fig. <ref type="figure" target="#fig_0">1</ref> depicts the one-to-many send/receive pattern using Dsml4Mas. The parties are again modeled as Actors, where the atomic entities Y1,...,Yn are bound to Actor Y. Sending a Message to an Actor means that the particular Message is sent to each instance that is bound to the target Actor. This means that Message M1 is sent to each of the Y1,...,Yn in parallel. When receiving M1, each of these entities sends the corresponding answer Message M2 to Actor X. A TimeOut ensures that the interaction does not end up in a deadlock.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Model-driven Methodology to Generate Executable Code</head><p>In this section, the transformation from the local perspective to the agent-based execution platform JACK is given. JACK is a process-centric agent-based programming language that bases on principle of the belief-desire-intention theory <ref type="bibr" target="#b2">[3]</ref>. We firstly introduce the core concepts of JACK. Due to space restrictions this is a very rough summary, however, a detailed overview regarding the JACK metamodel can be found in <ref type="bibr" target="#b3">[4]</ref>. The most relevant concept in JACK is the concept of a Team, which can be either an atomic Agent, or a set of required Roles (i.e. subteams) that all together form the Team. A Role specifies which Events the role fillers are able to react to and send. How a Team actually reacts to an incoming request is specified by a set of TeamPlans.</p><p>The transformation to the JACK metamodel uses pattern 7 as an input model. We generate a Team for each Actor that performs a particular role (e.g. Role X for team X) and requires Roles (e.g. Role Y) to which the Messages in the Dsml4Mas behavior model are sent (cf. Fig. <ref type="figure" target="#fig_1">2</ref>). The Messages of the Dsml4Mas model are mapped to Events in JACK (e.g. event M1 and M2). For each Plan in the behavior model, we instantiate a TeamPlan that is used by the particular Team (e.g. XSendM1 and XReceiveM2). The body of the TeamPlans is mainly generated in an one-to-one manner from the Plans in Dsml4Mas. For instance, the XSendM1 TeamPlan (Fig. <ref type="figure" target="#fig_1">2</ref> right-hand side) also includes a parallel statement that iterates over the various role fillers and sends the event instance m1 of M1 to the role fillers y. The parallel statement ends if the Event has been sent to all role fillers. We refer to <ref type="bibr" target="#b3">[4]</ref> for more detailed information regarding the model transformation from Dsml4Mas to JACK. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Conclusion</head><p>This paper discusses an agent-based approach to describe choreography-based interactions. Therefore, we proposed a modeling language for multiagent systems called Dsml4Mas and demonstrated that Dsml4Mas supports modeling the proposed service interaction patterns. The main result of this evaluation is that each pattern-in contrast to other proposed standards-can nicely be described.</p><p>Based on Dsml4Mas, we discussed a model-driven methodology to derive code based on the choreography description. The Dsml4Mas model that includes the particular generated behavior model is mapped to an agent-based programming language JACK that finally executes the choreography description.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Fig. 1 .</head><label>1</label><figDesc>Fig. 1. Pattern 7: One-to-many send/receive modeled with the graphical editor of Dsml4Mas.</figDesc><graphic coords="2,169.41,116.33,276.25,144.69" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Fig. 2 .</head><label>2</label><figDesc>Fig. 2. The generated JACK models based on the Dsml4Mas behavior for Pattern 7.</figDesc><graphic coords="4,169.39,136.89,193.40,123.09" type="bitmap" /></figure>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">An agent-based, model-driven approach for enabling interoperability in the area of multi-brand vehicle configuration</title>
		<author>
			<persName><forename type="first">I</forename><surname>Zinnikus</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Hahn</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Klein</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Fischer</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 5th Conference on Service-Oriented Computing</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<meeting>the 5th Conference on Service-Oriented Computing</meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2007">2007</date>
			<biblScope unit="volume">4749</biblScope>
			<biblScope unit="page" from="330" to="341" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Service interaction patterns</title>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">P</forename><surname>Barros</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Dumas</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">H M</forename><surname>Ter Hofstede</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Business Process Management</title>
				<editor>
			<persName><forename type="first">W</forename><forename type="middle">M P</forename><surname>Van Der Aalst</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">B</forename><surname>Benatallah</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">F</forename><surname>Casati</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">F</forename><surname>Curbera</surname></persName>
		</editor>
		<imprint>
			<date type="published" when="2005">2005</date>
			<biblScope unit="volume">3649</biblScope>
			<biblScope unit="page" from="302" to="318" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Modeling agents within a BDI-architecture</title>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">S</forename><surname>Rao</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">P</forename><surname>Georgeff</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 2rd International Conference on Principles of Knowledge Representation and Reasoning</title>
				<editor>
			<persName><forename type="first">R</forename><surname>Fikes</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">E</forename><surname>Sandewall</surname></persName>
		</editor>
		<meeting>the 2rd International Conference on Principles of Knowledge Representation and Reasoning</meeting>
		<imprint>
			<publisher>Morgan Kaufmann</publisher>
			<date type="published" when="1991">1991</date>
			<biblScope unit="page" from="473" to="484" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">A domain specific modeling language for multiagent systems</title>
		<author>
			<persName><forename type="first">C</forename><surname>Hahn</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the Seventh International Conference on Autonomous Agents and Multiagent Systems (AAMAS)</title>
				<meeting>the Seventh International Conference on Autonomous Agents and Multiagent Systems (AAMAS)</meeting>
		<imprint>
			<date type="published" when="2008">2008</date>
		</imprint>
	</monogr>
	<note>accepted</note>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
