<!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>Agent Oriented Software Engineering with MESSAGE</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Jorge J. Gómez-Sanz</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Juan Pavón</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dep. Sistemas Informáticos y Programación</institution>
          ,
          <addr-line>Univ. Complutense, 28040 Madrid</addr-line>
          ,
          <country country="ES">Spain</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Problems in current Agent Oriented Software Engineering After reviewing existing AOSE methodologies, we have the impression that some more work is still needed, from a software engineering viewpoint, in order to apply them in an industrial context. For instance, the software development process is usually summarized in four or five steps for analysis and design, which is not realistic. Just taking a look at the Rational Unified Process [4] is enough to get an idea that the definition of an object-oriented methodology is not trivial. And we may agree that developing a Multi-Agent Systems (MAS) is more complex than a conventional object oriented application. It is true that in some cases, like MaSE [2], the presence of a tool, like AgentTool [7], simplifies the development process. However, this brings the risk to loss in flexibility. ZEUS [6] facilitates the development process fixing the target multi-agent system architecture. AgentTool sacrifices the flexibility in the design assuming a fixed set of diagrams mostly based on state-machine-like specifications similar to those of SDL [3]. When the MAS is a small one, when the problem is restricted to academic domain, such tools are really useful and a methodology of just a short number of steps sounds reasonable. However, an industrial development, involving a team of several engineers requires management of activities, a more detailed software development process, and the control of the cost involved in making a MAS work under real world workload. To deal with MAS development problems, specially in analysis and design phases, we need flexible tools and specification methods that permit researchers develop MAS as if they were developing conventional software. And this does not mean that there is a fixed target platform which has to be instantiated with some parameters. Target platform is important but should not suppose a constraint for a methodology. With this assumption, MESSAGE methodology [1] proposes to integrate well-proven object-oriented software engineering practices with agent technology results.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        MESSAGE bases the definition of the methodology in the use of meta-models as specification
formalism. Meta-modeling languages make possible the extension of the core specification by using
builtin generalization mechanisms. Also, instances of the meta-models (i.e., the models that describe the
MAS), opposite to most formalisms, can be detailed partially and refined through successive steps
(similarly to UML, where class diagrams do not need to be complete from the beginning, but can grow in
details during the development). Furthermore, the use of meta-modeling tools, such as METAEDIT+ [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]
in our experimentation, makes possible to perform analysis and design as in object-oriented applications
using Rational Rose or TogetherJ, but instead of using UML, with MAS specific notation.
      </p>
      <p>
        Though meta-models help as a notation for the specification of a MAS, they are not yet the complete
solution, since the generation of models from meta-models is not trivial. This requires the definition of a
development process, and MESSAGE has adopted the Rational Unified Process [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], and has defined a set
of activities for analysis and design phases, that consider the iterative and incremental nature of the
process. Furthermore, there are dependencies among the different meta-models that add difficulties to the
development process. Though this was not addressed in MESSAGE, we have been working on the
identification of these dependencies to achieve a consistent MAS specification. Such consistency
checking activities are grouped together with model generation activities in activity diagrams. And all
activities are managed inside the unified software development process. This solution has two
advantages: working with activities facilitates management of a project and also the activities act
themselves as guidelines for users of the methodology. Our experience is that a realistic MAS
development can easily involve around seventy activities. So many activities may be an argument to
discredit the methodology, but in fact we should consider that activities are defined for each view of the
system (there are five in MESSAGE: organization, agent, tasks/goals, interactions, and domain), and
these views are normally developed in parallel (because of their relationships). Also, software engineers
could circumvent the application of some activities when dealing with simple application domains.
Conclusions
The definition of an agent oriented software engineering methodology is not an easy task. Despite the first
impression that existing MAS methodologies can provide, following a methodology is not as simple as a
six or seven steps process. The MESSAGE approach starts by identifying first the elements required to
build a MAS, organizing them in five views, and expressing them in five meta-models. These
metamodels can be applied by integration in a well-proven software development process model, which in the
case of MESSAGE is the Unified Software Development Process, but others could be also considered.
Finally, a methodology should not be tied with a concrete implementation model, although, to be realistic,
it should demonstrate its application in the definition of implementations over different MAS platforms.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Caire</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leal</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chainho</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Evans</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Garijo</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gomez-Sanz</surname>
            ,
            <given-names>J. J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pavon</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kerney</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stark</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Massonet</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Eurescom</surname>
          </string-name>
          <article-title>P907: MESSAGE - Methodology for Engineering Systems of Software Agents</article-title>
          . http://www.eurescom.de/public/projects/P900-series/p907/default.asp .
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>DeLoach</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <article-title>Analysis and Design using MaSE and agentTool</article-title>
          .
          <source>2001. Proceedings of the 12th Midwest Artificial Intelligence and Cognitive Science Conferece (MAICS).</source>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>International</given-names>
            <surname>Telecommunication</surname>
          </string-name>
          <article-title>Union</article-title>
          . ITU 100:
          <article-title>Formal Description Techniques (FDT)- Specification and Description Language (SDL)</article-title>
          .
          <source>Z.100. 99</source>
          . Series
          <string-name>
            <surname>Z</surname>
          </string-name>
          : Languages and
          <article-title>General Software Aspects for Telecommunication Systems</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Kruchten</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <source>The Rational Unified Process Addison-Wesley</source>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Lyytinen</surname>
            ,
            <given-names>K. S.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Rossi</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>METAEDIT+ --- A Fully</surname>
          </string-name>
          <article-title>Configurable Multi-User and Multi-Tool CASE and CAME Environment</article-title>
          .
          <source>LGNS#1080</source>
          .
          <year>1999</year>
          . Springer-Verlag.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Nwana</surname>
            ,
            <given-names>H. S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ndumu</surname>
            ,
            <given-names>D. T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lee</surname>
            ,
            <given-names>L. C.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Collis</surname>
            ,
            <given-names>J. C.</given-names>
          </string-name>
          ,
          <article-title>"ZEUS: A Toolkit for Building Distributed Multi-Agent Systems,"</article-title>
          <source>Applied Artificial Intelligence Journal</source>
          , vol.
          <volume>1</volume>
          , no.
          <issue>13</issue>
          , pp.
          <fpage>129</fpage>
          -
          <lpage>185</lpage>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Wood</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <article-title>and</article-title>
          <string-name>
            <surname>DeLoach</surname>
          </string-name>
          , S.
          <source>Developing Multiagent Systems with agentTool</source>
          .
          <year>2000</year>
          .
          <article-title>ATAL 2000</article-title>
          .
          <article-title>LNAI 1986</article-title>
          . Castelfranchi,
          <string-name>
            <given-names>C.</given-names>
            and
            <surname>Lespérance</surname>
          </string-name>
          ,
          <string-name>
            <surname>Y.</surname>
          </string-name>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Jacobson</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Booch</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rumbaugh</surname>
            <given-names>J.</given-names>
          </string-name>
          ,
          <source>The Unified Software Development Process, Addison-Wesley</source>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>