=Paper=
{{Paper
|id=None
|storemode=property
|title=PROCE: an agent-based PROcess Composition and execution Environment
|pdfUrl=https://ceur-ws.org/Vol-741/DEM02_DeLucaTundisGarro.pdf
|volume=Vol-741
|dblpUrl=https://dblp.org/rec/conf/woa/LucaTG11
}}
==PROCE: an agent-based PROcess Composition and execution Environment==
PROCE: an agent-based PROcess Composition and
execution Environment
Francesco De Luca Andrea Tundis*, Alfredo Garro
Herzum Software Solution Center – Srl Dipartimento di Elettronica, Informatica e Sistemistica (DEIS)
87036, c.da Lecco, Rende (CS), Italy Università della Calabria
fdeluca@herzumsoftware.com 87036, Arcavacata di Rende (CS), Italy
{atundis, garro}@deis.unical.it
Abstract—The paper presents PROCE (PROcess Composition In order to verify the effectiveness and the efficacy of
and execution Environment), an agent-based CAME and CASE PROCE in method fragments composition and processes
tool which supports the composition of software development execution, a preliminary experimentation was carried out in the
processes, based on the Method Engineering paradigm, and their Service Oriented Architecture (SOA) domain [1]. In fact,
execution. In particular, the current release of PROCE provides despite its popularity, the development of SOA applications is
an integrated and flexible environment for the design of SOA not well supported by methodologies and tools that easily adapt
applications. to the needs of specific applications to be implemented; as a
consequence, the efforts required for adapting an existing
Keywords-Multi Agent System; Method Engineering; Method
methodology often makes profitable to define a new one [10].
Fragment; Service Oriented Architecture; Services Composition.
Therefore, also in the SOA domain, the ME approach can
provide, as for the Object Oriented (OO) [6] and Agent
I. INTRODUCTION Oriented (AO) domains [2], an effective solution able to
The development of complex software applications can be combine the definition of ad-hoc methodology with the reuse
supported by Software Engineering Processes (SEPs) which, of existing ones.
according to the Method Engineering (ME) paradigm, are The paper is organized as follows: Section II and III present
obtained by composing a set of purposely selected method system requirements and design respectively. The system
fragments [6]. This approach allows combining the need of implementation details are presented in Section IV, whereas
defining specifically tailored methodologies with the Section V reports an application example. Finally, conclusions
possibility of reusing existing methodologies (or their portions) are drawn and future works delineated.
well documented and experimented. However, the concrete use
of the ME paradigm requires the availability of suitable models II. SYSTEM REQUIREMENTS
and techniques to represent method fragments and their
composition. In addition, a central issue is represented by the PROCE should provide both CAME and CASE features so the
availability of Computer-Aided Method Engineering (CAME) following main requirements have been identified:
tool, to support the composition of development processes 1. Method Base management: the tool should be able to
through discovering and assembling of method fragments, and access and manage a repository (Method Base) in which
of Computer-Aided Software Engineering (CASE) tool, to method fragments are stored and collected.
support the execution of obtained processes.
In this context, the paper presents PROCE (PROcess 2. Process definition and verification: the tool should allow
Composition and execution Environment) which represents the selection and Work Products (WPs) based
both a CAME and a CASE tool and then is capable to support composition of the available method fragments and
both the definition of a development process, by the selection should provide techniques for checking the feasibility of
and composition of method fragments, and its subsequent the obtained development process.
execution. 3. Process execution: the tool should be able to instantiate
PROCE is a Multi Agent System, in which both method and support the execution of a process obtained from
fragments and the processes derived from their composition are method fragments composition.
represented by agents. This approach provides an effective
solution to the issue of fragment composition that can be based
III. SYSTEM DESIGN
on the cooperation among agents. Moreover, the agent-based
representation of the development process allows a more PROCE has been designed following the Organization-based
effective process execution. In fact, the agentified method Multi Agent System Engineering (O-MASE) methodology [4]
fragments, in the CAME phase, cooperate to build up the and the fragment definition provided by the IEEE FIPA
development process, whereas, in the CASE stage, cooperate to specifications [3]. In particular, the logical architecture of
support its execution (each agent is in charge of a portion of the PROCE and its behavior are described in Section A and B
process and interacts with the others by exchanging fragment respectively.
work products).
*corresponding author
A. High Level architecture progress whereas the CASE features have been fully
PROCE is organized as a cooperative society of agents each of implemented. Moreover, due to the increasing interested in the
which covers at least one Role. A Role represents a relationship SOA domain, the current experimentation has involved
between a Goal and the Capability used by a software agent to development processes and method fragments related to the
achieve it. The following Roles have been identified: (i) development of service-oriented applications as it requires
Process Builder Role who has in charge the definition of addressing several issues ranging from the definition of the
specific Software Engineering Processes (SEPs); (ii) Process application to the discovery, development, composition,
Coordinator Role who has in charge the execution of a specific integration and testing of SOA services.
development process; (iii) Method Fragment Role who has in In particular, the following agents have been implemented:
charge the execution of a specific method fragment and the (i) SOA Process Agent covering and extending the Process
management of its WPs (Figure 1). 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.
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 [11].
PROCE has been developed by adopting various platform-
independent technologies and open standards to ensure
interoperability; in particular JADE (Java Agent Development
Figure 1. Logical Architecture Framework), an agent-based framework that allows the
development of MAS and provides a runtime execution
platform, has been exploited [7].
B. System behavior
System behavior depends on the Roles played by the V. USING PROCE
component Agents and their interactions. Figure 2 shows the PROCE GUI; in the left column the list of
In particular, two main phases can be identified: Process the available SEPs is reported; currently only the SOAProcess
Composition and Process Execution. In the first phase, the is available which is briefly described on the right side.
system supports the ad-hoc definition of a new process through
the composition of method fragments available in a Method
Base. In particular, an Agent which perform the Process
Builder Role, interact with the user for the definition of the
specification of the process under construction. According to
SPEM [8], the process is specified in terms of the component
Activities, their relationships and the exchanged WPs. Starting
from this process specification, the Builder interacts with the
agents which perform the Method Fragment Role, requiring
them, by exploiting a contract-net based protocol [5], to cover
specific Activities of the process. If this fragments negotiation
phase successfully completes, an Agent which performs the
Process Coordinator Role is instantiated by specifying the
process to coordinate in terms of the involved Fragments.
In the Process Execution phase Agents which perform the
Method Fragment Role are in charge of executing the
associated Activities of the development process. These Agents
are orchestrated by the Agent which performs the Process
Coordinator Role who drives the exchange of WPs among the
Figure 2. The PROCE Graphical User Interface (GUI)
involved Agents.
IV. SYSTEM IMPLEMENTATION By selecting the available SOAProcess a SPEM diagram of
the process is shown; in the diagram the Activities composing
PROCE has been currently implemented as a stand-alone Java the selected process and their work products are reported (see
application. The development of the CAME features is in
Figure 3). Each Activity is associated to a Method Fragment mapping. As the selected Services can be managed by different
which can be then executed. Before starting the execution of a SOA domains, it is necessary to check and validate their
MF, the SOAProcess Agent verifies that the required input WPs policies; thus, the MF Service Composer Agent supports the
are available and in the format expected by the related MF user in getting (Get Policies button) the policies associated to
Agent. In this case, the SOAProcess Agent provides the input each service and validating them (Validate Policies button).
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.
Figure 5. Management of Services Policies
Finally, Figure 6 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.
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.
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].
Figure 4. The Services Compositon Environment
Future efforts are geared to: (i) the definition of new
In the next phase, for each roleType in the Choreography a method fragments concerning the different aspects of the
specific Web Service is selected among those available in 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 Development Processes. In the 8th International Workshop on Agent
from its popularity and supporting community. Oriented Software Engineering, Honolulu, USA (2007).
[5] FIPA - Contract Net Interaction Protocol Specification -
http://www.fipa.org/specs/fipa00029/.
REFERENCES [6] Henderson-Sellers, B.: Method engineering for OO systems
[1] Bruni, R., Lluch Lafuente, A., Montanari, U., Tuosto, E.: Service development. Communications of the ACM, vol. 46, n. 10, pp. 73--78,
Oriented Architectural Design. In: Proceedings of the 3rd International ACM press (2003).
Symposium on Trustworthy Global Computing (TGC’07). LNCS, vol. [7] JADE - Java Agent Development Framework - http://jade.tilab.com/
4912, pp. 186--203, Springer, Heidelberg (2008). [8] OMG SPEM - Systems Process Engineering Metamodel Specification -
[2] Cossentino, M., Fortino, G., Garro, A., Mascillaro, S., Russo, W.: http://www.omg.org/spec/SPEM/2.0/
PASSIM: a simulation-based process for the development of multi-agent [9] OpenKnowTech Project - http://www.openknowtech.it/
systems. Int. J. of Agent-Oriented Software Engineering, vol. 2, n.2, pp.
132--170, Inderscience Enterprises Ltd., United Kingdom (2008). [10] Ramollari, E., Dranidis, D., Simons, A.J.H.: A survey of service-
oriented development methodologies. In: Proceedings of the 2nd Young
[3] Cossentino, M., Gaglio, S., Garro, A., Seidita, V.: Method fragments for Researchers' Workshop on Service Oriented Computing, Leicester, UK,
agent design methodologies: from standardisation to research. Int. J. of pp. 75--80 (2007).
Agent-Oriented Software Engineering, vol. 1, n. 1, pp. 91--121,
Inderscience Enterprises Ltd (2007). [11] W3C Web of Services, standards and technologies,
http://www.w3.org/standards/
[4] Deloach, S. A., Gracia-Ojieda, J. C., Oyenan, W. H., Valenzuela, J.: O-
MaSE: A Customizable Approach to Developing Multiagent