<?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">The PiVizTool: Simulating Choreographies with Dynamic Binding</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Anja</forename><surname>Bog</surname></persName>
							<email>anja.bog@hpi.uni-potsdam.de</email>
							<affiliation key="aff0">
								<orgName type="department">Hasso Plattner Institut for IT Systems Engineering</orgName>
								<orgName type="laboratory">Business Process Technology Group</orgName>
								<orgName type="institution">University of Potsdam</orgName>
								<address>
									<postCode>D-14482</postCode>
									<settlement>Potsdam</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Frank</forename><surname>Puhlmann</surname></persName>
							<email>frank.puhlmann@hpi.uni-potsdam.de</email>
							<affiliation key="aff0">
								<orgName type="department">Hasso Plattner Institut for IT Systems Engineering</orgName>
								<orgName type="laboratory">Business Process Technology Group</orgName>
								<orgName type="institution">University of Potsdam</orgName>
								<address>
									<postCode>D-14482</postCode>
									<settlement>Potsdam</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Mathias</forename><surname>Weske</surname></persName>
							<email>mathias.weske@hpi.uni-potsdam.de</email>
							<affiliation key="aff0">
								<orgName type="department">Hasso Plattner Institut for IT Systems Engineering</orgName>
								<orgName type="laboratory">Business Process Technology Group</orgName>
								<orgName type="institution">University of Potsdam</orgName>
								<address>
									<postCode>D-14482</postCode>
									<settlement>Potsdam</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">The PiVizTool: Simulating Choreographies with Dynamic Binding</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">3DD747E58021C4F46F21FB59E0E705D4</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T10:20+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>This paper presents a tool, the PiVizTool, for the interactive simulation of choreographies. Different participant instances can be added, deleted, and dynamically bound during the simulation. The PiVizTool uses the π-calculus as the formal foundation for representing dynamic binding. It provides an interactive graphical representation of complex choreographies that can be simulated according to different use cases.</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>Nowadays, service-oriented architectures (SOA) are a common realization strategy for business process management (BPM). In a SOA, business processes are represented as services with internal and communication actions following a business logic. Multiple of these services work together in a choreography to provide a result. A core feature of service-oriented architectures is dynamic binding, which allows services to be bound at runtime.</p><p>Consider for instance figure <ref type="figure" target="#fig_0">1</ref>, that shows the design-time view of a choreography in BPMN <ref type="bibr" target="#b0">[1]</ref>. The initial participant is a customer, shown in the upper part. The customer places an order, a delivery address, and an invoice address at a reseller. The reseller has a number of manufacturers and payment organizations that handle each request. While at design-time the static interfaces of the manufacturer and the payment organization are given, different implementations might be bound during runtime. All of them directly bind to the addresses initially given by the customer to the reseller for providing their services.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">The PiVizTool</head><p>The PiVizTool<ref type="foot" target="#foot_0">1</ref> provides an interactive environment for choreographies, where different participant instances can be added (imported) and selected during the runtime of the simulation. The tool is grounded in the π-calculus <ref type="bibr" target="#b1">[2]</ref>, where the choreographies are formally defined according to <ref type="bibr" target="#b2">[3,</ref><ref type="bibr" target="#b3">4]</ref>. The major difference between the π-calculus and other formalizations-such as Petri nets-is given by the inherent support of link passing mobility. Channels between business partners are denoted as links, where the links could be passed via other links (channels) to possible interaction partners. The technical foundation allows the direct representation of common patterns like asynchronous callback (problem here: correlate the matching process instances) as well as dynamic routing (problem: how to invoke interaction partners initially unknown).</p><p>An initial view of the given example in the PiVizTool is shown in figure <ref type="figure" target="#fig_1">2</ref>. The main part shows the current state of the system representing the investigated choreography. Each participant of the BPMN diagram is depicted as a rectangle, representing an instance. All BPMN flow objects are shown as circles. The dependencies between the flow objects (sequence flows) are shown as lines with a dotted end marking the target. The message flows, however, have been restricted to the current knowledge of the system. We can see a link between the instances of the customer and the reseller, as well as two links from the reseller instance to a certain instance of the payment organization. There is no link back to the customer at this point in (simulation) time. The left hand side of the tool shows all dynamically created channels and links that are currently contained in the system. We can see invAddr#21 and itemAddr#20 representing the return channels of the invoice and the ordered items for the customer instance. The static channels, like order (shown in the main view between the customer and the reseller) are not contained in the list. Above the graphical view, the original as well as the current π-calculus representation of the system can be selected for viewing. The user can execute an arbitrary action of the simulation-that is currently possible-by using the ExecStep button at the top of the interface. He can also click on an active element of the graphical representation to execute it. Active elements are either activities (depicted as circles filled with gray) or channels (depicted with bold, black lines). In the case of the example, the only action possible is the CStart activity that represents the start event of the customer. As stated, it can be triggered by clicking on it.</p><p>If an action is executed, the underlying π-calculus terms are evolved and a new graphical view of the system is created. The layout of the new view might be changed, because the visualization algorithm always calculates a view, where the interconnections between the nodes are minimized. Furthermore, new actions are made available according to the current state of the simulation.</p><p>After several actions, the state of the system has changed as shown in figure <ref type="figure">3</ref>. The customer instance has placed the order, the delivery address, and the invoice address at the reseller. At this point in time, no channel between the instances of the customer and the reseller is existing. What has been added, however, is another instance of the payment organization via the execution menu of the PiVizTool that allows the addition of arbitrary participant instances during runtime (while not shown, it is even possible to instantiate completely different participants). Both instances of the payment organization can be reached via Fig. <ref type="figure">3</ref>. The state of the example where the customer has placed his order and a second instance of the payment organization has been created. the same channel, payChan. In the course of the simulation, the user can select the one he wants to activate.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Conclusion</head><p>This paper gave a short introduction to the PiVizTool that is able to simulate choreographies with dynamic binding based on the π-calculus. Currently, the input is restricted to plain π-calculus files, but we're working on enhancing the tool supported mapping of BPMN to pi-calculus based on our tool chain introduced in <ref type="bibr" target="#b4">[5]</ref>. An extended description as well as the theoretical background is described in <ref type="bibr" target="#b5">[6]</ref>.</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. A choreography in BPMN notation.</figDesc></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 initial state of the example from figure 1 in the PiVizTool.</figDesc><graphic coords="3,134.88,116.83,345.60,242.10" type="bitmap" /></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">The PiVizTool is available at http://bpt.hpi.uni-potsdam.de/twiki/bin/view/ Piworkflow/Simulator.</note>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<monogr>
		<author>
			<persName><surname>Bpmi</surname></persName>
		</author>
		<title level="m">Business Process Modeling Notation</title>
				<imprint>
			<date type="published" when="2004">2004</date>
			<biblScope unit="volume">1</biblScope>
		</imprint>
	</monogr>
	<note>0 edn</note>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">A Calculus of Mobile Processes, Part I/II</title>
		<author>
			<persName><forename type="first">R</forename><surname>Milner</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Parrow</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Walker</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Information and Computation</title>
		<imprint>
			<biblScope unit="volume">100</biblScope>
			<biblScope unit="page" from="1" to="77" />
			<date type="published" when="1992">1992</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Using the Pi-Calculus for Formalizing Workflow Patterns</title>
		<author>
			<persName><forename type="first">F</forename><surname>Puhlmann</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Weske</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Business Process Management</title>
				<meeting><address><addrLine>Berlin</addrLine></address></meeting>
		<imprint>
			<publisher>Springer Verlag</publisher>
			<date type="published" when="2005">2005</date>
			<biblScope unit="volume">3649</biblScope>
			<biblScope unit="page" from="153" to="168" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Towards a Formal Model for Agile Service Discovery and Integration</title>
		<author>
			<persName><forename type="first">H</forename><surname>Overdick</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Puhlmann</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Weske</surname></persName>
		</author>
		<idno>RC23822</idno>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the International Workshop on Dynamic Web Processes (DWP 2005)</title>
				<meeting>the International Workshop on Dynamic Web Processes (DWP 2005)<address><addrLine>Amsterdam</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2005">2005</date>
		</imprint>
	</monogr>
	<note type="report_type">IBM technical report</note>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">A Tool Chain for Lazy Soundness</title>
		<author>
			<persName><forename type="first">F</forename><surname>Puhlmann</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Demo Session of the 4th International Conference on Business Process Management</title>
		<title level="s">CEUR Workshop Proceedings</title>
		<meeting><address><addrLine>Vienna</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2006">2006</date>
			<biblScope unit="volume">203</biblScope>
			<biblScope unit="page" from="9" to="16" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<monogr>
		<title level="m" type="main">A Visual Environment for the Simulation of Business Processes based on the Pi-Calculus</title>
		<author>
			<persName><forename type="first">A</forename><surname>Bog</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2006">2006</date>
			<pubPlace>Potsdam, Germany</pubPlace>
		</imprint>
		<respStmt>
			<orgName>Hasso-Plattner-Institute</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Master&apos;s thesis</note>
</biblStruct>

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