<!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>Timing Reliability for Local Schedulers in Multi-Agent Systems</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Davide Calvaresi</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Giuseppe Albanese</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mauro Marinoni</string-name>
          <email>m.marinonig@sssup.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Fabien Dubosson</string-name>
          <email>fabien.dubossong@hevs.ch</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Paolo Sernani</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Aldo Franco Dragoni</string-name>
          <email>a.f.dragonig@univpm.it</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Michael Schumacher</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Scuola Superiore Sant'Anna</institution>
          ,
          <addr-line>Pisa</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Universita` Politecnica delle Marche</institution>
          ,
          <addr-line>Ancona</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>University of Applied Sciences Western Switzerland</institution>
          ,
          <addr-line>Sierre</addr-line>
          ,
          <country country="CH">Switzerland</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>In the last decades, the use of Multi-Agent Systems (MAS) resulted in being the most relevant approach to foster the development of systems performing distributed reasoning, automated/autonomous actions, and regulating component interactions in unpredictable and uncertain scenarios. The scientific community provided numerous innovative contributions about resource and task allocation seeking for optimal/sub-optimal solutions. The adoption of MAS in CyberPhysical Systems (CPS) is producing outstanding results. However, in current MAS, the actual task execution is still delegated to traditional general-purpose scheduling algorithms running within the agent (local scheduler of behaviors). The main consequence is the incapability to enforce compliance with strict timing constraints (i.e., the impossibility of providing any guarantee about the system's behavior in the worst-case scenario). Therefore, the adoption of MAS is hampered, excluding significant application scenarios such as safety-critical environments. This paper proposes the schedulability analysis of various task-sets, that are feasible using real-time schedulers, on top of traditional general-purpose solutions. In particular, the study of deadline-missing rate occurring in general-purpose setups, evaluated on an agent-based simulator developed on OMNET++, named MAXIM-GPRT, is presented. The obtained results strengthen the motivations for adopting and adapting real-time scheduling mechanisms as the local scheduler within agents.</p>
      </abstract>
      <kwd-group>
        <kwd>Timing-Reliability</kwd>
        <kwd>Deadline-Missing Rate</kwd>
        <kwd>Scheduling Simulation</kwd>
        <kwd>Multi-Agent Simulator</kwd>
        <kwd>Agent Local Scheduler</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Cyber-Physical Systems (CPS) can be composed of a multitude of electronic devices
with any sort of size. Therefore, they can be considered as the maximal expression
of distributed systems pervading humankind’s daily living [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. Continuously
interacting with their surrounding, CPS can collect data exploiting ever-increasing types of
distributed sensors. Feedback and data elaborated locally or remotely feed both
networks of simple sensors/actuators and intelligent, more complex, distributed entities.
The agent-based paradigm is definitely one of the most prominent and promising
approaches supporting a broad range of distributed applications. Multi-Agent Systems
(MAS) are profusely contributing to domains such as energy [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ], manufacturing [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ],
e-health [
        <xref ref-type="bibr" rid="ref7 ref8">7, 8</xref>
        ], and telerehabilitation [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. However, regardless of application scenarios,
dimensions, and distribution, the safety of the system and its users is a crucial
requirement.
      </p>
      <p>
        To operate in safety-critical scenarios, the absence of hardware failures and coding
errors is not a sufficient guarantee. Hence, a system is considered able to guarantee its
correct execution if it can deliberate the right output at or within a given time, even in
the worst-case scenario [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. Hereafter, such a feature is referred as “timing-reliability”.
It is the fundamental property of the real-time computation systems, i.e., those systems
capable to react within precise time constraints to events in the environment where they
operate.
      </p>
      <p>
        Concerning MAS, a multitude of elements operate simultaneously. Individually or
collectively, they have to be able to provide primitive mechanisms guaranteeing
timingreliability. In particular, such components are: (i) an “intelligent/strategic” layer (i.e.
allows single components and the CPS as a whole to achieve their goals), (ii) a
communication middleware (i.e. to allow the exchange of information and requests among the
components of the CPS), and (iii) local policies (i.e. schedulers and heuristics enabling
each component to execute its tasks). MAS have been employed in automatic,
semiautomatic and highly unpredictable and uncertain environments. Nevertheless,
mechanisms such as negotiation, communication, and local scheduling have to operate safely
in either one. Moreover, current agent-based frameworks cannot yet support the
development of a MAS able to guarantee full compliance [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. In fact, according to the study
proposed in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], most of the solutions composing the state of the art take the execution
of the allocated task for granted. Such an assumption is naive and unsustainable if
dealing with real safety-critical applications.
      </p>
    </sec>
    <sec id="sec-2">
      <title>Contributions.</title>
      <p>
        This paper studies qualitatively and quantitatively the behaviors of the local schedulers
employed in the most relevant agent-based platforms [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] and the most common
negotiation protocols. The obtained results have been compared and discussed with respect
to real-time scheduling algorithms.
      </p>
      <p>In particular, considering that general-purpose scheduling algorithms neither
consider the deadline notion nor can provide any timing guarantee, to enable a performance
analysis we have:
(i) Developed an OMNET++ based simulator implementing: a dynamic number of
agents, Contract Net (CNET) and Contract Net With Confirmation (CNCP)
negotiation protocols, First Come First Served (FCFS), Round Robin (RR), Earliest
Deadline First (EDF), and Constant Bandwidth Server (CBS) local schedulers.
(ii) Generated random tasks-sets characterized by parameters computed according to a
uniform distribution.
(iii) Analyzed and discussed the obtained outputs.</p>
      <p>The paper is organized as follows: Section 2 presents and elaborates the state of
the art, Section 3 describes the simulator, Section 4 presents the tests generation and
execution. Moreover, it organizes, describes, and discusses the experimental results,
and finally Section 5 concludes the paper.
2</p>
      <sec id="sec-2-1">
        <title>State of the art</title>
        <p>
          In the MAS panorama, the notion of scheduling applies mainly to mechanisms of
task/resources allocation among the agents within one or more platforms. Although
such studies provided significant results, they took for granted the task/behavior
execution after allocation and the compliance with the agreements (or commitment)
stipulated during the negotiation phase [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. Such optimistic assumption has been shown to
be unpredictable, thus unacceptable for safety-critical applications [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ].
        </p>
        <p>
          In most of the cases, existing MAS are powered by platforms supporting the
development of agent-based systems. Hence, considering the study proposed by Kravari and
Bassiliades [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ] as common ground, Calvaresi et al. [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] investigated the local schedulers
adopted/proposed by the most relevant agent platforms: almost all have implemented at
least one local scheduler. NetLogo [22] and Cormas [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] are two exceptions, delegating
the development of local schedulers to programmers. In fact, fostering the
implementation of custom versions of behavior schedulers should promote a broader set of
algorithms. However, despite such flexibility, the dynamics of the customized schedulers
can be attributed to classic algorithms. In particular, MaDKit [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ], RePast [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ], and
Swarm [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ] implement the FCFS, GAMA [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] and MASON [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ] implement a priority
scheduler (e.g. SJF-like), Jason implements an RR applied to structured behaviors, and
finally JADE implements a non-preemptive RR [21]. The Jason and Jade
implementations of RR result in being FCFS of intentions [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ] in the first case and of behaviors in
the second. The FCSF and RR scheduling algorithms are two of the most known
algorithms and inspired a multitude of variants.
        </p>
        <p>FCFS (also referred as FIFO) executes tasks in the exact order of their arrival
(according to their position in the ready queue). The absence of preemption or re-ordering in
this mechanism allows to classify the FCFS as “the simplest scheduling policy with
minimal scheduling overhead”.</p>
        <p>RR slices the tasks’ computing time on the processor in equal time-quantum. Thus,
the tasks in the ready queue are cycled to get the CPU. If a running task is completed,
the processor directly computes the next one; otherwise, it saves the task status and
puts it back in the ready-queue before computing the next one (context switch). RR
is mainly appreciated for its fairness, preventing the tasks’ starvation. However, these
basic mechanisms, as they are, cannot be employed in safety-critical and real-time
operating systems because of the long waiting time, significant response time (which has
to be recalculated for any new task arrival [24]) and the lack of mechanisms for dealing
with strict-timing constraints.</p>
        <p>In light of these factors, for both FCFS and RR, the risk of missing deadlines
(however neglected) might dramatically increase, thus degrading system performance and
compromising its safety and reliability.</p>
        <p>
          Concerning real-time compliant scheduling algorithms4, differently from FCFS and
RR, it is mathematically possible to prove the respect of strict timing constraints by
performing the task admission control [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]. The study of the behavior of MAS employing
general-purpose algorithms dealing with tasks characterized by deadlines reveals
concrete risks and possibilities of failure.
        </p>
        <p>The next section presents the simulator that has been realized to test different setups
and measure the recorded deadline-missing rate.
3</p>
      </sec>
      <sec id="sec-2-2">
        <title>The Simulator: MAXIM-GPRT</title>
        <p>The objective of this study is to evaluate the timing-reliability of the scheduling
algorithms at the bottom of currently available agent-based platforms. To perform such an
evaluation, a new Multi-Agent System SIMulator for General-Purpose and Real-Time
algorithms, named MAXIM-GPRT, has been realized.</p>
        <p>
          MAXIM-GPRT relies on OMNET++ [23], which is a multi-platform
componentbased framework written in C++, supporting the development of simulators for
distributedlike systems, and providing a crucial support for realizing (i) basic components (nodes),
(ii) interactions, and (iii) network and communication means. It is extensible,
modular, and provides several simulation libraries, integrating a graphical development,
run-time environment, and, most importantly, enabling the development of real-time
simulations [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ].
3.1
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>MAXIM-GPRT Structure</title>
      <p>
        The simulator is composed of simple modules communicating with each-other by
exchanging messages. Coded in C++, such active modules embody the agents. The basic
template offers extendable initialization procedure and primitives to handle the message
exchange. The modules have been extended to represent the agents’ knowledge, desires,
behaviors, and connections. Moreover, the modules are organized in a fully connected
network, structured using the specific NED (NEtwork-Description) language. For the
purposes of this study such NED-coded network involves two main types of agents:
– Classic agent: 0 to n agents sharing only a common generic structure, but
characterized by diverse and pliable features;
– Directory Facilitator (DF): borrowing the notion by the FIPA specifications about
agent platforms [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], the DF contains the mapping of the agents and the related
services offered. In the current view, it is meant to be 1 per community.
4 Schedulers able to guarantee that scheduled tasks will meet their timing constraints.
      </p>
      <sec id="sec-3-1">
        <title>Need 1</title>
      </sec>
      <sec id="sec-3-2">
        <title>Need n</title>
      </sec>
      <sec id="sec-3-3">
        <title>Needs</title>
      </sec>
      <sec id="sec-3-4">
        <title>Handler</title>
      </sec>
      <sec id="sec-3-5">
        <title>Scheduler</title>
        <p>τ
τ</p>
      </sec>
      <sec id="sec-3-6">
        <title>Task 1</title>
      </sec>
      <sec id="sec-3-7">
        <title>Task n</title>
      </sec>
      <sec id="sec-3-8">
        <title>Task</title>
      </sec>
      <sec id="sec-3-9">
        <title>Generator</title>
      </sec>
      <sec id="sec-3-10">
        <title>Service 1</title>
      </sec>
      <sec id="sec-3-11">
        <title>Service n</title>
      </sec>
      <sec id="sec-3-12">
        <title>Services</title>
      </sec>
      <sec id="sec-3-13">
        <title>Handler</title>
        <p>In particular, Listing 1 shows the initialization function called only once for each
agent at the beginning of the simulation. Lines 3 to 11 load the simulator’s settings (e.g.,
the maximum dimension of the services vector). Then, a task generator and a needs5
handler, dealing respectively with a tasks vector and needs vector, are created. At line
15 “If the agent is the DF” follows, the service handler (containing all the services
published by the agents at run-time) is created. Otherwise, from line 18 to 21, the
initialization function creates all the other objects used by the classical agents: the connections
table (mapping the in/out-ports), the heuristic handler (containing the heuristics used
in the negotiation phase), and the report files (used to track information such as
deadline misses and response time). Finally, from line 22 to 31 the agent’s task-set setting,
the agent’s internal scheduler, the agent’s offered services, and its needs are configured
(Figure 1).</p>
        <p>In the current version of MAXIM-GPRT, the agents can be equipped with:
– Scheduler: FCFS, RR, EDF, and CBS;
– Negotiation prot: CNET and CNCP;
– Heuristics: Considering that the output of the negotiations is not central in this
study, seeking simplicity and reproducibility we have: (H1) - if an agent can satisfy
a request, it will bid for it, (H2) - the first bidding agent is acknowledged for the
task execution.</p>
        <p>5 given tasks which execution is delegated to other agents via negotiation</p>
        <p>To study “timing reliability of general-purpose scheduler in MAS”, it has been
decided to employ CNET as the negotiation protocol, focusing on the deadline-missing
rate of the two most employed scheduling algorithms. Thus, the two main
configurations that have been tested in the several setups presented in Section 4 are (C1): FCFS
+ CNET, and (C2): RR + CNET.
3.2</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>MAXIM-GPRT Internal Mechanisms</title>
      <p>The agent knowledge is represented by a set of tasks it is able to execute. Moreover,
from the same set of tasks, some or all of them can be marked as public, which means
that they are “services exposed to other agents in the case of necessity”. The execution
of such tasks is subject to the negotiation mechanisms.</p>
      <p>Whenever a task is released (put into the ready queue), the deadline-check is
triggered. When a task is activated (getting the CPU) a check for its completion is triggered.
Depending on the scheduling algorithm, if preemption occurs, the completion check is
updated (whilst the deadline-check remains unaltered). These mechanisms enable to
monitor the evolution of the system, tracking its behaviors over the time.</p>
      <p>Concerning the agents needs, they can be hard-coded or dynamically
generated/released at run-time. In the scope of this study, seeking for reproducibility, the needs
have been (randomly) generated off-line and then released at run-time (according to the
task-sets generations constraints, see Section 4).</p>
      <p>To ensure fairness, the needs have been uniformly distributed and generated
accordingly to the possibilities offered by the platform in a given setup.</p>
      <p>Concerning the negotiation, the CNET has been employed in this study. At the
startup of the platform (or whenever an agent decides to make a given service available)
the agent communicates to the DF the details about the exposed services which are
published on the DF table (in the format: agent - service(s)). Exploiting the classic
message exchange protocol, whoever needs a service gets the list of possible executors.
Then, according to the CNET mechanism, the negotiation takes place, employing the
heuristics H1 or H2 (presented in Section 3.1 respectively for selecting the possible
contractor and acknowledging the winning bid).
4</p>
      <sec id="sec-4-1">
        <title>Experimental Setup and Results</title>
        <p>In the scope of investigating the timing reliability, the deadline-missing rate recorded
by agents employing FCFS and RR as the local scheduler has been analyzed. The study
focuses on the execution of periodic tasks. All the generated task-sets are schedulable
under the EDF conditions (Processor Utilization Factor U 1). According to the
setups defined in Section 4.1, each task-set ranges regarding agent-utilization and single
task-utilization have been fixed. In particular, the values of Ui and Ci have been
generated randomly applying a uniform probability distribution. The related periods Ti have
been computed according to Equation (1). The task-set generation included the needs
generation, which is subject to Equation (1) and to the heuristics H1 and H2.</p>
        <p>Ti =</p>
        <p>Ci
Ui
(1)</p>
        <p>By doing so, and considering periodic tasks, all the task sets are feasible (i.e., no
deadline are missed), utilizing the EDF real-time scheduler that has been employed as
a term of comparison.</p>
        <p>
          Such an algorithm manages the priority according to the absolute deadline (D) of
the tasks. Therefore, EDF’s ready queue is sorted accordingly, and the task getting the
CPU is always the one with the earliest deadline. In the event that a task with a closer
deadline than the deadline of the running task is released, a preemption is triggered.
According to Horn [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ], given a set of n independent tasks with arbitrary arrival times,
any algorithm that at any instant executes the task with the earliest absolute deadline
among all the ready tasks is optimal with respect to minimizing the maximum lateness.
        </p>
        <p>
          It is worth to recall that the processor utilization factor U is the fraction of
processor time spent in the execution of the task set [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ], and it is calculated according to
Equation (2). If U is U &gt; 1, the schedule is not feasible for any algorithm. If U 1,
the schedule is surely feasible for EDF and, depending on the task set features, it might
be schedulable for the other algorithms.
        </p>
        <p>U =
n
X Ci
i=1 Ti
(2)</p>
        <p>The schedulability test performed by EDF relies on the calculation of U. It is quite
easy to be computed, sustainable to be done at run-time, and incremental. For example,
if the U of a given running task-set is 0.5, according to Equation 2, by adding a task i
with computation time Ci = 2 and period T = 20 it increases to U = 0:6. Checking if a
new task can be added at run-time to the task-set has a considerably low computational
impact on the CPU and does not require to recompute the whole algorithm.</p>
        <p>Missing both the notions of deadline and schedulability test (that can prove
offline the respect of the timing constraints), the behaviors of FCFS and RR have been
investigated using the simulator presented in Section 3. The setups employed for such
a study are presented in the next section.
4.1</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Simulation setups</title>
      <p>The parameters characterizing the simulated scenarios employed for both FCFS and
RR are: (i) number of agents, (ii) single agent utilization factor, and (iii) single task
utilization factor6. Concerning the number of agents (N a), the configurations are: 3; 5; 10
(DF excluded). To better understand the impact of the agent utilization factor (U a) on
the deadline-missing rate, three distributions have been tested: low Ula = (0:1 0:5),
medium U ma = (0:6 0:8), and high Uha = (0:9 1). Concerning the utilization factor
(U ) of the single tasks composing the task-sets, three distribution have been defined:
(i) low Ul = (0:1 0:3), (ii) high Uh = (0:4 0:6), and (iii) mixed Ux = Ul [ Uh .
Thus, by combining the parameters mentioned above and generating three
configurations for each set of parameters, a total amount of 486 task sets has been tested with
both FCFS and RR simulations and mathematically proved exploiting the EDF
schedulability test.
4.2</p>
    </sec>
    <sec id="sec-6">
      <title>Results Presentation</title>
      <p>The percentages of deadlines missed obtained in the first run, denoted as (x.x.x.17), is
executed for all the nine configurations over 10000 seconds of simulation, are shown in
Table 1 for FCFS, and in Table 2 for RR.</p>
      <p>Figure 2 shows the number of deadline misses, comparing all the different setups
of the first of the analyzed runs (for both FCFS and RR). As expected, the
configuration with low utilization for both agents and single tasks does not produce any deadline
miss. Similarly, with both agent utilization and single task utilization high, few deadline
misses have been recorded. In particular, 8% in configuration 3.2.2.1 (FCFS) and 16%
6 The single contribution (Ci=Ti) given by a single task to the task-set of the agent executer is
referred as single task utilization factor.
7 The compact format x.x.x.x stands for (N a) . (U a) . (U ) . (N. of run)
in 3.2.2.1 (RR). Such results might be due to the possibility of having harmonic
executions8. Finally, considering a scenario closer to real-applications (high agent utilization
and task-set composed by mixed utilization factors) the occurrence of deadline misses
increases dramatically. Hence, with both FCFS and RR, Ux record deadline misses with
any tested load (particularly in Uha).</p>
      <p>For example, Figure 3 presents the snap-shot of the first 200 seconds of the
simulation with 5 agents, U ma and Al in FCFS. It is visible, that task4 for agent 2 and task6
for agent 4 systematically miss multiple deadlines. According to the task-sets of such
simulation (see Table 3), it means that executing the tasks accepted throughout the
negotiation destabilized the internal scheduler, thus causing the generation of the plotted
deadline misses.
8 A task set is said to be harmonic if the tasks have periods that are positive multiple with each
other. Given an utilization U 1, an harmonic task set is always schedulable and does not
produce deadline misses.
3500
3000
2500
2000
1500
1000
500
0</p>
      <p>UH , UHA
UH , UHA
UH , UHA</p>
      <p>UH , UHA
UH , UHA
UH , UHA</p>
      <p>UX , UMA
UX , UMA
UX , UHA</p>
      <p>Aggregating the output obtained from all the simulations executed with 10 agents,
Figure 4a plots the amount of deadlines missed by the task-set with U , Uh , and Ux
l
with respect to the variation of U a obtained with FCFS.</p>
      <p>Except for the task-sets with Uh which do not miss any deadline, as mentioned at
the beginning of Section 4.2, the task-sets with Ul have a higher miss ratio with respect
to the task-sets with Ux .</p>
      <p>This behaviour can be explained considering that to reach a utilization factor of
about 0:8, many small tasks are required (many more with respect to Uh and Ux ), thus
increasing the probability of competing for the processor due to their different execution
frequency.</p>
      <p>Nevertheless, for Uha mixed task-sets record more deadline-misses with respect to
the others, since for higher U, it is possible to allocate more combinations of tasks
having Ul and Uh . Figure 4d plots a linear trend of the deadline-missed in the first 1200
seconds for the setup composed by 10 agents with Uha and Ux .</p>
      <p>Exploiting the same data aggregated to realize Figure 4a (i.e., deadline missed in all
the setups with 10 agents), the distribution of the deadline missed grouped for U a, U ma,
l
and Uha over U , Uh , and Ux is shown (see Figure 4b). Thanks to this visualization, it
l
is possible to emphasize the variation of the deadline-misses by the types of task-sets
over the distribution of the U a. In particular, it is noticeable that the gap between the
deadlines missed by Ul and Ux with U ma is considerably greater than the gap the same
Ul and Ux counted with U a.</p>
      <p>h
Task-set withUX
Task-set withUL
Task-set withUH
d
m
n
s
e
sesi3000
il
aeD2000
s
d
m
e
a
80
70
60
seis50
einl40
D30
20
10
0 0
(a) Deadlines missed for 10 agents over Uha per
Ul , Uh , and Ux .
1000</p>
      <p>0
Analyzing the results provided in Section 4, it is possible to understand that: (i) there is
no correlation between FCFS and RR’s behaviors, and (ii) in both FCFS and RR there
is a tight connection between the features of the task-sets and the performance of the
schedulers. Given this strong dependency, and the impossibility of providing any
off/online guarantee, the employment of such scheduling algorithms makes existing MAS
platforms non suitable for safety-critical applications. Nevertheless, such a variability
of behaviors could be tolerated in soft real-time systems, which however would be
forced to be over-dimensioned and empirically tested (when possible) in every expected
scenario.</p>
      <p>Concerning the case of periodic tasks, EDF outperforms considerably FCFS and
RR, guaranteeing no deadline misses in all the tested setups. However, it still cannot
fully suite the MAS requirements. Hence, recalling that MAS can also negotiate the
execution of one-shot (aperiodic/sporadic) tasks, it emphasizes that requirements such as
(i) having mechanisms to handle aperiodic requests (major outcome of sporadic and
unpredictable negotiations) and (ii) guaranteeing isolation among tasks (in real-case
scenarios, the tasks’ computational time cannot always be considered ideal and be trusted
by default), cannot be met solely by EDF.</p>
      <p>
        Thus, to deal with the dynamic tasks’ activations and arrival times unknown a
priori, the Constant Bandwidth Server (CBS) [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] is considered eligible. Moreover, it can
deal with dynamic admission tests (whenever it is required to add a new task to the
system) ensuring isolation among the tasks (thanks to an efficient bandwidth reservation
strategy), and finally, being based on EDF, it maintains the same advantages mentioned
above.
      </p>
      <p>Table 5 summarizes its most characterizing features together with those of the
schedulers analyzed and discussed in the paper.
§ § © ©
§ § © ©
§ § § ©
§ § § ©
§ § § ©</p>
      <p>No deadline missed for U</p>
      <p>1
Utilization based acceptance test
Providing schedulability test for aperiodic request
Isolation between sporadic and periodic tasks9</p>
      <p>Server support and admission test
5</p>
      <sec id="sec-6-1">
        <title>Conclusions</title>
        <p>The proposed study analyzes the deadline miss ratio of general-purpose scheduling
algorithms employed by the most used multi-agent platforms. To investigate the
socalled timing-reliability in MAS, a MAS simulator named MAXIM-GPRT has been
developed. Being able of tuning parameters such as agent utilization factor, single task
utilization factor, and task-set composition revealed to be a crucial support for the
performance analysis.</p>
        <p>This study produced evidence eliciting that the employment of MAS in scenarios
demanding mandatory compliance with strict-timing constraints is not safe yet. Thus,
adoption and adaption of real-time scheduling models in MAS are enforced.</p>
        <p>The ongoing work consists in extending the presented study to other task models
such as periodic in an interval, aperiodic, and sporadic tasks.
9 only between the sub-set of the tasks handled by the server and the periodic task-set
21. TILab: JADE Manual. http://jade.tilab.com/doc/programmersguide.pdf, [Accessed may’17]
22. Tisue, S., Wilensky, U.: Netlogo: Design and implementation of a multi-agent modeling
environment. In: Proceedings of agent. vol. 2004, pp. 7–9 (2004)
23. Varga, A.: Omnet++. Modeling and Tools for Network Simulation pp. 35–59 (2010)
24. Yaashuwanth, C., Ramesh, R.: Intelligent time slice for round robin in real time operating
systems. IJRRAS 2(2), 126–131 (2010)</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <article-title>Foundation for Intelligent Physical Agents Standard</article-title>
          . http://www.fipa.org/specs/fipa00023/SC00023K.html,
          <source>[Accessed</source>
          <year>2017</year>
          -
          <volume>09</volume>
          -24]
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Albanese</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Calvaresi</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sernani</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dubosson</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dragoni</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schumacher</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <string-name>
            <surname>MAXIM-GPRT</surname>
          </string-name>
          :
          <article-title>A simulator of local schedulers, negotiations, and communication for multiagent systems in general-purpose and real-time scenarios</article-title>
          .
          <source>In: Proceedings of the 16th International Conference</source>
          , PAAMS (
          <year>2018</year>
          ), https://doi.org/10.1007/978-3-
          <fpage>319</fpage>
          -94580-4 23
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Bordini</surname>
            ,
            <given-names>R.H.</given-names>
          </string-name>
          , Hu¨ bner,
          <string-name>
            <surname>J.F.</surname>
          </string-name>
          :
          <article-title>Bdi agent programming in agentspeak using jason</article-title>
          .
          <source>In: Proceedings of the 6th international conference on Computational Logic in Multi-Agent Systems</source>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Bousquet</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bakam</surname>
            , ., Proton,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Le Page</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Cormas: common-pool resources and multiagent systems</article-title>
          . In: International Conference on Industrial,
          <source>Engineering and Other Applications of Applied Intelligent Systems</source>
          . pp.
          <fpage>826</fpage>
          -
          <lpage>837</lpage>
          . Springer (
          <year>1998</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Buttazzo</surname>
          </string-name>
          , G.:
          <article-title>Hard real-time computing systems: predictable scheduling algorithms and applications</article-title>
          , vol.
          <volume>24</volume>
          . Springer Science &amp; Business
          <string-name>
            <surname>Media</surname>
          </string-name>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Calvaresi</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Appoggetti</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lustrissimini</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marinoni</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sernani</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dragoni</surname>
            ,
            <given-names>A.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schumacher</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>Multi-agent systems negotiation protocols for cyber-physical systems: Results from a systematic literature review</article-title>
          .
          <source>In: Proceedings of 10th International conference on agents and artificial intelligence</source>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Calvaresi</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cesarini</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sernani</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marinoni</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dragoni</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sturm</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Exploring the ambient assisted living domain: a systematic review</article-title>
          .
          <source>Journal of Ambient Intelligence and Humanized</source>
          Computing pp.
          <fpage>1</fpage>
          -
          <lpage>19</lpage>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Calvaresi</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Claudi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dragoni</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Accattoli</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sernani</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>A goal-oriented requirements engineering approach for the ambient assisted living domain</article-title>
          .
          <source>In: Proceedings of the 7th International Conference on PErvasive Technologies</source>
          Related to Assistive Environments. pp.
          <volume>20</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>20</lpage>
          :
          <fpage>4</fpage>
          . PETRA '
          <volume>14</volume>
          (
          <year>2014</year>
          ), http://doi.acm.
          <source>org/10</source>
          .1145/2674396.2674416
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Calvaresi</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marinoni</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lustrissimini</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Appoggetti</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sernani</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dragoni</surname>
            ,
            <given-names>A.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schumacher</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Buttazzo</surname>
          </string-name>
          , G.:
          <article-title>Local scheduling in multi-agent systems: getting ready for safety-critical scenarios</article-title>
          .
          <source>In: Proceedings of 15th European Conference on Multi-Agent Systems</source>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Calvaresi</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schumacher</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marinoni</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hilfiker</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dragoni</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Buttazzo</surname>
          </string-name>
          , G.:
          <article-title>Agentbased systems for telerehabilitation: strengths, limitations and future challenges</article-title>
          .
          <source>In: proceedings of X Workshop on Agents Applied in Health Care</source>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Calvaresi</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marinoni</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sturm</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schumacher</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Buttazzo</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          :
          <article-title>The challenge of real-time multi-agent systems for enabling iot and cps</article-title>
          .
          <source>in proceedings of IEEE/WIC/ACM International Conference on Web Intelligence (WI'17) (Aug</source>
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Collier</surname>
          </string-name>
          , N.:
          <article-title>Repast: An extensible framework for agent simulation</article-title>
          .
          <source>The University of Chicagos Social Science Research</source>
          <volume>36</volume>
          ,
          <year>2003</year>
          (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Grignard</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Taillandier</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gaudou</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vo</surname>
            ,
            <given-names>D.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Huynh</surname>
            ,
            <given-names>N.Q.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Drogoul</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Gama 1.6: Advancing the art of complex agent-based modeling and simulation</article-title>
          .
          <source>In: International Conference on Principles and Practice of Multi-Agent Systems</source>
          . pp.
          <fpage>117</fpage>
          -
          <lpage>131</lpage>
          . Springer (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Gutknecht</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ferber</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>The madkit agent platform architecture</article-title>
          .
          <source>In: Workshop on Infrastructure for Scalable Multi-Agent Systems at the International Conference on Autonomous Agents</source>
          . pp.
          <fpage>48</fpage>
          -
          <lpage>55</lpage>
          . Springer (
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Horn</surname>
            ,
            <given-names>W.:</given-names>
          </string-name>
          <article-title>Some simple scheduling algorithms</article-title>
          .
          <source>Naval Research</source>
          Logistics pp.
          <fpage>177</fpage>
          -
          <lpage>185</lpage>
          (
          <year>1974</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Hsieh</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Modeling and control of holonic manufacturing systems based on extended contract net protocol</article-title>
          .
          <source>In: Proceedings of the American Control Conference</source>
          . vol.
          <volume>6</volume>
          , pp.
          <fpage>5037</fpage>
          -
          <lpage>5042</lpage>
          (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Kravari</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bassiliades</surname>
          </string-name>
          , N.:
          <article-title>A survey of agent platforms</article-title>
          .
          <source>Journal of Artificial Societies and Social Simulation</source>
          <volume>18</volume>
          (
          <issue>1</issue>
          ),
          <volume>11</volume>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Luke</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cioffi-Revilla</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Panait</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sullivan</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Mason: A new multi-agent simulation toolkit</article-title>
          .
          <source>In: Proceedings of the 2004 swarmfest workshop</source>
          . pp.
          <fpage>316</fpage>
          -
          <lpage>327</lpage>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>McArthur</surname>
            ,
            <given-names>S.D.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Davidson</surname>
            ,
            <given-names>E.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Catterson</surname>
            ,
            <given-names>V.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dimeas</surname>
            ,
            <given-names>A.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hatziargyriou</surname>
            ,
            <given-names>N.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ponci</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Funabashi</surname>
          </string-name>
          , T.:
          <article-title>Multi-agent systems for power engineering applications 2014;part i: Concepts, approaches, and technical challenges</article-title>
          .
          <source>IEEE Transactions on Power Systems</source>
          pp.
          <fpage>1743</fpage>
          -
          <lpage>1752</lpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Minar</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Burkhart</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Langton</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Askenazi</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , et al.:
          <article-title>The swarm simulation system: A toolkit for building multi-agent simulations (</article-title>
          <year>1996</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>