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
   290   291   292   293   294   295   296   297   298   299   300