<?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">PROCE: an agent-based PROcess Composition and execution Environment</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Francesco</forename><surname>De Luca</surname></persName>
							<email>fdeluca@herzumsoftware.com</email>
						</author>
						<author>
							<persName><forename type="first">Andrea</forename><surname>Tundis</surname></persName>
							<email>atundis@deis.unical.it</email>
						</author>
						<author>
							<persName><forename type="first">Alfredo</forename><surname>Garro</surname></persName>
							<email>garro@deis.unical.it</email>
						</author>
						<author>
							<affiliation key="aff0">
								<orgName type="institution">Herzum Software Solution Center</orgName>
								<address>
									<addrLine>Srl 87036</addrLine>
								</address>
							</affiliation>
						</author>
						<author>
							<affiliation key="aff1">
								<address>
									<settlement>Lecco</settlement>
									<region>Rende (CS)</region>
									<country key="IT">Italy</country>
								</address>
							</affiliation>
						</author>
						<author>
							<affiliation key="aff2">
								<orgName type="department" key="dep1">Dipartimento di Elettronica</orgName>
								<orgName type="department" key="dep2">Informatica e Sistemistica (DEIS</orgName>
								<orgName type="institution">Università della Calabria</orgName>
								<address>
									<postCode>87036</postCode>
									<settlement>Arcavacata di Rende (CS)</settlement>
									<country key="IT">Italy</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">PROCE: an agent-based PROcess Composition and execution Environment</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">15AECDDA84B3324AD5315A6F1CD1A9E7</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T08:25+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>
			<textClass>
				<keywords>
					<term>Multi Agent System</term>
					<term>Method Engineering</term>
					<term>Method Fragment</term>
					<term>Service Oriented Architecture</term>
					<term>Services Composition</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>The paper presents PROCE (PROcess Composition and execution Environment), an agent-based CAME and CASE tool which supports the composition of software development processes, based on the Method Engineering paradigm, and their execution. In particular, the current release of PROCE provides an integrated and flexible environment for the design of SOA applications.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>INTRODUCTION</head><p>The development of complex software applications can be supported by Software Engineering Processes (SEPs) which, according to the Method Engineering (ME) paradigm, are obtained by composing a set of purposely selected method fragments <ref type="bibr" target="#b5">[6]</ref>. This approach allows combining the need of defining specifically tailored methodologies with the possibility of reusing existing methodologies (or their portions) well documented and experimented. However, the concrete use of the ME paradigm requires the availability of suitable models and techniques to represent method fragments and their composition. In addition, a central issue is represented by the availability of Computer-Aided Method Engineering (CAME) tool, to support the composition of development processes through discovering and assembling of method fragments, and of Computer-Aided Software Engineering (CASE) tool, to support the execution of obtained processes.</p><p>In this context, the paper presents PROCE (PROcess Composition and execution Environment) which represents both a CAME and a CASE tool and then is capable to support both the definition of a development process, by the selection and composition of method fragments, and its subsequent execution.</p><p>PROCE is a Multi Agent System, in which both method fragments and the processes derived from their composition are represented by agents. This approach provides an effective solution to the issue of fragment composition that can be based on the cooperation among agents. Moreover, the agent-based representation of the development process allows a more effective process execution. In fact, the agentified method fragments, in the CAME phase, cooperate to build up the development process, whereas, in the CASE stage, cooperate to support its execution (each agent is in charge of a portion of the process and interacts with the others by exchanging fragment work products).</p><p>In order to verify the effectiveness and the efficacy of PROCE in method fragments composition and processes execution, a preliminary experimentation was carried out in the Service Oriented Architecture (SOA) domain <ref type="bibr" target="#b0">[1]</ref>. In fact, despite its popularity, the development of SOA applications is not well supported by methodologies and tools that easily adapt to the needs of specific applications to be implemented; as a consequence, the efforts required for adapting an existing methodology often makes profitable to define a new one <ref type="bibr" target="#b8">[10]</ref>. Therefore, also in the SOA domain, the ME approach can provide, as for the Object Oriented (OO) <ref type="bibr" target="#b5">[6]</ref> and Agent Oriented (AO) domains <ref type="bibr" target="#b1">[2]</ref>, an effective solution able to combine the definition of ad-hoc methodology with the reuse of existing ones.</p><p>The paper is organized as follows: Section II and III present system requirements and design respectively. The system implementation details are presented in Section IV, whereas Section V reports an application example. Finally, conclusions are drawn and future works delineated.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>II. SYSTEM REQUIREMENTS</head><p>PROCE should provide both CAME and CASE features so the following main requirements have been identified:</p><p>1. Method Base management: the tool should be able to access and manage a repository (Method Base) in which method fragments are stored and collected.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.">Process definition and verification:</head><p>the tool should allow the selection and Work Products (WPs) based composition of the available method fragments and should provide techniques for checking the feasibility of the obtained development process.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>3.</head><p>Process execution: the tool should be able to instantiate and support the execution of a process obtained from method fragments composition.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>III. SYSTEM DESIGN PROCE has been designed following the Organization-based</head><p>Multi Agent System Engineering (O-MASE) methodology <ref type="bibr" target="#b3">[4]</ref> and the fragment definition provided by the IEEE FIPA specifications <ref type="bibr" target="#b2">[3]</ref>. In particular, the logical architecture of PROCE and its behavior are described in Section A and B respectively.</p><p>A. High Level architecture PROCE is organized as a cooperative society of agents each of which covers at least one Role. A Role represents a relationship between a Goal and the Capability used by a software agent to achieve it. The following Roles have been identified: (i) Process Builder Role who has in charge the definition of specific Software Engineering Processes (SEPs); (ii) Process Coordinator Role who has in charge the execution of a specific development process; (iii) Method Fragment Role who has in charge the execution of a specific method fragment and the management of its WPs (Figure <ref type="figure" target="#fig_0">1</ref>). IV. SYSTEM IMPLEMENTATION PROCE has been currently implemented as a stand-alone Java application. The development of the CAME features is in progress whereas the CASE features have been fully implemented. Moreover, due to the increasing interested in the SOA domain, the current experimentation has involved development processes and method fragments related to the development of service-oriented applications as it requires addressing several issues ranging from the definition of the application to the discovery, development, composition, integration and testing of SOA services.</p><p>In particular, the following agents have been implemented: (i) SOA Process Agent covering and extending the Process Coordinator Role to support the execution of a SEP for the development of SOA applications; (iii) several Method Fragment (MF) Agents that cover and extend the Fragment Role to support the execution of specific portions of the above introduced SOA process.</p><p>As an example, the MF-Service Composer Agent has been associated to a MF which, starting from an Application Choreography, represented by a WS-CDL (Web Services Choreography Description Language) document, and from a mapping among roleTypes of the Choreography and real Web Services, produces a WS-BPEL (Web Services Business Process Execution Language) document specifying the orchestration among the involved services in terms of data and messages exchanged and task execution sequences <ref type="bibr" target="#b9">[11]</ref>.</p><p>PROCE has been developed by adopting various platformindependent technologies and open standards to ensure interoperability; in particular JADE (Java Agent Development Framework), an agent-based framework that allows the development of MAS and provides a runtime execution platform, has been exploited <ref type="bibr" target="#b6">[7]</ref>.</p><p>V. USING PROCE Figure <ref type="figure" target="#fig_1">2</ref> shows the PROCE GUI; in the left column the list of the available SEPs is reported; currently only the SOAProcess is available which is briefly described on the right side.   <ref type="figure" target="#fig_3">3</ref>). Each Activity is associated to a Method Fragment which can be then executed. Before starting the execution of a MF, the SOAProcess Agent verifies that the required input WPs are available and in the format expected by the related MF Agent. In this case, the SOAProcess Agent provides the input WPs to the MF Agent, on the contrary it informs the MF Agent so that it can ask the user for the required input WPs.</p><p>In the following, the execution of the Services Composition MF carried on by the MF-Service Composer Agent is shown.   Finally, Figure <ref type="figure" target="#fig_6">6</ref> shows the last phase of the execution of the Services Composition MF, in which a WS-BPEL is produced (Verify and End button) after verifying that the selected services correctly cover all the roles involved in the Application Choreography.  </p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Figure 1 .</head><label>1</label><figDesc>Figure 1. Logical Architecture</figDesc><graphic coords="2,36.72,183.12,251.88,175.32" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Figure 2 .</head><label>2</label><figDesc>Figure 2. The PROCE Graphical User Interface (GUI) By selecting the available SOAProcess a SPEM diagram of the process is shown; in the diagram the Activities composing the selected process and their work products are reported (see</figDesc><graphic coords="2,306.72,462.84,252.00,189.12" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Figure</head><label></label><figDesc>Figure3). Each Activity is associated to a Method Fragment which can be then executed. Before starting the execution of a MF, the SOAProcess Agent verifies that the required input WPs are available and in the format expected by the related MF Agent. In this case, the SOAProcess Agent provides the input WPs to the MF Agent, on the contrary it informs the MF Agent so that it can ask the user for the required input WPs.In the following, the execution of the Services Composition MF carried on by the MF-Service Composer Agent is shown.</figDesc><graphic coords="3,306.72,117.48,252.00,181.80" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Figure 3 .</head><label>3</label><figDesc>Figure 3. A SEP for the development of SOA Applications In this first phase of the MF execution, the MF-Service Composer Agent obtains the two input WPs (see Figure 3); in particular, the provided Role-Service Mapping and the Application Choreography are represented on the upper-left and on the upper-right side of Figure 4 respectively.</figDesc><graphic coords="3,36.84,163.44,251.76,233.76" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_4"><head>Figure 4 .</head><label>4</label><figDesc>Figure 4. The Services Compositon Environment In the next phase, for each roleType in the Choreography a specific Web Service is selected among those available in the</figDesc><graphic coords="3,36.72,483.96,252.00,181.80" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_5"><head>Figure 5 .</head><label>5</label><figDesc>Figure 5. Management of Services Policies</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_6"><head>Figure 6 .</head><label>6</label><figDesc>Figure 6. Services Orchestration VI. CONCLUSIONS AND FUTURE WORK PROCE, a MAS for method fragments composition and execution of software development processes, has been presented along with an application example in the SOA domain showing its effectiveness and user-orientation. The current release of PROCE is available under the LGPL license on the Web Site of the OpenKnowTech project [9].</figDesc><graphic coords="3,306.72,386.04,252.00,181.80" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_7"><head>Future</head><label></label><figDesc>efforts are geared to: (i) the definition of new method fragments concerning the different aspects of the development of SOA applications; (ii) the implementation of the CAME features of the tool ; (iii) the implementation of the future release of PROCE as an Eclipse plug-in so to benefit from its popularity and supporting community.</figDesc></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" xml:id="foot_0">*corresponding author</note>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Service Oriented Architectural Design</title>
		<author>
			<persName><forename type="first">R</forename><surname>Bruni</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Lluch Lafuente</surname></persName>
		</author>
		<author>
			<persName><forename type="first">U</forename><surname>Montanari</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Tuosto</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 3rd International Symposium on Trustworthy Global Computing (TGC&apos;07). LNCS</title>
				<meeting>the 3rd International Symposium on Trustworthy Global Computing (TGC&apos;07). LNCS<address><addrLine>Heidelberg</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2008">2008</date>
			<biblScope unit="volume">4912</biblScope>
			<biblScope unit="page" from="186" to="203" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">PASSIM: a simulation-based process for the development of multi-agent systems</title>
		<author>
			<persName><forename type="first">M</forename><surname>Cossentino</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Fortino</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Garro</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Mascillaro</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Russo</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Int. J. of Agent-Oriented Software Engineering</title>
		<imprint>
			<biblScope unit="volume">2</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page" from="132" to="170" />
			<date type="published" when="2008">2008</date>
			<publisher>Inderscience Enterprises Ltd</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Method fragments for agent design methodologies: from standardisation to research</title>
		<author>
			<persName><forename type="first">M</forename><surname>Cossentino</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Gaglio</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Garro</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Seidita</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Int. J. of Agent-Oriented Software Engineering</title>
		<imprint>
			<biblScope unit="volume">1</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page" from="91" to="121" />
			<date type="published" when="2007">2007</date>
			<publisher>Inderscience Enterprises Ltd</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">O-MaSE: A Customizable Approach to Developing Multiagent Development Processes</title>
		<author>
			<persName><forename type="first">S</forename><forename type="middle">A</forename><surname>Deloach</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">C</forename><surname>Gracia-Ojieda</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><forename type="middle">H</forename><surname>Oyenan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Valenzuela</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">the 8th International Workshop on Agent Oriented Software Engineering</title>
				<meeting><address><addrLine>Honolulu, USA</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2007">2007</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<monogr>
		<ptr target="http://www.fipa.org/specs/fipa00029/" />
		<title level="m">FIPA -Contract Net Interaction Protocol Specification</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Method engineering for OO systems development</title>
		<author>
			<persName><forename type="first">B</forename><surname>Henderson-Sellers</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Communications of the ACM</title>
		<imprint>
			<biblScope unit="volume">46</biblScope>
			<biblScope unit="issue">10</biblScope>
			<biblScope unit="page" from="73" to="78" />
			<date type="published" when="2003">2003</date>
			<publisher>ACM press</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<monogr>
		<ptr target="http://jade.tilab.com/" />
		<title level="m">JADE -Java Agent Development Framework</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<monogr>
		<ptr target="http://www.omg.org/spec/SPEM/2.0/" />
		<title level="m">OMG SPEM -Systems Process Engineering Metamodel Specification</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">A survey of serviceoriented development methodologies</title>
		<author>
			<persName><forename type="first">E</forename><surname>Ramollari</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Dranidis</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">J H</forename><surname>Simons</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 2nd Young Researchers&apos; Workshop on Service Oriented Computing</title>
				<meeting>the 2nd Young Researchers&apos; Workshop on Service Oriented Computing<address><addrLine>Leicester, UK</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2007">2007</date>
			<biblScope unit="page" from="75" to="80" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<monogr>
		<ptr target="http://www.w3.org/standards/" />
		<title level="m">W3C Web of Services, standards and technologies</title>
				<imprint/>
	</monogr>
</biblStruct>

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