Page 295 - Artificial Intelligence for the Internet of Everything
P. 295
Using Multi-Agent Networks to Manage Dynamic Changes 273
that approaches optimality makes a system obsolete before it can be deployed.
Developing optimal systems has been the holy grail of computer science
since its inception. Forgoing that goal in service of agility requires a major
shift in thinking.
It is not difficult to show that meta agent-based emergent configuration
systems are beholden to Simon’s three assumptions. First, meta-agent EC
systems using IoT sensors and devices as their source of information will
have to contend with operating in the computationally limited environ-
ments available on IoT devices. They will also have to operate with low
bandwidth, disconnected (denied), interrupted, and latent (“DIL”) network
connectivity (Scott, Refaei, & Macker, 2011). Second, these systems must
solve complex problems by selecting the most valuable source of informa-
tion out of hundreds of millions or billions of IoT information sources and
perform the necessary reasoning given their limited resources. Finally, they
will need to aggregate that information at higher levels of the pyramid into
actionable information that addresses the current goal. This must occur in
near real time and produce added value. There are many examples of such
systems that address similar problems in well-defined domains, with a lim-
ited, well-defined set of sensors (Blum, 2011). We will address the difficul-
ties in generalizing this problem later in the chapter.
14.3 SENTRY AGENTS
The foundation of our work with multi-agent EC systems is based on a
multi-agent system developed at the Naval Research Laboratory called Sen-
try AGEnts (SAGE). SAGE (Fouad, Gilliam, Guleyupoglu, & Russell, 2017)
was initially developed to deal with the issues of online agent generation
from data used in automating the testing of service oriented architecture
(SOA) systems. SOA systems present a unique challenge for automated test-
ing as they consist of systems of systems and, hence, traditional single-
application test technology is insufficient. Automating an evaluation of
SOA systems requires a distributed set of agents residing at each service
provider or consumer and coordinating with other agents to simulate the
complex, interdependent interactions that occur between users and con-
sumers of SOA services (Fig. 14.1).
SAGE is a multi-agent system written in C++. Its salient features include
the ability for external systems, as well as SAGE agents, to spawn other or
new agents online by dynamically populating their behavior modules and