=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== https://ceur-ws.org/Vol-741/DEM02_DeLucaTundisGarro.pdf
   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