Sense-Deliberate-Act Cognitive Agents for Sense-Compute-Control Applications in the Internet of Things & Services
SSense-Deliberate-Act Cognitive Agents forSense-Compute-Control Applications in theInternet of Things & Services
Amir H. Moin fortiss, An-Institut Technische Universit¨at M¨unchen, Munich, Germany [email protected]
Abstract.
In this paper, we advocate Agent-Oriented Software Engi-neering (AOSE) through employing Belief-Desire-Intention (BDI) intel-ligent agents for developing Sense-Compute-Control (SCC) applicationsin the Internet of Things and Services (IoTS). We argue that not onlythe agent paradigm, in general, but also cognitive BDI agents with sense-deliberate-act cycle, in particular, fit very well to the nature of SCCapplications in the IoTS. However, considering the highly constrainedheterogeneous devices that are prevalent in the IoTS, existing BDI agentframeworks, even those especially created for Wireless Sensor Networks(WSNs), do not work. We elaborate on the challenges and propose pos-sible approaches to address them.
Key words: internet of things and services, agent oriented softwareengineering, intelligent agents, cognitive agents, bdi, constrained devices
The Internet of Things and Services (IoTS) is an expanded version of the In-ternet containing not only the components of the Internet such as Web 2.0, butalso constrained embedded devices such as sensors and actuators. As a crucialinfrastructure for Cyber Physical Systems (CPS), in which the physical worldmerges with the virtual world of cyberspace [1], the IoTS is believed to havesufficient power to trigger the next (i.e., fourth) industrial revolution. However,it turns out that with this great power an enormous degree of complexity insoftware systems is inevitable. This is due to a number of reasons such as thetremendously large number of “things” (i.e., devices), heterogeneity of thingsand services as well as the variety of communication protocols.Sense-Compute-Control (SCC) applications [2] are a typical group of applica-tions in the IoTS. A SCC application senses the environment (e.g., temperature,humidity, light, UV radiation, etc.) through sensors, performs some computa-tion (often decentralized, i.e., distributed) and finally prompts to take one ormore actions through actuators (very often sort of control) in the environment.There exist two main differences between these applications in the IoTS and thesimilar ones in the field of Wireless Sensor and Actuator Networks (WSAN),a predecessor of the field of the IoTS. First, the scale of the network is quite a r X i v : . [ c s . M A ] S e p Amir H. Moin different. While WSANs typically have several hundreds or thousands of nodes,SCC applications in the IoTS may have several millions or billions of nodes.Second, the majority of nodes in a WSAN are more or less similar to each other.However, here in the IoTS we have a wide spectrum of heterogeneous devices,ranging from tiny sensor motes with critical computational, memory and en-ergy consumption constraints to highly capable servers for cloud computing.Heterogeneity is a property inherited from another predecessor field, known asPervasive (Ubiquitous) computing. [3]One of the recent paradigms in software engineering that helps in dealingwith complexity is Agent-Oriented Software Engineering (AOSE). In fact, it isthe intersection of the field of Multi-Agent Systems (MAS), the successor ofDistributed Artificial Intelligence (DAI), with software engineering. Althoughthe research field of MAS is only about two decades old, many methodologieshave been proposed in this area. They could be mainly categorized into twogroups [4, 5]: software engineering (e.g., Gaia, Prometheus and O-MaSE) andknowledge engineering (e.g., CoMoMAS, MAS-CommonKADS and Tropos). Ourfocus here is on the former category, a field that is known as Agent-OrientedSoftware Engineering (AOSE).AOSE helps in dealing with complexity in software development throughraising the level of abstraction via the higher level concepts of agents, roles, or-ganizations, collaboration, interaction protocols, etc. Yet, cognitive agents (e.g.,BDI agents) raise the level of abstraction beyond that level. Moreover, MASesare intrinsically peer-to-peer distributed systems with asynchronous communi-cation often based on message-passing with unicast, multicast and broadcastpossibilities. This is a model which fits perfectly fine to the nature of SCC sys-tems in the IoTS. Because, unlike web applications in the Internet, where theclient/server model is prevalent, in the IoTS the peer-to-peer network topology(either pure or hybrid) makes more sense. Also, the asynchronous communica-tion based on message-passing is much more scalable and efficient comparingother alternatives for distributed systems such as synchronous Remote Proce-dure Calls (RPC), in which the client should block (i.e., busy-wait) until theserver finishes the processing of its request.There exist several research works that have proposed BDI MAS approachesfor the IoTS, WSANs, etc. However, considering the fact that the majority ofheterogeneous things in the IoTS are highly constrained devices in terms ofcomputational power, memory space, energy consumption, etc., to our knowl-edge, none of the proposed BDI-based approaches could work in practice for theSCC applications in the IoTS. Therefore, as the main contribution, we proposepossible approaches for addressing this problem.The paper is structured as follows. In Section 2, we explain the idea of em-ploying BDI agents for SCC applications in the IoTS, elaborate on the practicaltechnical challenges and propose two possible approaches for addressing thosechallenges. This is followed by a brief review of the related work in this area inSection 3. Finally, we conclude and mention our future work in Section 4.
DI Agents for the IoTS 3
Intelligent agents have a number of key properties which distinguish them fromother software paradigms. Some of them are listed below [4].1.
Autonomy:
An agent can perform its task without any supervision.2.
Reactiveness:
An agent reacts in a timely manner to the changes in its en-vironment.3.
Proactiveness:
An agent is not only reactive, but also proactive in the sensethat it is goal-oriented and pursues its own goals.4.
Sociality:
An agent interacts with other agents often through message-passing. A group of agents collaborating with each other in order to achievea common goal form a society known as organization.In a broad sense, the AOSE research area can be divided into two groups[6]. The first group is more concentrated on the MAS paradigm as middleware(e.g., Java Agent DEvelopment Framework (JADE) [7]), while the second oneis about reasoning-oriented agent frameworks (e.g., the Jadex BDI system [6]).Our discussion here is more related to the latter category, i.e., reasoning.As mentioned in the previous section, cognitive agents provide a very highlevel of abstraction for hiding complexity in AOSE. A number of cognitive archi-tectures for agents have been proposed in the literature. One of the well-knownsoftware models for cognitive intelligent agents is Belief-Desire-Intention (BDI).BDI is not only simple to implement, but also corresponds nicely to the waythat people talk about the human behavior in psychology [6].
Fig. 1.
Belief-Desire-Intention (BDI) agents, figure inspired by [8]
As depicted in Figure 1, a BDI agent has a set of beliefs, a set of desires,a set of intentions and a set of plans. Beliefs are informational attitudes aboutthe surrounding environment (i.e., the local personal view of the agent from theworld that it perceives through its sensors) as well as the internal state of theagent itself. Desires are motivational attitudes that represent the wishes of the
Amir H. Moin agent. These wishes may even be conflicting with each other. A consistent subsetof desires is called goals. Goals can have different types such as achieve-goals(for achieving a state) or maintain-goals (for maintaining a state over a periodof time). Another important component, is the set of plans. Each plan consistsof a sequence of actions for achieving a goal and can even contain subgoals.Hence, other plans are needed to achieve the subgoals of one plan. This way, ahierarchy of plans is formed. Moreover, intentions are those goals that the agentis currently committed to achieve them based on its plans.[6]The BDI model is implemented in a number of MAS frameworks, namelyPRS, dMARS, JACK Intelligent Agents TM , JAM, AgentSpeak, 3APL, Dribble,Coo-BDI, Brahms, and Jadex. So far, BDI agents have proven to be very use-ful in various areas such as industrial automation, simulation, air traffic controlsystems, e-commerce systems, virtual environments, online multi-player games,etc. Among the customers of only one of the BDI frameworks, called dMARS (apredecessor of Jadex), are NASA (space shuttle malfunction handling), AirSer-vices, Thomson Airsys (air traffic control), Daimler Chrysler (supply chain man-agement, resource and logistics management) and Hazelwood Power (processcontrol).[9]From the above explanation, it is clear that the BDI model fits very well tothe logic of SCC applications in the IoTS. Moreover, as mentioned in Section 1,MASes are intrinsically very close to the nature of the IoTS. Therefore, for ourapplication domain, i.e., SCC applications in the IoTS, we advocate the BDImodel for MASes. State-of-the-art BDI systems such as the free open sourceJadex BDI agents framework [6] are much more mature and advanced comparingthe initial BDI frameworks. Moreover, Jadex, which supports both stationaryand mobile agents, can be deployed on different middleware such as JADE.JADE is a free open source FIPA -compliant middleware for the developmentand runtime execution of peer-to-peer applications based on the MAS paradigm[7]. Furthermore, there exist an extension of JADE known as JADE-LEAP, formobile platforms (e.g., Android).However, given the prevalence of highly resource-constrained things in theIoTS, such as tiny sensor motes with only few kilobytes of memory and extremelylimited computational (i.e., CPU) as well as power (i.e., electrical energy) re-sources, neither Jadex nor any other state-of-the-art BDI agent framework, thatwe are aware of, could work for such limited platforms in the IoTS. In orderto address this problem, we propose three possible approaches. First, one maytailor JADE to work atop very compact and efficient virtual machines of Java-like byte-code languages that are especially designed for motes such as the IBMMote Runner. Second, an existing C/C++ BDI framework such as the classicBDI reasoner called PRS (e.g., OpenPRS) may be evolved in order to work forthis purpose. Finally, the more feasible solution is to develop a BDI frameworkfrom scratch, especially for SCC applications in the IoTS that works for con-strained devices too, similar to the non-BDI Mobile-C, a mobile agent platformfor mobile C/C++ agents on constrained embedded devices, or Agila [10] and actorNet [11] which both run on TinyOS for Wireless Sensor Network (WSN)applications.Last but not least, one drawback of the BDI model is that its reasoningpower often comes at the cost of increased computational overhead. However,by using the BDI model more judiciously and making correct design choices,one can overcome this problem. For a nice practical example on this issue forusing BDI with Brahms language based on efficient design choices in contrast toinefficient ones at NASA Ames Research Center, please refer to [12]. MASes are widely used in the field of Wireless Sensor and Actuator Networks(WSAN). ActorNet [11] is an agent-based platform with an extremely lightweightinterpreter that can operate on low-power sensor nodes with as little as 4KBRAM. The programming language for agents is functional and very similar to theScheme programming language in terms of its syntax. The communication modelis based on message passing. ActorNet is specifically designed for mobile agentson Mica2 sensor motes running TinyOS. Moreover, Agila [10] is an agent-basedmiddleware for mobile agents on Mica2, MicaZ, and Tmote Sky motes runningTinyOS. It has an assembly-like programming language with proprietary ISAfor agents [13].In contrast, MAPS (Mobile Agent Platform for Sun SPOT) [14] and AFME(Agent Factory Micro Edition) [15] are Java-based frameworks. The agent modelin the former is Finite-State-Machines (FSM), while the latter is based on theBDI model. However, they can only run on Sun SPOT (Sun Small ProgrammableObject Technology), but not on the more constrained tiny sensor motes that aremuch more prevalent in the IoTS.
Although there exist overlapping areas in the two young research fields of theIoTS and Multi-Agent Systems, where the latter is only about one decade olderthan the former, the research and development communities are still isolatedfrom each other. We believe that the R&D work in the field of the IoTS couldbenefit a lot from the advances in MASes. Similarly, the IoTS could become aninteresting testbed for MASes.In this paper, we advocated Agent Oriented Software Engineering (AOSE), inparticular Belief-Desire-Intention (BDI) cognitive intelligent agents, for Sense-Compute-Control (SCC) applications in the Internet of Things and Services(IoTS). Considering the specific requirements and the constrained devices whichare prevalent in the IoTS, we elaborated on challenges for pursuing this aimand proposed possible approaches for addressing them. The implementation andvalidation of the proposed approaches remained as future work.
Amir H. Moin
References
1. M. Broy, “Cyber Physical Systems (Part 1),” it-Information Technology , vol. 54,no. 6, pp. 255–256, 2012.2. P. Patel, B. Morin, and S. Chaudhary, “A Model-driven Development Frameworkfor Developing Sense-compute-control Applications,” in
Proceedings of the 1st In-ternational Workshop on Modern Software Engineering Methods for Industrial Au-tomation , ser. MoSEMInA 2014. New York, NY, USA: ACM, 2014, pp. 52–61.3. P. Patel, A. Pathak, T. Teixeira, and V. Issarny, “Towards Application Develop-ment for the Internet of Things,” in
Proceedings of the 8th Middleware DoctoralSymposium , ser. MDS ’11. New York, NY, USA: ACM, 2011, pp. 5:1–5:6.4. A. Sturm, O. Shehory, and D. Dori, “Evaluation of Agent-Oriented Methodolo-gies,” 2004.5. G. Weiß, “Agent Orientation in Software Engineering,”
Knowl. Eng. Rev. , vol. 16,no. 4, pp. 349–373, Dec. 2001.6. L. Braubach, A. Pokahr, and W. Lamersdorf, “Jadex: A BDI-Agent SystemCombining Middleware and Reasoning,” in
Software Agent-Based Applications,Platforms and Development Kits , ser. Whitestein Series in Software AgentTechnologies, R. Unland, M. Calisti, and M. Klusch, Eds. Birkh¨auser Basel,2005, pp. 143–168. [Online]. Available: http://dx.doi.org/10.1007/3-7643-7348-2 77. F. Bellifemine, G. Caire, A. Poggi, and G. Rimassa, “JADE, A White Paper,”2003.8. M. N. Huhns and M. P. Singh, “Cognitive agents,”
IEEE Internet Computing ,vol. 2, no. 6, pp. 87–89, Nov. 1998. [Online]. Available: http://dx.doi.org/10.1109/4236.7359929. V. Mascardi, D. Demergasso, and D. Ancona, “Languages for Programming BDI-style Agents: an Overview,” 2005.10. C.-L. Fok, G. Roman, and C. Lu, “Rapid development and flexible deployment ofadaptive wireless sensor network applications,” in
Distributed Computing Systems,2005. ICDCS 2005. Proceedings. 25th IEEE International Conference on , June2005, pp. 653–662.11. Y. Kwon, S. Sundresh, K. Mechitov, and G. Agha, “Actornet: An actor platformfor wireless sensor networks,” in
Proceedings of the Fifth International Joint Con-ference on Autonomous Agents and Multiagent Systems , ser. AAMAS ’06. NewYork, NY, USA: ACM, 2006, pp. 1297–1300.12. S. R. Wolfe, M. Sierhuis, and P. A. Jarvis, “To BDI, or Not to BDI: Design Choicesin an Agent-based Traffic Flow Management Simulation,” in
Proceedings of the2008 Spring Simulation Multiconference , ser. SpringSim ’08. San Diego, CA,USA: Society for Computer Simulation International, 2008, pp. 63–70.13. F. Aiello, A. Carbone, G. Fortino, and S. Galzarano, “Java-based Mobile AgentPlatforms for Wireless Sensor Networks,” in
Computer Science and InformationTechnology (IMCSIT), Proceedings of the 2010 International Multiconference on ,Oct 2010, pp. 165–172.14. F. Aiello, G. Fortino, R. Gravina, and A. Guerrieri, “A Java-Based Agent Platformfor Programming Wireless Sensor Networks,”
Comput. J. , vol. 54, no. 3, pp. 439–454, Mar. 2011.15. C. Muldoon, G. M. P. O’Hare, R. Collier, and M. J. O’Grady, “Agent FactoryMicro Edition: A Framework for Ambient Applications,” in