<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>simpA-WS: An Agent-Oriented Computing Technology forWS-based SOA Applications</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Alessandro Ricci</institution>
          ,
          <addr-line>Claudio Buda, Nicola Zaghini, Antonio Natali, Mirko Viroli, Andrea Omicini DEIS</addr-line>
          ,
          <institution>Universita` di Bologna Alma Mater Studiorum Cesena (FC)</institution>
          ,
          <addr-line>47023</addr-line>
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>- This document briefly describes simpA-WS, a Javabased agent-oriented computing technology to flexibly and effectively implement WS-I compliant SOA/WS applications-i.e. Web-Service applications with a Service-Oriented Architectureboth on the user side and the service side.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        I. INTRODUCTION
simpA-WS is a Java-based technology that makes it
possible to build WS-I SOA/WS compliant applications adopting an
agent-oriented style in designing and developing the systems.
simpA-WS is based on of simpA model and technology
[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], an agent-oriented extension of the Java Object-Oriented
computational model providing high-level abstractions for
designing and developing complex software systems.
      </p>
      <p>
        On the one side, simpA-WS provides a framework API to
build user applications in terms of sets of agents that flexibly
interact and use Web Services compliant with the WS-I Basic
Profile [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], represented as artifacts in agent workspaces. On
the other side, simpA-WS provides an API framework and
a middleware for building WS-I compliant Web Services in
terms of set of agents as providers of the services.
      </p>
      <p>
        To tackle the complexity of modern and future software
systems, simpA introduces agents and artifacts as
highlevel abstractions to design and build distributed / concurrent
software systems. This is the A&amp;A (Agents and Artifact)
conceptual model [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], based on inter-disciplinary
studies involving Activity Theory and Distributed Cognition
as main conceptual background frameworks [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>A&amp;A metaphors are taken from human cooperative working
environments, where “systems” are composed by individual
autonomous entities which pro-actively carry on some kind of
activities or tasks, both individual and cooperative, typically
requiring forms of interaction and coordination with other
individuals. A fundamental aspect of such a picture is the
context —or the environment— that makes it possibile to such
activities to take place. Artifacts designed and built by humans
are an essential part of such a context, both as outcome of
the activities and as the tools exploited by humans to support
and realise them. Artifacts can be then resources and objects
constructed during the activities, but also whatever tools is
used to support humans communication, coordination, and—
more generally—cooperative working activities. The overall
picture is given by workspaces where ensembles of individuals
work and interact in a coordinated manner, by communicating
and sharing / using the same artifacts, so as to achieve some
kind of objective.</p>
      <p>A&amp;A brings this metaphor down to software engineering,
conceiving a software system as one or multiple workspaces
where ensembles of autonomous entities—the agents—execute
their working activities and interact by co-constructing,
sharing and using artifacts, analogously to the human case.</p>
      <p>simpA provides agents and artifacts as basic high-level
building blocks to decompose and structure complex systems,
in particular:
• agents are provided as first-class abstractions to model
and design pro-active entities, i.e. entites programmed
so as to autonomously execute some kind activity—
composed by one or more tasks—encapsulating the
control of such activities;
• artifacts are provided as first-class abstractions to model
and design what is used or constructed by agents during
their activities, including resources, tools, devices: any
passive entity encapsulating some kind of functionality,
exposed by a proper interface;
• workspaces are the logical place where agents and
artifacts are immersed, used to give a topology to the overall
activities, and then partition the application environment.
Objects and classes are used as basic abstractions to define
data structures to build agents and artifacts.</p>
      <p>
        B. A&amp;A for Implementing SOA / Web Service Applications
simpA-WS makes it possible to exploit the A&amp;A approach
and simpA for implementing SOA and Web-Service
applications, following the basic architectured described in W3C
documentation [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ](see Fig. 1).
      </p>
      <p>Using simpA-WS both service users and providers are
modelled as simpA agents, as pro-active entities that respectively
(i) need to access and use services in their working activities,
encapsulating the business logic of user applications, and (ii)
process the requests and messages for services, encapsulating
the service business logic. In both cases, artifacts are used as
high-level mediating entities functioning as interfaces,
encapsulating the technology needed to enable the interaction using
WS-* standards. In particular (refer to Fig. 2 and Fig. 3):
• on the user side, a specific kind of artifacts – called
WSArtifact — is provided to make it possible for simpA</p>
      <p>Agent
Agent</p>
      <p>Agent</p>
      <p>WS-Artifact
con WSDL X
WS-Artifact
con WSDL Y</p>
      <p>Environment
simpA</p>
      <p>AXIS2
simpA-WS</p>
      <p>tuProlog</p>
      <p>Java / JVM 5.0</p>
      <p>WS-USER APPLICATION
WS Msgs,
requests
responses</p>
      <p>Web Servìce
Container +
the meta-ws
dynamicaly configured
with WSDL X
simpa-WS meta-ws
AXISC2oWnetabinSeerrvice</p>
      <p>Tomcat 5.0.5
Java / JVM 5.0
tuple centres
TuCSoN
Infrastructure</p>
      <p>Java / JVM 5.0
agents to access and use what ever existing Web Service,
by simply creating and using instances of such an artifact;
• on the service side, artifacts called Service-Artifacts are
provided to make it possible for simpA agents to get and
process the messages delivered to a specific Web Service,
again by simply creating and using instances of such an
artifact.</p>
      <p>
        The adoption of the agent level of abstraction, and in particular
of agents and artifacts basic building blocks, makes it possible
to exploit a fully uncoupled approach for modelling and
realising interaction with Web Services, as required by true
serviceoriented architecture [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. On the one side, agents use Web
Services by executing operations on WS-Artifact artifacts, by
means of fully asynchronous actions. On the other side, agents
perceive possible information or result generated Web Services
by observing events — through simpA sensing primitives —
generated by such artifacts.
      </p>
    </sec>
    <sec id="sec-2">
      <title>II. SYSTEM REQUIREMENTS</title>
      <p>Currently simpA-WS can run on any Java-based platform,
version 5.0. Consequently, it can be seamlessly deployed
on machines with different kind of operating systems and
hardware configuration. A light-weight version is planned, in
order to port simpA-WS—the API for implementing user
application in particular—on J2ME, the Java platform for
mobile devices, so as to implement user applications on top
of J2ME-enabled smart phones / devices.</p>
    </sec>
    <sec id="sec-3">
      <title>III. DESIGN AND IMPLEMENTATION</title>
      <p>Fig. 2 and Fig. 3 provide an overview of the architecture of
the simpA-WS technology, respectively on the user side and
the service side. Fig. 4 shows a mixed and articulated case,
where services are themselves users of other services.</p>
      <p>
        simpA and simpA-WS are fully developed in Java, and
exploit apache Axis2 open-source libraries [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] for realising
low-level SOAP-based interaction with Web Services on the
user side and as Web Service container on the service side,
on top of Tomcat apache Java-based Web Server [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
      </p>
      <p>
        simpA and simpA-WS internally exploits tuProlog [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]
and TuCSoN [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] research technologies, respectively a
lightweight Java-based Prolog interpreter and a tuple-based agent
coordination infrastructure.
      </p>
    </sec>
    <sec id="sec-4">
      <title>IV. A SAMPLE APPLICATION</title>
      <p>
        Among the examples provided with simpA-WS
distribution, a supply-chain sample application is provided, following
the reference sample application defined by WS-I organisation,
available among the deliverables at WS-I Web Site [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. The
supply-chain example is one among the illustrative scenarios
defined by the WS-I Sample Applications Working Group
to show the benefits of having interoperable Web services
applications, and to demonstrate the application of the
WSI profiles to those scenarios.
      </p>
      <p>ServiceArtifact
configured
with WSDL X
Environment
Agent</p>
      <p>Agent
Agent
SERVICE APPLICATION</p>
      <p>APPLICATIONS
simpA-WS is one of the technologies experimented for
implementing SOA-based applications in the context of STIL
(“Strumenti Telematici per l’Interoperabilita` delle reti di
imprese: Logistica digitale integrata per l’Emilia-Romagna”).</p>
      <p>
        STIL is a 2-years project funded by Emilia-Romagna, in the
context of the “Iniziativa 1.1 del Piano Telematico Regionale”
initiative [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. The project has been funded to push and
improve the research activities in Emilia-Romagna targeted
to exploit innovative ICT technologies for the creation of a
global digital logistic district. Among the objectives, STIL
is dedicated to the creation of virtual organizations grouping
together different kind of actors directly or indirectly involved
in the logistic supply-chain, providing them effective ICT
supports for integrating and innovating their business.
      </p>
      <p>
        For the purpose, a SOA-based infrastructure has been
conceived, designed and implemented to enable interoperability
among the different participants. The STIL infrastructure is
meant to provide an effective support for enabling
communication, coordination and cooperation among the open and
heterogeneous kind of WS-based applications and services.
simpA-WS is currently experimented as one of the
stateof-the-art technologies for implementing the applications and
services, and first results are available on STIL web sites [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ],
[
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>
        VI. INDUSTRIAL SUPPORT AND DISTRIBUTION
simpA and simpA-WS are open-source projects, and can be
freely downloaded and used for research and non-commercial
purposes from related web sites [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Besides the
opensource prototypes, an industrial-version of the technology will
be available as commercial product distributed by IRIS [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], a
start-up spin-off company hosted in Cesena.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1] The aliCE Research Group.
          <article-title>simpA official web site</article-title>
          . http://www.alice.unibo.it/projects/simpa.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2] The aliCE Research Group.
          <article-title>simpA-WS official web site</article-title>
          . http://www.alice.unibo.it/projects/simpa-ws.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <article-title>[3] aliCE-Unibo research unit. The STIL-UNIBO project web site</article-title>
          . http://www.alice.unibo.it/projects/stil.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <article-title>[4] The IRIS Company</article-title>
          .
          <article-title>IRIS official web site</article-title>
          . http://www.irislab.eu.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Enrico</given-names>
            <surname>Denti</surname>
          </string-name>
          , Andrea Omicini, and
          <article-title>Alessandro Ricci. Multi-paradigm Java-Prolog integration in tuProlog</article-title>
          .
          <source>Science of Computer Programming</source>
          ,
          <volume>57</volume>
          (
          <issue>2</issue>
          ):
          <fpage>217</fpage>
          -
          <lpage>250</lpage>
          ,
          <year>August 2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Thomas</given-names>
            <surname>Erl</surname>
          </string-name>
          .
          <article-title>Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services</article-title>
          . Prentice
          <string-name>
            <surname>Hall</surname>
            <given-names>PTR</given-names>
          </string-name>
          , Upper Saddle River, NJ, USA,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <source>[7] The Apache Software Foundation. Axis 2</source>
          .0
          <article-title>- next generation web services - official web site</article-title>
          . http://ws.apache.org/axis2/.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>The</given-names>
            <surname>Apache Software Foundation</surname>
          </string-name>
          .
          <article-title>Tomcat official web site</article-title>
          . http://tomcat.apache.org/.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>B. A.</given-names>
            <surname>Nardi</surname>
          </string-name>
          .
          <article-title>Context and Consciousness: Activity Theory and HumanComputer Interaction</article-title>
          . MIT Press,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Andrea</surname>
            <given-names>Omicini</given-names>
          </string-name>
          , Alessandro Ricci, and
          <string-name>
            <given-names>Mirko</given-names>
            <surname>Viroli</surname>
          </string-name>
          . Agens Faber:
          <article-title>Toward a theory of artefacts for MAS</article-title>
          .
          <source>Electronic Notes in Theoretical Computer Sciences</source>
          ,
          <volume>150</volume>
          (
          <issue>3</issue>
          ):
          <fpage>21</fpage>
          -
          <lpage>36</lpage>
          , 29 May
          <year>2006</year>
          . 1st International Workshop “Coordination and Organization” (CoOrg
          <year>2005</year>
          ),
          <source>COORDINATION</source>
          <year>2005</year>
          , Namur, Belgium, 22
          <article-title>April 2005</article-title>
          . Proceedings.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>Andrea</given-names>
            <surname>Omicini</surname>
          </string-name>
          and
          <string-name>
            <given-names>Franco</given-names>
            <surname>Zambonelli</surname>
          </string-name>
          .
          <article-title>Coordination for Internet application development</article-title>
          .
          <source>Autonomous Agents and Multi-Agent Systems</source>
          ,
          <volume>2</volume>
          (
          <issue>3</issue>
          ):
          <fpage>251</fpage>
          -
          <lpage>269</lpage>
          ,
          <year>September 1999</year>
          .
          <article-title>Special Issue: Coordination Mechanisms for Web Agents</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>The</surname>
            <given-names>WS-I</given-names>
          </string-name>
          <string-name>
            <surname>Organization</surname>
          </string-name>
          .
          <article-title>WS-Basic Profile 1.0 document</article-title>
          . http://www.
          <source>ws-i.org.</source>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>The</surname>
            <given-names>WS-I</given-names>
          </string-name>
          <string-name>
            <surname>Organization</surname>
          </string-name>
          .
          <article-title>WS-I Official web site</article-title>
          . http://www.
          <source>ws-i.org.</source>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <article-title>The STIL project. The STIL official web site</article-title>
          . http://stil.pc.unicatt.it/.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Alessandro</surname>
            <given-names>Ricci</given-names>
          </string-name>
          , Mirko Viroli, and
          <string-name>
            <given-names>Andrea</given-names>
            <surname>Omicini</surname>
          </string-name>
          .
          <article-title>Construenda est CArtAgO: Toward an infrastructure for artifacts in MAS</article-title>
          . In Robert Trappl, editor,
          <source>Cybernetics and Systems</source>
          <year>2006</year>
          , volume
          <volume>2</volume>
          , pages
          <fpage>569</fpage>
          -
          <lpage>574</lpage>
          , Vienna, Austria,
          <fpage>18</fpage>
          -
          <lpage>21</lpage>
          April
          <year>2006</year>
          .
          <article-title>Austrian Society for Cybernetic Studies</article-title>
          .
          <source>18th European Meeting on Cybernetics and Systems Research (EMCSR</source>
          <year>2006</year>
          ), 5th International Symposium “
          <article-title>From Agent Theory to Theory Implementation” (AT2AI-5)</article-title>
          . Proceedings.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Alessandro</surname>
            <given-names>Ricci</given-names>
          </string-name>
          , Mirko Viroli, and
          <string-name>
            <given-names>Andrea</given-names>
            <surname>Omicini</surname>
          </string-name>
          .
          <article-title>Programming MAS with artifacts</article-title>
          . In Rafael P. Bordini, Mehdi Dastani, Ju¨rgen Dix, and Amal El Fallah Seghrouchni, editors,
          <source>Programming Multi-Agent Systems</source>
          , volume
          <volume>3862</volume>
          <source>of LNAI</source>
          , pages
          <fpage>206</fpage>
          -
          <lpage>221</lpage>
          . Springer, March
          <year>2006</year>
          . 3rd International Workshop (PROMAS
          <year>2005</year>
          ),
          <source>AAMAS</source>
          <year>2005</year>
          , Utrecht,
          <source>The Netherlands, 26 July</source>
          <year>2005</year>
          .
          <article-title>Revised</article-title>
          and
          <string-name>
            <given-names>Invited</given-names>
            <surname>Papers</surname>
          </string-name>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>W3C WS Working</surname>
          </string-name>
          <article-title>Group</article-title>
          . Web Services Architecture. http://www.w3.org/TR/ws-arch/.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>