<!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>A Smart Health Assistant via DALI Logical Agents?</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Stefania Costantini</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Lorenzo De Lauretis</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Claudio Ferri</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jessica Giancola</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Fabio Persia</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of L'Aquila</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>In this paper we describe an application of DALI logical agents in the eHealth eld, where DALI is an agent-oriented language developed by our research group, based on the logic programming paradigm. Thanks to DALI, we have been able to build intelligent agents via very few lines of code, that implement signi cant reasoning tasks. In our project, we build a Smart Health Assistant, that is a Multi-Agent System (MAS) developed by using the DALI language in conjunction with Redis. This Smart Health Assistant is able to cooperate with an app situated on the patient's mobile phone, to capture health data from sensors, elaborate it, and then send the current health status to the patient and possibly to the doctor, thus providing real-time health monitoring.</p>
      </abstract>
      <kwd-group>
        <kwd>Arti cial Intelligence</kwd>
        <kwd>DALI</kwd>
        <kwd>eHealth</kwd>
        <kwd>Logic Programming</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>Arti cial Intelligence is a eld of computer science aimed at understanding and
building intelligent entities, dating back to the period after the World War II,
and whose developments have increased enormously in recent years. It is a truly
universal eld, as it can be applied in any intellectual context, from games such
as chess to many areas of medicine. In the last century the rst intelligent agents
were born, but what is an agent? As in [29]: \An agent is anything that can be
seen as a system that perceives its environment through sensors and acts on it
through actuators". That is, an agent is composed of one or more sensors, which
may be cameras, infrared sensors, ultrasonic sensors and so on, which provide
a perception of the external world, and actuators, which may be, for example,
motors, which allow the agent to perform actions.</p>
      <p>
        However, what can make agents `intelligent' is their software `core', which
processes the input received and obtains the best response. Nowadays, there
are many languages that can be used for programming Arti cial Intelligence,
including Python, C++ and Prolog. There are many di erent implementations
of the latter, among which in particular SICStus Prolog [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], which is the basis
? Copyright c 2021 for this paper by its authors. Use permitted under Creative
Commons License Attribution 4.0 International (CC BY 4.0).
of the DALI [
        <xref ref-type="bibr" rid="ref11">11, 21</xref>
        ] agent-oriented language. DALI is in fact a logical language;
so, similarly to Prolog, it is based on the logic programming paradigm.
      </p>
      <p>The project that we present in this paper focuses on the eld of healthcare,
with particular attention to machine-supported assistance of persons with
special needs { in particular, the ill, the elderly and the disabled { to improve their
independence and general quality of life. The project has been developed in
cooperation with the ESH Center of Excellence for Hypertension of the University
of LAquila, directed by Prof. Claudio Ferri. The provision of quality
healthcare in a cost-e ective way is in fact a critical issue in all countries, due to the
ageing population, the reappearance of diseases that were considered extinct,
and the development of challenging new issues, such as the Ebola and Covid-19
pandemics. Intelligent healthcare systems can be helpful to cope with such
issues in the interest of patients, doctors, personnel and all other parties involved,
including patients families. Hardware devices are gradually becoming less
expensive, including wearable devices for detecting patients data (such as, e.g, blood
pressure, heart beating, fever, etc). In fact, the prototype system that we
implemented exploits some cost-a ordable wearable devices. The project must be
seen as the rst step towards an overall system that we intend to devise, that
will be demonstrably capable to ensure high-quality and sustainable health
services while addressing ethical challenges, since ethical behaviour must be in our
view an inherent feature of such a system. This kind of system may constitute
in perspective a long-term solution in the everyday management of an ageing
population, even in dramatic and pressing circumstances, such as a pandemic.</p>
      <p>
        In particular, here we introduce a Smart Health Assistant, built upon the
DALI language, using Multi Agent Systems (MAS), and in particular logical
agents, as the basic technique. The main agent of our MAS is
\SmartHealthHelper", that will be described in detail below, and constitutes a patient's
\Personal Assistant Agent". This simple system is intended as a rst step towards a
much more comprehensive system, on the line of the proposal exposed in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>The paper is organized as follows. In Section 2, we introduce the DALI
language. In Section 3, we describe the communication techniques available in DALI.
In Section 4 we show the agents composing the Smart Health Assistant MAS,
whereas in Section 5 we illustrate the overall system architecture. Eventually, in
Section 7 we highlight nal remarks concerning possible future scenarios.
2</p>
    </sec>
    <sec id="sec-2">
      <title>DALI</title>
      <p>
        The material exposed in this section and in the next one reports previous work
on logical agents to provide the notions needed in the subsequent sections. This
material is largely taken (in some parts literally, to be faithful to well-established
terminology) from [
        <xref ref-type="bibr" rid="ref11 ref12 ref13 ref17 ref18">11, 21, 23, 22, 20, 12, 13, 17, 18</xref>
        ] and from the DALI web site1.
      </p>
      <p>DALI is a logical language derived from Prolog, and, similarly to it, is based
on the logic programming paradigm. DALI has been fully implemented, on the</p>
      <sec id="sec-2-1">
        <title>1 https://github.com/AAAI-DISIM-UnivAQ/DALI</title>
        <p>basis of a fully logical semantics [22]. Logic programming, unlike object-oriented
programming which is based on solving a problem (i.e. traditional Java, Python,
C++ etc.), focuses on describing the logical structure of the problem by de
ning clauses (also called `rules'); speci cally, logic programming adopts the Horn's
fragment of clause logic [31]. In particular, DALI provides a number of
mechanisms that enhance the basic clause language, in order to support the
AgentOriented paradigm. This language o ers the possibility to implement one or
more intelligent agents leaving architectural freedom to the designer, i.e.,
without having to rely on a prede ned architecture to de ne the agents.</p>
        <p>To do so, DALI agents can employ constructs, such as events, goals and
actions, distinguishable by post- xed notation, to perform their task. DALI agents
are in particular composed of a set of rules based on the concepts of Reactivity,
Proactivity, Sociality, and Memory.</p>
        <p>
          Besides DALI, other computational-logic-based agent-oriented languages and
frameworks to specify agents and Multi-Agent Systems (MAS) have in fact been
de ned over time; for a survey of these languages and architectures, each one
with its distinguished features, the reader may refer, among many, to [
          <xref ref-type="bibr" rid="ref3 ref7">3, 26, 7</xref>
          ].
3
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Communication in DALI and Ontologies</title>
      <p>The DALI communication architecture [23] implements the DALI/FIPA
protocol, which consists of the main FIPA primitives2, plus few new primitives which
are peculiar to DALI. Primitives that can be used in DALI include:
{ send message(External Event, Sender agent); its purpose is to trigger the
reactive rule related to the event in the argument, in the agent receiving the
message.
{ propose(Action, [Condition1,.., ConditionN], Sender agent); with this
primitive the sending agent invites the receiving agent to perform the action in
the argument. In order to be able to accept, the receiver must rst check the
conditions speci ed in the list as the second parameter.
{ accept proposal(Accepted Action, [Condition1,..., ConditionN], Sender agent);
the agent who received the proposal, after checking the conditions, accepts.</p>
      <p>It is closely related to the previous primitive propose.
{ reject proposal(Rejected action, [Reason1,..., ReasonN], Agent Sender); the
agent who received the proposal rejects it, producing the list the unsatis ed
conditions. It is closely related to the previous primitive propose.
{ failure(Action failed, motivation(Reason), Sender agent); the agent who
received the proposal explains to the sending agent that the action was
attempted but for some reason failed. This often happens because, although
the conditions have been veri ed, the recipient agent's logic program does
not allow the action to be performed. It is closely related to the previous
propose primitive.
2 FIPA is a widely used standardized ACL (Agent Communication Language),
cf. http://www. pa.org/specs/ pa00037/SC00037J.html for language speci cation,
syntax and semantics.
{ cancel(Action to delete, Sending agent); the agent requests to cancel the
request for an action isued by another agent. It is closely related to the previous
propose primitive.</p>
      <p>These primitives are to be used within the distinguished action
messageA(Agent receiver, primitive(..)).</p>
      <p>Each agent has its own customizable lter for incoming and outgoing
messages, composed by user-de nable metarules which are to be speci ed in a le
called \communication agent name.con". In particular, outgoing messages are
ltered through the rule:
tell(Recipient, Sender, Primary(..)) :- Condition1,.., ConditionN.</p>
      <p>The message will then be sent if the rule for the primitive used is present in
the communication le, and if the conditions are met. It is also possible not to
enter conditions, but to use `true' instead, which implies that the message will
always be sent. Incoming messages are ltered by the rule:
told(Sender, Primitive(..)) :- Condition1,.., ConditionN.</p>
      <p>
        The message will therefore be received if the rule for the primitive used
is present in the le, and the conditions are checked (or there is `true'). In
addition, there are rules for meta-reasoning which allow the agent to consult
its knowledge and ontologies for understanding incoming messages. Ontologies,
in the computer science eld, are a very powerful tool to describe the world
that surrounds us; they provide formal models of domain knowledge that can
be exploited by intelligent agents [25]. An ontology consists of a set of rules and
meta-rules that de ne terms and relationships between terms, including
userde ned relationships as well as general ones, such as equivalence, generalization
or inverse. Thus, an Ontology is a knowledge base that an agent can use, and
that can be expressed in a tractable way in logical terms, see., e.g., [
        <xref ref-type="bibr" rid="ref2 ref8">8, 2</xref>
        ]. DALI
agents can in fact make use of Ontologies written in tractable subsets of OWL
(Ontology Web Language).
      </p>
      <p>This part of the DALI language has been necessary to establish signi cant
communication patterns among the agents composing our system. The
importance of the propose primitive and related ones is that when a doctor proposes
a medicine or a treatment to the patient's personal agent, such proposal should
be either accepted or, if declined, reasons for that should be made explicit.</p>
      <p>In Figure 5, we can see the architecture of our system, including the
communication among agents. For the communication between DALI agents, we used
FIPA ACL messages, that are part of the FIPA standard. To communicate with
the others components of our system, such as `Publisher.py', `Subscriber.py' and
the database, instead, we used both REDIS and Http GET requests, because,
in this way, it is more e cient and faster.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Smart Health Assistant Overview</title>
      <p>The goal of this project is to implement an intelligent system which, by analyzing
data, is able to recognize the patient's state of well-being or discomfort in both
short and long term, and which is therefore able to assess the seriousness of the
situation and, if necessary, alert a human doctor or even call the Emergency
Service.</p>
      <p>The main agent of the system is the \SmartHealthHelper" agent, which can
be seen as the patient's Personal Assistant agent, which helps the patient in the
supervision of her health status. However, our aim is that the agent will also
be able to assist the patient in her daily life; for instance, it can do that by
reminding her not only to take the prescribed medications but also about other
tasks to accomplish, and aiding her in performing everyday activities.</p>
      <p>This system is written in DALI, plus other auxiliary sub-modules. Speci
cally, thanks to an interface implemented in Python 3, our agent can collect from
a database the vital parameters recorded by an app installed on the patient's
mobile phone. Such data are partly collected automatically by medical devices,
and partly entered autonomously by the patient upon request from the app.</p>
      <p>
        Using Redis [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] (which is an archive of data structures used as a database,
cache and, as in this case, as a message broker), the app can send the
obtained parameters to the MAS that we have realized, in particular to the DALI
\SmartHealthHelper" agent, which analyzes them in order to provide immediate
feedback. Moreover, such parameters are stored (with timestamps) in internal
lists, so as to keep track of the trend and to check for any abnormal situations
via complex event processing [
        <xref ref-type="bibr" rid="ref15 ref19">19, 15, 30, 28, 27</xref>
        ] applicable to the medical [32] and
robotic [24] domains. This is carried out also by taking into account previous
illnesses and the feedback given by the patient via the app on his/her mental
and physical state.
      </p>
      <p>In the MAS there is also a \doctorAgent", that is consulted if the
smartHealthHelper agent detects situations that need to be evaluated. The \doctorAgent"
is supposed to interact if necessary with a human doctor, so as to provide
\SmartHealthHelper" with the doctor' advice. The doctor agent's feedback is
returned to Python via Redis, and is sent to the interface that interacts with
the database.</p>
      <p>In particular, the system performs the following tasks:
{ The Python module: Collects patient data from the database and sends it
to the MAS, and then processes the feedback received from the MAS and
sends it to the database
{ The SmartHealthHelper agent :</p>
      <p>Analyses the patient's vital parameters (heart rate, saturation, minimum
and maximum pressure, temperature, weight) taken by wearable devices
or by the patient herself, returns immediate feedback on each parameter
and stores them in the corresponding list.</p>
      <p>Every time new parameters are entered, it compares the last three values
stored in the list, and detects a dangerous situation (such as
tachycardia/bradycardia in case of heart rate, hypoxia in case of saturation, and
hypertension/hypotension in case of pressure), if all the three values are
below or exceed a given threshold. The number of last measurements to
be investigated (i.e., three, in this preliminary case study) is suggested
by medical doctors. In the next versions of the system, we will apply
more sophisticated techniques based on temporal windows, which will
speci cally depend on the analyzed parameter.</p>
      <p>Analyzes the symptoms that the patient reports.</p>
      <p>In case of a dangerous situation, it contacts the doctorAgent which will
provide feedback on what to do.</p>
      <p>For each therapy entered, i.e., a medicine to be taken every day, it sends
a reminder to the user at the right time;
Periodically, it sends a reminder for temperature, blood pressure and
weight measurements.</p>
      <p>With every new entry of a weight value, it compares it with the previous
one and returns a feedback indicating if the user has lost or taken weight,
how many kilos, and also communicates it to the doctor agent.
{ DoctorAgent :</p>
      <p>Receives messages from the smartHealthHelper agent, analyzes the
communicated problem, e.g., fever or tachycardia, and responds by
suggesting a medication to take or, in case of serious danger, it suggests to go to
the Emergency Room. It also provides feedback on when to carry out the
next measurement. Such feedback can partly be provided automatically,
and partly by asking a human doctor.
4.1</p>
      <sec id="sec-4-1">
        <title>Testbed</title>
        <p>During the development of the project, in order to test the system, we used
the (anonymous) data voluntarily provided by a female patient aged over 80,
su ering from severe heart failures and occasional angina, with comorbidities 3.
In particular, we represented:
{ the therapies (which medications at which time of the day);
{ symptoms that can be treated by readjusting the therapies;
{ recurring expected symptoms that require additional speci c medications to
be taken;
{ situations of danger/alarm that require immediate intervention of a medical
doctor, or transportation to the hospital.
4.2</p>
      </sec>
      <sec id="sec-4-2">
        <title>Internal Event Example</title>
        <p>In the code shown in Fig. 1, which refers to the smartHealthHelper agent, the
vital parameters are analyzed over the long term.</p>
        <p>In particular, for each parameter, the system checks whether the last three
values are above or below a limit value, and if so, it asserts the relevant problem.
In addition, it checks whether the patient is experiencing arm or chest pain
(symptoms of angina), and if so, a situation of potential danger is asserted. If a
dangerous situation is asserted, then the system will alert the DoctorAgent agent,
that will be able to do a diagnosis and to propose countermeasures, based on
the data obtained by sensors, and possibly via the advice provided by a human
doctor.</p>
        <sec id="sec-4-2-1">
          <title>3 after testing the system, she gave us positive feedback</title>
          <p>Fig. 1. A sample of the code used to detect possible health problems
4.3</p>
        </sec>
      </sec>
      <sec id="sec-4-3">
        <title>Call the doctor!</title>
        <p>The smartHealthHelper agent will resort to the doctorAgent in case a dangerous
situation is detected. In Fig. 3, the is the corresponding piece of code. The
doctorAgent will return a piece of advise, that will be then displayed to the
patient via the app.</p>
        <p>The code reported in Fig. 2 shows how the smartHealthHelper agent detects
alarming situations, either by comparing di erent measures of, e.g., pressure,
over time, or by being informed by the patient herself about alarming symptoms.
In both cases (Fig. 3), a message is sent to the doctorAgent, and its suggestion
is displayed to the patient.
In Fig. 4 we show part of the code concerning the doctorAgent. In particular, the
doctor in this sample piece of code is able to provide advice to the patient, for
instance to drink less in case of a sudden gain of weight (that in a patient su ering
from heart failure - which is the case of the monitored female patient aged over 80
- implies a uid retention which can be very dangerous for the heart). The agent
is also able to provide advice for medicines to take, e.g., paracetamol for fever. In
case everything fails, it suggests going to the Emergency Room. In perspective
and with the advice of the medical doctors with whom we cooperate, the range
of reasoning and advice capabilities of this agent will be expanded.
In Fig. 6, the entire architecture of our system is depicted. As mentioned before,
the patient interacts with an app on her mobile phone, which then records the
data on a MySQL database. The system, through Http `GET' calls, retrieves
the data from the database and sends them to the MAS using the \message
broker" functionality of Redis, introduced in the previous section. Those data
will be later processed by the MAS, which sends the appropriate feedback to the
database. So, the app will then inform the patient through noti cations on the
mobile phone, with the indication of the countermeasures to be taken.</p>
        <p>Notice that the MAS receives initial information from the app about the
medical history and prescribed therapies of a patient via a piece of Python code,
that for the sake of completeness we report below only for the interested reader
(Fig. 5).
6</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Code Overview</title>
      <p>In Figures 1 to 5, we can see pieces of the code we used to develop our
system. In Figure 1, we can see a sample of the code, written in DALI, that is
used to describe various events that can occur while monitoring. For example, if
saturation value is less than 90, the event \ipossia grave ev" is triggered. This
particular event means that the patient does not saturates well, thus does not
have enough oxygen, and a danger event is asserted. Other codes in this Figure
does the same, asserts something if a particular event is detected. The same logic
can be applied in Figure 2. In Figure 3, we can see a sample of the code that is
used to communicate with the doctorAgent. In case a danger event is detected,
the system proceed to sending a message to the doctor. Then, if the doctor has
some suggestion, it can even answer to the patient, giving an hint about the
right thing to be done. In Figure 4, we can see a sample of the code that is used
to automatically send advices to the patient. If, for example, bradycardia is
detected, the system gives you the suggestion to go to a rst aid center, because
the situation may be dangerous. In Figure 5, we can see a semple of the code
that is used to get the patient parameters and current therapies. The system is
linked with a database, linked with a smart sensor array that monitors a number
of parameters of the patient, such as heart rate, saturation, and so on. Using this
particolar piece of code, the system can interact with the database, obtaining
real-time information on the patient status.
7</p>
    </sec>
    <sec id="sec-6">
      <title>Conclusions and future work</title>
      <p>
        In its initial form, the DALI language was a very good language for programming
intelligent agents, but it was not able to work in a context that was too complex,
full of events to manage, and of external systems to interact with. Nowadays,
instead, thanks to improvements over the years, DALI o ers great possibilities of
managing complex contexts with a lot of occurring events [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. By exploiting a
simple syntax with which the structure of a problem can be implemented, DALI
allows an agent to draw conclusions e ciently and quickly and at the same time
manage numerous internal and external events.
      </p>
      <p>The Smart Health Assistant project, built on DALI, o ers high-level logical
reasoning capabilities, using very low resources, being able to run even on very
low-specs machines. It receives a lot of raw data from the patient (such as heart
rate, blood pressure, temperature, and so on..), and it is able to process such data
very quickly, allowing the system to do real-time monitoring on the patient. If a
Fig. 5. Input patient's parameters and therapies
critical situation is detected, the doctor (or even the rst aid services) is alerted
and the user receives noti cations on what he should do to prevent injuries and
stay healthy.</p>
      <p>Currently, the system works well for basic situations; for instance, to check if
the patient has fever or low pressure. In presence of several interacting medical
conditions, the system is able to understand that \something bad" is happening,
and consequently alert the doctor, but is still not able to do a precise diagnosis
by itself.</p>
      <p>In the future, we would like to implement forms of complex reasoning
concerning complicated medical conditions (i.e. Pneumonia, Heart Attack, and so
on...). Also, we intend to provide our application with access to medical
information systems (e.g., patient databases, medical archives). The aim is to provide a
better aid to the patients, decreasing the time that the system needs to contact
a human doctor for a more precise diagnosis, and improving the information
provided to the doctor, so as to e ectively and timely help the patient.</p>
      <p>
        Also, we intend to enrich the MAS with other agents, for instance agents
representing specialist doctors that the patients has consulted or might consult,
and institutions such as Heath Centers where the patients can perform various
kinds of medical tests, and even Emergency Care and Hospitals. In perspective,
the MAS would evolve at least in principle into a Multi-Context System (MCS),
which is able to encompass not only agents but also kinds of \passive" entities,
which can be queried to obtain results (e.g., medical knowledge bases or services
for booking medical tests). An advantage of MCSs is the possibility of de ning
standard communication modalities which such entities, via so-called \bridge
rules". MCS's de nition [4{6] was initially a bit restricted, but has been
suitably extended in [
        <xref ref-type="bibr" rid="ref14 ref16">16, 14</xref>
        ], so that MCSs can now encompass logic-based agent,
and data and ontologies exchange. The ultimate objective is to create an
integrated system where the usage of available resources in a National or local
health management system can be suitably planned, to the advantage of all
parties involved.
      </p>
      <p>Finally, we may notice that robotic hardware solutions are becoming
increasingly e ective, and so many inexpensive but exibly usable robots are now
available on the market. As a next step, we intend to install our main agent on a
robot, to be situated at the patient's home so that, as said before, it can support
the user also in her everyday tasks, detecting via an active observation of the
user's activities the kind of help that the user might need at any moment.</p>
      <p>Final note: we apologize for the many self-citations, due to the fact that this
paper constitutes the last step of a long line of work.
the 18th Italian Conference on Theoretical Computer Science and the 32nd Italian
Conference on Computational Logic. CEUR Workshop Proceedings, vol. 1949, pp.
286{300. CEUR-WS.org (2017), http://ceur-ws.org/Vol-1949
20. Costantini, S., Dell'Acqua, P., Pereira, L.M.: A multi-layer framework for evolving
and learning agents. In: M. T. Cox, A.R. (ed.) Proceedings of Metareasoning:
Thinking about thinking workshop at AAAI 2008, Chicago, USA (2008)
21. Costantini, S., Tocchio, A.: The DALI logic programming agent-oriented language.</p>
      <p>In: Alferes, J.J., Leite, J.A. (eds.) Logics in Arti cial Intelligence, 9th European
Conference, JELIA 2004 2004, Proceedings. Lecture Notes in Computer Science,
vol. 3229, pp. 685{688. Springer (2004)
22. Costantini, S., Tocchio, A.: About declarative semantics of logic-based agent
languages. In: Baldoni, M., Endriss, U., Omicini, A., Torroni, P. (eds.) Declarative
Agent Languages and Technologies III, Third International Workshop, DALT 2005,
Selected and Revised Papers, Lecture Notes in Computer Science, vol. 3904, pp.
106{123. Springer (2005)
23. Costantini, S., Tocchio, A., Verticchio, A.: Communication and trust in the DALI
logic programming agent-oriented language. Intelligenza Arti ciale 2(1), 39{46
(2005), Journal of the Italian Association AIxIA
24. D'Auria, D., Persia, F.: A collaborative robotic cyber physical system for surgery
applications. In: 2017 IEEE International Conference on Information Reuse and
Integration (IRI). pp. 79{83 (2017). https://doi.org/10.1109/IRI.2017.84
25. De Lauretis, L., Costantini, S., Letteri, I.: An ontology to improve the rst aid
service quality. In: 2019 IEEE International Conference on Systems, Man and
Cybernetics (SMC). pp. 1479{1483. IEEE (2019)
26. Garro, A., Muhlhauser, M., Tundis, A., Baldoni, M., Baroglio, C., Bergenti, F.,
Torroni, P.: Intelligent agents: Multi-agent systems. In: Ranganathan, S., Gribskov,
M., Nakai, K., Schonbach, C. (eds.) Encyclopedia of Bioinformatics and
Computational Biology - Volume 1, pp. 315{320. Elsevier (2019)
27. Helmer, S., Persia, F.: High-level surveillance event detection using an
intervalbased query language. In: 2016 IEEE Tenth International Conference on Semantic
Computing (ICSC). pp. 39{46 (2016)
28. Helmer, S., Persia, F.: Iseql, an interval-based surveillance event query language.</p>
      <p>International Journal of Multimedia Data Engineering and Management
(IJMDEM) 7(4), 1{21 (2016)
29. Norvig, P., Russell, S.J.: Intelligenza arti ciale. Un approccio moderno (2010)
30. Piatov, D., Helmer, S., Dignos, A., Persia, F.: Cache-e cient sweeping-based
interval joins for extended allen relation predicates. VLDB J. 30(3), 379{402 (2021).
https://doi.org/10.1007/s00778-020-00650-5,
https://doi.org/10.1007/s00778-02000650-5
31. Rummer, P., Hojjat, H., Kuncak, V.: Classifying and solving horn clauses for
veri cation. In: Working Conference on Veri ed Software: Theories, Tools, and
Experiments. pp. 1{21. Springer (2013)
32. Russo, R., DAuria, D., Ciccarelli, M., Della Rotonda, G., DElia,
G., Siciliano, B.: Triangular block bridge method for surgical
treatment of complex proximal humeral fractures: theoretical
concept, surgical technique and clinical results. Injury 48, S12{S19
(2017). https://doi.org/https://doi.org/10.1016/S0020-1383(17)30651-4,
https://www.sciencedirect.com/science/article/pii/S0020138317306514, cIO
Perspective: Various Focuses on Traumatology</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Aielli</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ancona</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Caianiello</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Costantini</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>De Gasperis</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marco</surname>
            ,
            <given-names>A.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ferrando</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mascardi</surname>
            ,
            <given-names>V.: FRIENDLY</given-names>
          </string-name>
          &amp;
          <article-title>KIND with your health: Humanfriendly knowledge-intensive dynamic systems for the e-health domain</article-title>
          . In: Bajo,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Escalona</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.J.</given-names>
            ,
            <surname>Giroux</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Ho</surname>
          </string-name>
          a-Dabrowska,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Julian</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            ,
            <surname>Novais</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Pi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.S.</given-names>
            ,
            <surname>Unland</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Silveira</surname>
          </string-name>
          ,
          <string-name>
            <surname>R.A</surname>
          </string-name>
          . (eds.)
          <article-title>Highlights of Practical Applications of Scalable Multi-Agent Systems</article-title>
          .
          <source>The PAAMS Collection - International Workshops of PAAMS</source>
          <year>2016</year>
          ,
          <article-title>Proceedings</article-title>
          .
          <source>Communications in Computer and Information Science</source>
          , vol.
          <volume>616</volume>
          , pp.
          <volume>15</volume>
          {
          <fpage>26</fpage>
          . Springer (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Artale</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Calvanese</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kontchakov</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zakharyaschev</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>The dl-lite family and relations</article-title>
          .
          <source>J. Artif. Intell. Res</source>
          .
          <volume>36</volume>
          ,
          <issue>1</issue>
          {
          <fpage>69</fpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Bordini</surname>
            ,
            <given-names>R.H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Braubach</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dastani</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Seghrouchni</surname>
            ,
            <given-names>A.E.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gomez-Sanz</surname>
            ,
            <given-names>J.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leite</surname>
            , J.,
            <given-names>O</given-names>
          </string-name>
          <string-name>
            <surname>'Hare</surname>
            ,
            <given-names>G.M.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pokahr</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ricci</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>A survey of programming languages and platforms for multi-agent systems</article-title>
          .
          <source>Informatica (Slovenia)</source>
          <volume>30</volume>
          (
          <issue>1</issue>
          ),
          <volume>33</volume>
          {
          <fpage>44</fpage>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Brewka</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Eiter</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Equilibria in heterogeneous nonmonotonic multi-context systems</article-title>
          .
          <source>In: Proc. of the 22nd AAAI Conf. on Arti cial Intelligence</source>
          . pp.
          <volume>385</volume>
          {
          <fpage>390</fpage>
          . AAAI Press (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Brewka</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Eiter</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fink</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Nonmonotonic multi-context systems: A exible approach for integrating heterogeneous knowledge sources</article-title>
          . In: Balduccini,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Son</surname>
          </string-name>
          , T.C. (eds.)
          <article-title>Logic Programming</article-title>
          ,
          <source>Knowledge Representation, and Nonmonotonic Reasoning - Essays Dedicated to Michael Gelfond on the Occasion of His 65th Birthday. Lecture Notes in Computer Science</source>
          , vol.
          <volume>6565</volume>
          , pp.
          <volume>233</volume>
          {
          <fpage>258</fpage>
          . Springer (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Brewka</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ellmauthaler</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , Puhrer, J.:
          <article-title>Multi-context systems for reactive reasoning in dynamic environments</article-title>
          . In: Schaub,
          <string-name>
            <surname>T</surname>
          </string-name>
          . (ed.)
          <source>ECAI</source>
          <year>2014</year>
          ,
          <source>Proc. of the 21st European Conf. on Arti cial Intelligence</source>
          . pp.
          <volume>159</volume>
          {
          <fpage>164</fpage>
          . IJCAI/AAAI (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Calegari</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ciatto</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mascardi</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Omicini</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Logic-based technologies for multi-agent systems: a systematic literature review</article-title>
          .
          <source>Auton. Agents Multi Agent Syst</source>
          .
          <volume>35</volume>
          (
          <issue>1</issue>
          ),
          <volume>1</volume>
          (
          <year>2021</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Calvanese</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>De Giacomo</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lembo</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lenzerini</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rosati</surname>
          </string-name>
          , R.:
          <article-title>Dl-lite: Tractable description logics for ontologies</article-title>
          . In: Veloso,
          <string-name>
            <given-names>M.M.</given-names>
            ,
            <surname>Kambhampati</surname>
          </string-name>
          , S. (eds.)
          <source>Proceedings, The Twentieth National Conf. on Arti cial Intelligence and the Seventeenth Innovative Applications of Arti cial Intelligence Conf</source>
          . pp.
          <volume>602</volume>
          {
          <fpage>607</fpage>
          . AAAI Press / The MIT Press (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Carlson</surname>
          </string-name>
          , J.: Redis in action.
          <source>Simon and Schuster</source>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Carlsson</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Widen</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Andersson</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Andersson</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Boortz</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nilsson</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          , Sjoland, T.:
          <article-title>SICStus Prolog user's manual</article-title>
          , vol.
          <volume>3</volume>
          (
          <issue>1</issue>
          ). Swedish Institute of Computer Science, Kista, Sweden (
          <year>1988</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Costantini</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tocchio</surname>
            ,
            <given-names>A.:</given-names>
          </string-name>
          <article-title>A logic programming language for multi-agent systems</article-title>
          .
          <source>In: Logics in Arti cial Intelligence, Proc. of the 8th Europ. Conf</source>
          .,
          <string-name>
            <surname>JELIA</surname>
          </string-name>
          <year>2002</year>
          . pp.
          <volume>1</volume>
          {
          <fpage>13</fpage>
          . LNAI 2424, Springer-Verlag, Berlin (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Costantini</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tocchio</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>DALI: An architecture for intelligent logical agents</article-title>
          .
          <source>In: Proceedings of the Int. Workshop on Architectures for Intelligent Theory-Based Agents (AITA08)</source>
          .
          <source>AAAI Spring Symposium Series</source>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Costantini</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Self-checking logical agents</article-title>
          . In: Osorio,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Zepeda</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            ,
            <surname>Olmos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            ,
            <surname>Carballido</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.L.</given-names>
            ,
            <surname>Ram</surname>
          </string-name>
          <string-name>
            <surname>rez</surname>
          </string-name>
          , R.C.M. (eds.) Proceedings of the Eighth Latin American Workshop on Logic,
          <source>Languages, Algorithms and New Methods of Reasoning LA-NMR 2012. CEUR Workshop Proceedings</source>
          , vol.
          <volume>911</volume>
          , pp.
          <volume>3</volume>
          {
          <fpage>30</fpage>
          .
          <string-name>
            <surname>CEUR-WS.org</surname>
          </string-name>
          (
          <year>2012</year>
          ), invited Paper,
          <source>Extended Abstract in Proceedings of AAMAS</source>
          <year>2013</year>
          ,
          <article-title>12th Intl. Conf. on Autonomous Agents and Multi-Agent Systems</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Costantini</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Knowledge acquisition via non-monotonic reasoning in distributed heterogeneous environments</article-title>
          . In: Truszczynski,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Ianni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Calimeri</surname>
          </string-name>
          ,
          <string-name>
            <surname>F.</surname>
          </string-name>
          <source>(eds.) 13th Int. Conf. on Logic Programming and Nonmonotonic Reasoning LPNMR 2013. Proc. Lecture Notes in Computer Science</source>
          , vol.
          <volume>9345</volume>
          , pp.
          <volume>228</volume>
          {
          <fpage>241</fpage>
          . Springer (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Costantini</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>De Gasperis</surname>
          </string-name>
          , G.:
          <article-title>Complex reactivity with preferences in rule-based agents</article-title>
          . In: Bikakis,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Giurca</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          . (eds.)
          <source>Rules on the Web: Research and Applications - 6th Intl. Symposium, RuleML 2012, Proc. Lecture Notes in Computer Science</source>
          , vol.
          <volume>7438</volume>
          , pp.
          <volume>167</volume>
          {
          <fpage>181</fpage>
          . Springer (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Costantini</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>De Gasperis</surname>
          </string-name>
          , G.:
          <article-title>Exchanging data and ontological de nitions in multi-agent-contexts systems</article-title>
          . In: Bassiliades,
          <string-name>
            <given-names>N.</given-names>
            ,
            <surname>Fodor</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Giurca</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Gottlob</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Kliegr</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            ,
            <surname>Nalepa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.J.</given-names>
            ,
            <surname>Palmirani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Paschke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Proctor</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Roman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            ,
            <surname>Sadri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            ,
            <surname>Stojanovic</surname>
          </string-name>
          , N. (eds.)
          <article-title>Proceedings of the RuleML 2015 Challenge, the Special Track on Rule-based Recommender Systems for the Web of Data, held at RuleML 2015</article-title>
          .
          <source>CEUR Workshop Proceedings</source>
          , vol.
          <volume>1417</volume>
          .
          <string-name>
            <surname>CEUR-WS.org</surname>
          </string-name>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Costantini</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>De Gasperis</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nazzicone</surname>
          </string-name>
          , G.:
          <article-title>Exploration of unknown territory via DALI agents and ASP modules</article-title>
          . In: Omatu,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Malluhi</surname>
          </string-name>
          ,
          <string-name>
            <surname>Q.M.</surname>
          </string-name>
          , Rodr guezGonzalez,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Bocewicz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Bucciarelli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            ,
            <surname>Giulioni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Iqba</surname>
          </string-name>
          ,
          <string-name>
            <surname>F</surname>
          </string-name>
          . (eds.)
          <source>Distributed Computing and Arti cial Intelligence</source>
          , 12th International Conference,
          <source>DCAI 2015. Proceedings. Advances in Intelligent Systems and Computing</source>
          , vol.
          <volume>373</volume>
          , pp.
          <volume>285</volume>
          {
          <fpage>292</fpage>
          . Springer (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Costantini</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>De Gasperis</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nazzicone</surname>
          </string-name>
          , G.:
          <article-title>DALI for cognitive robotics: Principles and prototype implementation</article-title>
          . In: Lierler,
          <string-name>
            <given-names>Y.</given-names>
            ,
            <surname>Taha</surname>
          </string-name>
          , W. (eds.)
          <source>Practical Aspects of Declarative Languages - 19th International Symposium, PADL 2017, Proceedings. Lecture Notes in Computer Science</source>
          , vol.
          <volume>10137</volume>
          , pp.
          <volume>152</volume>
          {
          <fpage>162</fpage>
          . Springer (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Costantini</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>De Gasperis</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pitoni</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Salutari</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>DALI: A multi agent system framework for the web, cognitive robotic and complex event processing</article-title>
          . In: Monica,
          <string-name>
            <given-names>D.D.</given-names>
            ,
            <surname>Murano</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Rubin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Sauro</surname>
          </string-name>
          ,
          <string-name>
            <surname>L</surname>
          </string-name>
          . (eds.) Joint Proceedings of
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>