<!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>Managing Unavailabilities in a Dynamic Scenario Following an Agent-Based Approach</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Angela Locoro and Viviana Mascardi</string-name>
          <email>Viviana.Mascardig@unige.it</email>
          <email>fAngela.Locoro,Viviana.Mascardig@unige.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Franco Mortara and Renato Sanna</string-name>
          <email>Renato.Sannag@elsagdatamat.com</email>
          <email>fFranco.Mortara,Renato.Sannag@elsagdatamat.com</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Computer Science Dept. (DISI), University of Genova</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>SELEX Elsag</institution>
          ,
          <addr-line>Genova</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>-The correct management of resources that can become unavailable over time and the efficient (in terms of both cost and time) re-allocation of the services they provided before becoming unavailable, is an open problem that arises in a wide range of application domains. Despite to some differences, many scenarios spanning very different domains, from logistics to industrial automation, from telecommunication to water systems, may be considered as instances of a more general situation, and the actions to take in order to solve the unavailability problem follow similar patterns. In this paper we discuss the implementation of a multiagent system for solving unavailability problems in an artificial although realistic - scenario which takes inspiration from to the electricity power network domain.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>I. INTRODUCTION</title>
      <p>Many real scenarios where assets are produced in some
physical locations and must be delivered to other physical
locations where they are consumed, can be described in a very
abstract way as graphs of nodes of different types, connected
by edges characterized by different transportation capacities.
Assets are created in a set of “producer nodes”, must traverse
the graph towards “consumer nodes”, and need to use edges
and intermediate nodes during the graph traversal. According
to the scenario, it may be useful to model entities specifically
devoted to the physical transportation from one node to another
one as well (think of a logistic network where freight trucks
and other vehicles are in charge of moving assets in the
network).</p>
      <p>Producers and consumers may be further organized in
hierarchies where each producer controls a set of “sub-producers”
and each consumer dispatches the assets it receives to a set
of “sub-consumers”, connected by edges and intermediate
nodes according to different topologies. Whatever the level
in the hierarchy, nodes and edges may show some degree of
autonomy and may be able to manage problems arising during
their operation on their own – at least up to some extent, before
involving entities higher in the hierarchy. The problems we are
mainly interested in, are those due to resources (nodes, edges,
other entities relevant for the scenario) that become partially
or completely unavailable and whose functionalities must be
redistributed among other resources in the network.</p>
      <p>
        Such scenarios are very suitable to be analyzed following
an agent-based metaphor [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. In fact, the entities belonging to
the scenarios above are
situated, since they must be aware of the portion of the
environment where they are located, in order to perceive
changes in the neighboring entities and in their own
production, consumption, and/or transportation capacity;
autonomous, since they must be able to solve at least
“small” problems locally, before spreading to all their
neighbors or throughout the entire network the
information that a problem occurred;
flexible, namely
– reactive, since they must realize that a problem
occurred in a timely fashion;
– proactive, since each of them has its long-term goal
(producing, consuming, moving a certain amount of
assets);
– social, since real scenarios usually involve humans or
companies which, of course, communicate using an
high level communication language, and following
complex interaction protocols.
      </p>
      <p>Figure 1 shows a generic scenario for unavailability
management: a multiagent system that implements a scenario of
this kind, integrates the specific features of the application
domain under consideration, and proposes a reconfiguration of
the asset production, consumption and transportation load in
order to face unavailabilities that dynamically show up, could
be profitably used ad a system supporting decisions of a human
operator.</p>
      <p>Many real scenarios may be seen as instances of the general
one, and the actions that a decision support system should
take in order to help solving the unavailability problem follow
similar patterns.</p>
      <p>For example, in a logistic network the resource that becomes
unavailable might be a stretch of road and the problem to be
faced concerns to which other roads traffic should be deviated
in order to ensure the quality of service required by the client;
in a ship air conditioning plant, the resource that becomes
unavailable might be an air channel and the problem to solve
is how to re-configure junctions among available channels
so to guarantee air conditioning to at least those rooms that
must necessarily keep a pre-defined temperature; in an electric
power network, the resource that becomes unavailable might
be a power station or a cable transporting electricity and the
problem to solve is which power stations should be required
Agent of
Type A</p>
      <p>Agent of
Type B</p>
      <p>Agent of
Type A
Artefact
Agent of
Type C</p>
      <p>Artefact</p>
      <p>Agent of
Type A
to start producing electricity, to provide for the reduction in
power supply. Despite to some differences, all these scenarios
may be considered as instances of a the more general situation
that we modeled as nodes, edges, and, if it is the case,
additional entities that traverse the graph.</p>
      <p>In this paper we describe a feasibility study that the
scientists of the CS Department of Genova University (DISI) carried
out in collaboration with engineers from Elsag Datamat1,
the Finmeccanica center of excellence for the design and
production of systems, services and solutions in automation,
security, transport and information technology.</p>
      <p>The purpose of this study was to assess the suitability of
an agent-oriented approach to the management of
unavailabilities in complex, distributed scenarios. In order to give
an answer to that question coming from Elsag Datamat we
made an “academic exercise” that takes inspiration from to
the electricity power network domain: although artificial, it
is almost realistic and grounds upon information publicly
available that we obtained from the web sites of “Gestore dei
Mercati Energetici S.p.A.”, a public company whose mission is
that of organizing and economically managing the Electricity
Market, and from other public information sources.</p>
      <p>The paper is organized in the following way: Section II
introduces the model we designed after an accurate analysis
of existing and publicly available information, Section III
discusses the architecture of the UMMAS system we designed
and implemented and shows some details about its execution,
Section IV provides an overview of the related work and
outlines some lines for our future research.</p>
      <p>1From the 1st of June 2011, Elsag Datamat combined with SELEX
Communications into SELEX Elsag. The work described in this paper was
carried out with Elsag Datamat before that date.</p>
    </sec>
    <sec id="sec-2">
      <title>II. DOMAIN ANALYSIS AND MODEL</title>
      <p>Starting from an accurate look into the Italian electricity
network and market, an analysis of the field has been carried
out, as the result of the following questions:
1) What are the main entities acting in the scenario at hand?
2) What are the relevant coordinative actions that such
actors may play according to their roles and to the
physical, economical and topological constraints of the
real domain?
3) What kind of events may compromise the system
consistency or, otherwise said, what are the main events
that need to be simulated and managed in order to find
a solution, if one of them occurs in the system?</p>
      <p>An overview of the domain entities and the high level
topological constraints that our study of the domain let emerge
is depicted in Figure 2, where a Zone level topological
perspective of the Italian electricity network is sketched. As
the outmost subdivision of the Italian territory in the domain
of electricity supply, a Zone contains the following elements:
a set of Power Stations, each of which has one or more
output links toward one or more Power Exchange Points2
a Power Exchange Points set, each of which has input
links from a Power Station subset and output links to
2We refer here to the entity with the following definition “a set of points in
the electricity network such that, for dispatching purposes, it does not matter
in which point electrical power is produced and in which ones it is consumed.
Hence, one and only one Power Exchange Point is associated with each
production/input (resp. consumption/output) point, whereas more input (resp.
output) points are in general subsumed by the same Power Exchange Point.”,
translated into English by the authors from the Italian definition, available at
http://www.mercatoelettrico.org/ in the documentation that the website returns
as the first result of searching the key phrase: “punto di scambio rilevante”
(Power Exchange Point in English).</p>
      <p>Consume Points. Some of them may also have links with
other Power Exchange Points of the same Zone, and one
or more inter-Zone links, that is a physical link between
Power Exchange Points of neighbor Zones.</p>
      <p>An inter-Zone level overview of the Italian electricity
network, together with an explanation of symbols for our domain,
as described until now, is reported in Figure 3.</p>
      <p>In the next paragraphs we are going to describe in details the
main actors and the architectural choices that we adopted for
our system as being inspired by the topological schema shown
in the above figures, by the competency questions reported
above, and by some simplifying assumptions made during our
domain modeling analysis, which we will explain along with
the system model itself.</p>
      <sec id="sec-2-1">
        <title>A. Actors and their Properties</title>
        <p>The main actors defined for modeling the Italian electricity
network scenario are:
The Power Station (PS from now on), modeled according to
the following properties:
physical features:
– type: thermal PS, hydroelectric PS or Renewable
energy PS;
– Minimum Electrical Power (minPow) and the
Maximum Electrical Power (maxPow), that represent the
PS energy supply boundaries, expressed in Megawatt
per hour (MWh);
– quantity of supplied energy at the PS full capacity
(Baseload) that is computed as a function per hour
based on the previous day MWh energy delivered by
the PS itself, and that lies between its minPow and
maxPow rates. We define it as fbl : h ! M W ;
– power-on ramp and power-down ramp, determined
by the MW and time necessary to the PS for reaching
its Baseload from its start-up (resp. shutting down
completely after being turned-off);
– Secondary Reserve (SR), that is the quantity of
ready-to-use electrical power always available for
each PS to be put in the system after its power-on
ramp time (resp. to remove from the system at its
power-down ramp time);
– Other Services (OS), that is the result computed
as a function per hour of the following difference:
maxPow - Baseload - SR.
topological features: outward links to one or more Power
Exchange Points.
economical features:
– Baseload price, calculated over the previous day
energy supply and based on the price established by
the energy exchange market;
– SR price, calculated as the above Baseload, and
defined as the function fsr : h ! Euro=M W ;
– OS price, calculated as the above Baseload, and
defined as the function fos : h ! Euro=M W .</p>
        <p>The Power Exchange Point (PEP from now on), modeled
according to the following properties:
physical features: Demanding rate, calculated as a
function per hour of the MW consumed. We define it as
fcon : h ! M W
topological features:
– inward links from connected PS;
– intra-Zone links that provide its connections with
other PEPs, and are characterized by a function that
states their availability per hour. For each link of this
kind we define the function flinki : h ! fon; of f g;
– inter-Zone links that connect PEPs of different
neighbor Zones. These links are further characterized by
the so called transit limits, expressed by the function
ftl : h ! M W , representing the quantity of energy
that can be carried at each hour in and out from two
different Zones;
The Zone, as a geographic area fully characterized by the PSs,
PEPs, intra- and inter-Zone links belonging to it.</p>
      </sec>
      <sec id="sec-2-2">
        <title>B. Main Simulation Scenarios</title>
        <p>An overview of the unavailabilities or malfunctioning
analysed as part of the unexpected events that may occur into our
system is reported in Figure 4. An exhaustive gloss for each
of them is available in the next paragraphs.</p>
      </sec>
      <sec id="sec-2-3">
        <title>The More Energy Demand event is an event that may occur in</title>
        <p>the system when a PEP has a higher energy consumption than
expected. The situation requires that one or more PSs augment
the quantity of energy delivery in order to fulfill the increasing
request of electricity. The inquired PSs may be directly or
indirectly connected to the PEP and may be located in another
Zone with respect to those where the request comes from. In
this last case the quantity of energy that out-of-zone PSs may
supply should be able to respect the transit limit constraint.</p>
        <p>The criterion to choose which PS needs to be activated in
order to supply more energy is a search over all the PSs in the
same Zone or in other Zones that can deliver their SR and,
among them, all those PSs that offer it at the best available
price. If the amount of SR available does not cover the entire
energy request, than a search for AS energy is activated under
the same best available price condition.</p>
        <p>The intra-Zone broken link event is an event that may occur in
the system when a damage causes the unavailability of a link
between a PS and a PEP. This case has been reduced in our
model to the “PS unavailability or malfunctioning” one that
is depicted in the last paragraph of this Section. A sub-case
that has been analysed even if not modeled into our system is
the one in which the PS is linked to another PEP that may be
used as a bridge in order to supply the energy to the original
PEP, if a proper connection exists between the two PEPs.</p>
      </sec>
      <sec id="sec-2-4">
        <title>The inter-Zone broken link event is an event that may occur</title>
        <p>in the system when a damage causes the total or partial
unavailability of a link between two Zones. The two Zones
involved should reconfigure their power production in order
to avoid that more energy than those physically chargeable
within the new transit limit is not supplied anymore.
The PS unavailability or malfunctioning event is an event that
may occur in the system when a damage causes the total or
partial unavailability of a PS that stops working or supply less
energy than expected or needed. It is then necessary to know
which portion of power was delivered to the PEPs involved
and connected to the PS. They should retrieve the missing
energy from other PSs, under the best available rate criterion.
This event can be reduced to the first one (the More Energy
Demand event) and be modeled and managed in the same way.</p>
        <p>III. UMMAS: THE UNAVAILABILITY MANAGEMENT</p>
        <p>MULTI-AGENT SYSTEM</p>
        <p>An overview of the main features of UMMAS is presented
in this Section.</p>
      </sec>
      <sec id="sec-2-5">
        <title>A. Purpose</title>
        <p>The UMMAS (Unavailability Management Multi-Agent
System) purpose is to rapidly find a sub-optimal scenario
(that is the cheapest solution in terms of best available price
for electricity) able to maintain the whole electricity network
configuration in a consistent state with respect to an event such
as a maintenance operation, a malfunctioning or an unexpected
change in energy consumption that may occur in the system
itself.</p>
        <p>UMMAS has been conceived as a decision support tool for
planning maintenance operations. The requirement to come to
a fast system reconfiguration has forced us to apply heuristics
that do not guarantee to reach an optimal solution. Moreover,
a MAS oriented approach is not by its own nature the
best one to achieve a “global optimization” solution whereas
its effectiveness and flexibility represent the best choice for
dealing with local optimization problems.</p>
      </sec>
      <sec id="sec-2-6">
        <title>B. Input Topology and Data</title>
        <p>UMMAS works with an oversimplified model of the electric
power topology that is embedded into the system. A future
extension is foreseen in order to provide more complex
topologies as input data or configuration files. All the data
available by the system are:
for each PS: all the fixed parameter features (that is the
type, the minPow and maxPow, the power-on ramp and
power-down ramp) and the functions per hour, that is its
fbl, fsr, fos;
for each PEP: its fcon;
for each intra-Zone link, its availability function flinki ;
for each inter-Zone link, its ftl;</p>
        <p>An input parameter is also given for each kind of unexpected
event (we consider that a PEP consume rate, a PS baseload,
an intra-Zone link availability, and an inter-Zone transit limit
may all vary in the system) that may occur at each time slot
(we consider a time unit as one hour).
The agents that have been modeled as part of UMMAS are:
The other elements of the domain (e.g. the physical
intraand inter-Zone links) have not decision capabilities and hence
are not considered as agents in the system.</p>
        <p>The PS Agent knows what are its fixed parameters, its
supply functions and the PEPs to whom it is linked.</p>
        <p>The PEP Agent knows its fcon, the PS that are linked to it,
its flink for each intra-Zone connection with other PEPs and
inter-Zone connection with other PSs, the PEPs to whom it is
connected to (either intra- and inter-Zone), the Zone Agent to
whom it belongs to.</p>
        <p>The Zone Agent knows all the PSs and the PEPs that belong
to it and the neighbor Zone to whom it is directly connected.</p>
      </sec>
      <sec id="sec-2-7">
        <title>D. The UMMAS-Lite prototype: Design and Implementation</title>
        <p>The first UMMAS-Lite prototype release represents a demo
version of the potential of UMMAS model and integrates some
simplifications over the so far seen domain model in order to
provide the fast design, implementation and testing of its main
functionalities.</p>
        <p>The UMMAS-Lite prototype is an event-driven simulator
where an input event parameter is introduced in the system
by a human operator and a stable and consistent system
reconfiguration after the event input is provided as output. Only
after the system has reached a newly consistent state the
human operator may introduce another disturbing event.</p>
        <p>In the next paragraphs an overview of the simplifications
adopted over the domain model is presented.</p>
        <p>Fig. 5. The UMMAS-Lite Electric Power Network Topology</p>
      </sec>
      <sec id="sec-2-8">
        <title>E. Simplifications over the Model</title>
        <p>The following simplification with respect to the real domain
model have been foreseen in UMMAS-Lite prototype:</p>
      </sec>
      <sec id="sec-2-9">
        <title>Simplification over the electricity network topology: the elec</title>
        <p>tricity network topology given as input in UMMAS represents
a simplification over the real one. Figure 5 shows the
embedded domain model that is part of UMMAS-Lite.</p>
        <p>The UMMAS-Lite Agents are:
three Zone Agents (namely ZONE A, ZONE B and
ZONE C);
three PEP Agents (namely PEP A, PEP B, PEP C)
where the letter stands for the Zone where they are
located
twelve PS Agents distributed over the three Zones as
follows:
– Agents from PS 1 to PS 5 belonging to ZONE A,
all linked to PEP A;
– Agents from PS 6 to PS 8 belonging to ZONE B,
all linked to PEP B;
– Agents from PS 9 to PS 12 for ZONE C, all linked
to PEP C;
a ClockAgent that represents the system timeline and
has as main task that of synchronizing all agents at the
beginning as well as at the end of each simulation.</p>
        <p>An oversimplification on the number of PEPs, by
considering only one PEP for each Zone in UMMAS-Lite prototype
has as consequence that we can avoid considering the
intraZone links that are not part of the system as it stands. This
choice does not compromise the coherence of the model with
respect to the real one.</p>
      </sec>
      <sec id="sec-2-10">
        <title>Simplification over the input: both SR and AS can be pur</title>
        <p>chased with a granularity of 1 MWh.</p>
        <p>Simplification over the output: the PSs that are selected for the
provision of energy are the cheapest in terms of best available
SR price and, if this is not sufficient to cover the demand, the
PS selected are also those able to provide the best available
OS price. The location of PSs does not influence the choice
so as the fact that a PS has a lower start-up ramp time than
another, and hence could provide the necessary energy in a
shorter time.</p>
        <p>When a PS is asked to provide its best offer for SR and OS
supplies, the calculation is done by considering the availability
and prices at the time of the request, that it at time t1 (the time
when the event occurs), and sends all its offers at once.</p>
        <p>When a decreasing transit capacity affects a transit limit
towards a Zone at time t1, the agents manage a transaction
to reach a stable situation at time t1 + 1 as if the decreasing
capacity event occurs only for that time (and hence assuming
that in the time instant t1 + 1 the event does not occur
anymore). In this way the agents do not worry about the fact
that the situation would have been different if the event lasted
until time t1 + 1 (e.g. in case the specific event does not affect
the quantity of energy that is traveling at time t1 through the
transit device, because the quantity of energy is less than the
transit limit - the decreasing factor, the system does not need
to reconfigure itself, even if at time t1 + 1 the same condition
would have implied a system reconfiguration, e.g. the quantity
of energy traveling through the device at time t1 + 1 results
to be more than transit limit - the decreasing factor, and vice
versa). This choice has been done for consistency reasons: we
consider that an event happens at time t1 and lasts until time
t1 + 1 excluded. And that at time t1 + 1 the situation may be
different and unpredictable before time t1 + 1 occurs.</p>
      </sec>
      <sec id="sec-2-11">
        <title>Simplification over the nature and frequency of events: each</title>
        <p>perturbation is introduced as a single event in each time slot for
a single agent. This implies that at each time one single event
may be managed by the system. An original configuration may
be restored with the old data at time t1 1.</p>
        <p>If an event is notified in the system at time t1, the
system will reach a stable configuration not later than at
time t1 + max U pRamp + 1, being max U pRamp =
max(startU pRamp(P S)) such that PS is part of the network
and has been selected for extra energy provision. In this
way two events may occur at a time interval of at least
max U pRamp + 1 time units.</p>
        <p>All the simplifications introduced have the purpose of
maintaining the system always consistent and of assessing that
there is enough time to reconfigure it properly after an event
is introduced and a solution strategy has been adopted.</p>
      </sec>
      <sec id="sec-2-12">
        <title>F. UMMAS-Lite Implementation</title>
        <p>In this Section we are going to give an account of the design
and implementation details of UMMAS-Lite prototype. The
prototype has been implemented using Jade 3.7 version.3</p>
      </sec>
      <sec id="sec-2-13">
        <title>G. Agents Data</title>
        <p>Each agent data is provided in Xml format and is read by
each agent at the Jade Platform startup. An example of data
available for the agent PS 1 is as follows:
&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;PowerStation&gt;
&lt;Id&gt;PS_1&lt;/Id&gt;
&lt;Type&gt;thermic&lt;/Type&gt;
&lt;PepId&gt;PEP_A&lt;/PepId&gt;
&lt;minPow&gt;20&lt;/minPow&gt;
&lt;maxPow&gt;80&lt;/maxPow&gt;
&lt;UpRamp&gt;
&lt;UpRampMWh&gt;10&lt;/UpRampMWh&gt;
&lt;UpRampMWhMin&gt;1&lt;/UpRampMWhMin&gt;
&lt;/UpRamp&gt;
&lt;DownRamp&gt;
&lt;DownRampMWh&gt;10&lt;/DownRampMWh&gt;
&lt;DownRampMWhMin&gt;1&lt;/DownRampMWhMin&gt;
&lt;/DownRamp&gt;
&lt;Baseload&gt;
&lt;BaseloadTime&gt;1&lt;/BaseloadTime&gt;
&lt;BaseloadMWh&gt;26&lt;/BaseloadMWh&gt;
&lt;BaseloadTime&gt;2&lt;/BaseloadTime&gt;
&lt;BaseloadMWh&gt;24&lt;/BaseloadMWh&gt;
..
&lt;BaseloadTime&gt;24&lt;/BaseloadTime&gt;
&lt;BaseloadMWh&gt;28&lt;/BaseloadMWh&gt;
&lt;/Baseload&gt;
&lt;SR&gt;
&lt;SRTime&gt;1&lt;/SRTime&gt;
&lt;SRQuantity&gt;16&lt;/SRQuantity&gt;
&lt;SRPrice&gt;18.10&lt;/SRPrice&gt;
...
&lt;SRTime&gt;24&lt;/SRTime&gt;
&lt;SRQuantity&gt;16&lt;/SRQuantity&gt;
&lt;SRPrice&gt;20.71&lt;/SRPrice&gt;
&lt;/SR&gt;
&lt;OS&gt;
&lt;OSTime&gt;1&lt;/OSTime&gt;
&lt;OSQuantity&gt;38&lt;/OSQuantity&gt;
&lt;OSPrice&gt;19.91&lt;/OSPrice&gt;
...</p>
        <p>&lt;OSTime&gt;24&lt;/OSTime&gt;
3http://jade.tilab.com.
&lt;OSQuantity&gt;38&lt;/OSQuantity&gt;
&lt;OSPrice&gt;22.78&lt;/OSPrice&gt;
&lt;/OS&gt;
&lt;/PowerStation&gt;</p>
      </sec>
      <sec id="sec-2-14">
        <title>H. UMMAS-Lite Classes</title>
        <p>In what follows an account of the UMMAS-Lite Java
package structure and a description of the main classes inside
each package is provided.</p>
        <p>org.ummaslite.utils. This package contains all
the classes that manage the UMMAS-Lite data structures,
e.g. the Xml parsing and their read and write utilities.
This package is exploited either for managing agents data
and message contents (e.g. offers lists and so on).
org.ummaslite.data. This package manages the
data at agent level (PS, PEP and Zone). For each kind of
agent a data object is instantiated.
org.ummaslite.message. This package contains
the Message class, that models all the message types
that are exchanged among UMMAS Agents, as well
as the Helpers class that simplify the ACLMessage
object creation and contains the method to send and
visualize its content.
org.ummaslite.behaviour. This package
contains the AbstractAgent class that extends the
jade.core.Agent class and is used to model the
agents jade.core.behaviours.Behaviour class
according to the domain at hand. This classes are both
implemented for each agent type.
org.ummaslite.agents. This package contains the
agents classes for each kind of agent foreseen in the
specific domain (Clock Agent, Power Station Agent,
Power Exchange Point Agent, Zone Agent).</p>
      </sec>
      <sec id="sec-2-15">
        <title>I. Prototype Architecture</title>
        <p>This Section presents a technical overview of the system
from the point of view of how it works and of the agents
interactions, states and transactions that structure the UMMAS-Lite
prototype.</p>
        <p>The system starts a scheduled simulation with the Clock
Agent sending a message to every agent in the platform with
the information of the simulation time unit. A second message
is sent with the event that the user has introduced in the system
to the address of the agent directly involved in the perturbation
(e.g. if a user has introduced an increase in power consumption
for a specified Zone then the receiver of the event message
will be the PEP of that Zone, and so on). Based on the type
of perturbation inserted the system starts different interaction
patterns among the agents.</p>
        <p>At the end of the simulation the Clock Agent keeps waiting
until all the agents in the system send it a synchronization
message to complete the interaction and to inform it that
the system is now re-configured. Once received this
synchronization message the Clock Agent will be able to start
another simulation by giving a new start time unit and by
sending a new event message to the agents involved. This last
functionality has not yet being automatized in the prototype.</p>
        <p>Each PS, PEP and Zone agent has been modeled and
designed as a state machine with behaviour patterns, that is
implemented inside each Agent’s Behaviour class. Each
state have as name the sender of a message and, inside each
state, sub-states are designed, one for each kind of FIPA
performative4 and content of the message itself. In this way
the sender and performative of the message are responsible for
each Agent state, whereas transactions between Agent states
are the messages sent by the Agent in reply to the performative
of the message just arrived.</p>
        <p>The communication protocol between agents in the system
reflects the network topology of the domain. Hence, for
example, PSs can send direct messages only to their PEP (that
is the only entity with which they have a direct link to in the
reality); the PEP may send direct messages only to its PSs and
to its Zone; a Zone can forward such messages to its directly
connected Zones, and so on.</p>
      </sec>
      <sec id="sec-2-16">
        <title>J. Message-State Behaviours</title>
        <p>In this Section we are going to illustrate how our state
machine behaviour patterns works for each Agent. Each message
received is responsible for a particular transaction and hence
strictly drives the overall simulation case interactions among
the agents.</p>
        <p>The FIPA performatives that we use in the message
exchanged among the UMMAS-Lite agents are the following:
INFORM: is the performative used in the time unit
message, the synchronization message, and the event
message;
CFP: is the call for proposals message sent to PSs when
requesting an offer for energy;
PROPOSE: is the offer message that each PS sends in
response to the CFP;
ACCEPT: is the acceptance notification of the offer sent
to PSs when accepting their offer;
CONFIRM: is used by the PS to confirm the energy
delivery;
The Clock Agent state machine pattern, as depicted in Figure
7, is the Clock Agent behaviour modeled according to two
possible states: the InitState, where it sends the time unit
message to all other agents in the system and the event
message to the agent involved in the unavailability (a PS Agent
in case the event wants to simulate a decrease in its baseload;
a Zone Agent in case a decrease in the limit transit capacity
has occurred; a PEP Agent in case an increase in energy
consumption needs to be managed); the SynchState in which it
waits for a synchronization message from all the other agents
and, after having received it, a new event may be managed
(we recall that this last transaction is not implemented in the
prototype).</p>
        <p>The Power Station Agent state machine pattern is illustrated
in Figure 8. The initial state for the two behaviour patterns
4http://www.fipa.org/.
depicted is the Clock State, where it waits for the time unit
message as well as the event message (in the behaviour pattern
shown on the left side of the picture), in case this affects it
directly. As the event message in this case can be only one
between the unavailability or the malfunctioning of the PS
itself, it sends a failure message to its PEP and sends the
synchronism message to the Clock Agent that brings it into its
initial state. In the behaviour pattern shown on the right side of
the picture the PS Agent receives a CFP from its PEP, sends
its offers and waits for acceptance. If the proposed offer is
accepted it sends a confirmation message to its PEP, provides
the extra energy and sends a synchronizing message to the
Clock Agent.</p>
        <p>The Power Exchange Point state machine pattern is shown
in Figures 9 and 10. In the first behaviour pattern the PEP
receives from the Clock the time unit message as well as an
event message about an increase in the consumption of energy
that involves it directly. The PEP sends a CFP message to all
its PSs and to its Zone and waits for energy offer proposals.
When the offers arrive the PEP ranks them according to the
best price available and sends an accept message to each of
its PSs of which it has accepted the offer, and to its Zone in
case an offer from a PS of another Zone has been accepted.
The PEP waits for a confirm message coming from all the PSs
that are in charge of supply the extra energy just bought, and
then it sends a synchronization message to the Clock. In the
second behaviour pattern the PEP receives a CFP coming from
its Zone (that is the case in which another Zone is requesting
offers for power supply) and forwards the message to its PSs.
It waits for offers to be forwarded to its Zone (for dispatching
them to the original requesting Zone), and waits for acceptance
messages (that will come from its Zone in case the original
requesting Zone receives them from its PEP, that is in charge
of collecting all the offers it needs and accepting some of
them). If accepting messages arrive it forwards them to all
its PSs that are involved and waits for confirmation messages
from them. It finally forwards them to its Zone (that again is
in charge of forwarding them to the accepting Zone that will
forward them to its PEP in order to complete the transaction).
It then sends a synchronization message to the Clock agent.
The Zone Agent state machine pattern can be visualized in
Figures 11, 12, and 13 . The Zone may receive from the Clock
an event relative to the transit limit damage or decreasing
capacity. In this case the Zone sends a message to its PEP
in order to inform it of the decrease in energy supply. The
PEP will act accordingly (see PEP first behaviour pattern). In
the second picture the Zone forwards a CFP from its PEP to
another Zone, waits for the offer message and forwards it to its
PEP. When the PEP sends an accept message it will forward
it to the original Zone that has done the requests and waits
from it the confirmation messages that it will forward to its
PEP. The third picture represents the symmetric of the previous
behaviour pattern. Here the Zone receives a CFP from another
Zone, forwards it to its PEP, waits for offers and forwards
them to the other Zone, waits for acceptance and forwards it
to its PEP, and finally waits for the confirmation message and
forwards it to the other Zone.</p>
        <p>A third common behaviour pattern for all the agents is
determined whenever the agent does not participate at all in the
simulation case at hand. It then remains in the initial state (the
Clock State) and sends to the Clock Agent a synchronization
message.</p>
      </sec>
      <sec id="sec-2-17">
        <title>K. A UMMAS-Lite Simulation Run</title>
        <p>In Figure 6 a simulation example of UMMAS-Lite in
action is reported in form of Jade Sniffer Agent Snapshot.
The simulation case reported is that of an unavailable or
malfunctioning Power Station that sends its unavailability
Fig. 13. The Zone Agent state machine pattern 3
message to its PEP and the transaction is conducted within a
single Zone boundaries. The names of the agents in the upper
boxes of the figure are in Italian. We provide hereafter their
translation in English:</p>
        <p>CE stands for PS;
PDSR stands for PEP;
ZONA stands for Zone.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>IV. RELATED AND FUTURE WORK</title>
      <p>
        The research collaboration activity between scientists of
DISI and engineers of Elsag Datamat has been centered upon
whether a MAS approach and technology is a well suited
solution to the analysis and modeling of a high level system
architecture where different entities with different roles,
autonomous and distributed over a network, may cooperate in a
complex scenario, as also discussed in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. In particular, the
synergy efforts of this activity have been focused on modeling
unavailability management simulation systems, where some
unexpected malfunctioning or unavailability event may occur
and compromise the system consistency, until a solution to the
problem is found and the system is restored to a consistent
state. Because of the relevance of the electricity domain and
of the many challenging problems it raises, we opted for using
the Italian electric power market as inspiring scenario.
      </p>
      <p>
        Differently from our prototypical system which was aimed
at a feasibility study in a quite general scenario, many
fullyfledged agent-based tools developed ad hoc for simulating
electricity markets exist. Among them we may cite SEPIA
[
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], EMCAS [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], STEMS-RT [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], NEMSIM [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ],
whose detailed analysis and comparison has been carried
out in [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. Although most of them include agent roles
which are similar to those that we defined for UMMAS (just
to make an example, in SEPIA there are Zones, Physical
Generators, Generation Companies, Generator of Last Resort,
Consumer Load, Consumer Companies, Transmission System,
and Transmission Operator), the physical model for the load of
individual consumers and the economic model the electricity
market are definitely more sophisticated than in UMMAS.
      </p>
      <p>Also, some of them are developed using general-purpose
agent-based modeling and simulation (ABMS) tools like
SWARM5, Repast6, MASON7, and NetLogo8, whereas
UMMAS is implemented using JADE.</p>
      <p>
        The choice of JADE as the tool for carrying out the research
on UMMAS was due to the background of the academic
partners that felt more comfortable with a tool they already
knew, but also to an experience they had in a similar domain
where the NetLogo ABMS tool proved not suitable for their
purposes [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], and to the lack, at the time the research activity
started, of settled methodologies for ABMS.
      </p>
      <p>
        Since integrated methodologies able to seamlessly guide
domain experts from the analysis of the system under
consideration to its modeling and analysis of simulation results
recently appeared [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], we are considering to re-design and
re-implement the UMMAS system using an ABMS system
instead of JADE.
      </p>
      <p>As a concluding remark, we may state that the
academicindustrial collaboration was fruitful and the engineers from
Elsag Datamat were satisfied of the results obtained by the
academic partners. In particular, both the ease of analyzing
a complex scenario following an agent-oriented approach and
the closeness of the architecture of the resulting MAS to the
real scenario architecture were extremely appreciated.</p>
      <p>DISI and SELEX Elsag are currently working at a
generalization of both the model behind UMMAS and the
implemented MAS, in order to make them applicable to other
domains of industrial interest.</p>
    </sec>
    <sec id="sec-4">
      <title>ACKNOWLEDGMENT</title>
      <p>The work of the first and second authors is supported
by the Italian research project Iniziativa Software
CINIFinMeccanica, and in particular their work is framed within
the “Software Agents in Support of Complex Systems
Interoperability” Laboratory.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>D.</given-names>
            <surname>Briola</surname>
          </string-name>
          and
          <string-name>
            <given-names>V.</given-names>
            <surname>Mascardi</surname>
          </string-name>
          .
          <article-title>Design and implementation of a NetLogo interface for the stand-alone FYPA system</article-title>
          . In this volume.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>G.</given-names>
            <surname>Conzelmann</surname>
          </string-name>
          , M. North, G. Boyd,
          <string-name>
            <given-names>R.</given-names>
            <surname>Cirillo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Koritarov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Macal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Thimmapuram</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Veselka</surname>
          </string-name>
          .
          <article-title>Simulating strategic market behavior using an agent-based modeling approachresults of a power market analysis for the midwestern United States</article-title>
          .
          <source>In Proc. of the 6th IAEE European Energy Conference on Modeling in Energy Economics and Policy</source>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>R.</given-names>
            <surname>Entriken</surname>
          </string-name>
          .
          <article-title>Using automated agents with probe: interface requirements specification</article-title>
          .
          <source>Technical Report 1012157</source>
          , EPRI, Palo Alto,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>A.</given-names>
            <surname>Garro</surname>
          </string-name>
          and
          <string-name>
            <given-names>W.</given-names>
            <surname>Russo</surname>
          </string-name>
          . easyABMS:
          <article-title>A domain-expert oriented methodology for agent-based modeling and simulation</article-title>
          .
          <source>Simulation Modelling Practice and Theory</source>
          ,
          <volume>18</volume>
          (
          <issue>10</issue>
          ):
          <fpage>1453</fpage>
          -
          <lpage>1467</lpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>G.</given-names>
            <surname>Grozev</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.</given-names>
            <surname>Batten</surname>
          </string-name>
          .
          <article-title>NEMSIM: practical challenges for agent-based simulation of energy markets</article-title>
          .
          <source>In Proc. of CSIRO Complex Systems Science Annual Workshop. CSIRO Manufacturing and Infrastructure Technology</source>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>G.</given-names>
            <surname>Grozev</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Batten</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Aanderson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Lewis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Mo</surname>
          </string-name>
          , and
          <string-name>
            <surname>J. Katzfey.</surname>
          </string-name>
          <article-title>NEMSIM: agent-based simulator for australia's national electricity market</article-title>
          .
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>S.</given-names>
            <surname>Harp</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Brignone</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B. F.</given-names>
            <surname>Wollenberg</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Samad</surname>
          </string-name>
          .
          <article-title>SEPIA: a simulator for electric power industry agents</article-title>
          .
          <source>IEEE Contr. Syst. Mag.</source>
          ,
          <volume>20</volume>
          (
          <issue>4</issue>
          ):
          <fpage>53</fpage>
          -
          <lpage>69</lpage>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>N. R.</given-names>
            <surname>Jennings</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Sycara</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Wooldridge</surname>
          </string-name>
          .
          <article-title>A roadmap of agent research and development</article-title>
          .
          <source>Autonomous Agents and Multi-Agent Systems</source>
          ,
          <volume>1</volume>
          (
          <issue>1</issue>
          ):
          <fpage>7</fpage>
          -
          <lpage>38</lpage>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>V.</given-names>
            <surname>Koritarov</surname>
          </string-name>
          .
          <article-title>Real-world market representation with agents</article-title>
          .
          <source>IEEE Power Energy Mag.</source>
          ,
          <volume>2</volume>
          (
          <issue>4</issue>
          ):
          <fpage>38</fpage>
          -
          <lpage>46</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>S.</given-names>
            <surname>McArthur</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E. M.</given-names>
            <surname>Davidson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V. M.</given-names>
            <surname>Catterson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. L.</given-names>
            <surname>Dimeas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N. D.</given-names>
            <surname>Hatziargyriou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Ponci</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Funabashi</surname>
          </string-name>
          <article-title>. Multi-agent systems for power engineering applications - part i: Concepts, approaches, and technical challenges</article-title>
          .
          <source>Power Systems</source>
          , IEEE Transactions on,
          <volume>22</volume>
          (
          <issue>4</issue>
          ):
          <fpage>1743</fpage>
          -
          <lpage>1752</lpage>
          , nov.
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>Z.</given-names>
            <surname>Zhou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Chan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>and J.</given-names>
            <surname>Chow</surname>
          </string-name>
          .
          <article-title>Agent-based simulation of electricity markets: a survey of tools</article-title>
          .
          <source>Artificial Intelligence Review</source>
          ,
          <volume>28</volume>
          :
          <fpage>305</fpage>
          -
          <lpage>342</lpage>
          ,
          <year>2007</year>
          .
          <volume>10</volume>
          .1007/s10462-009-9105-x.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>