- freely available
Electronics 2016, 5(4), 72; doi:10.3390/electronics5040072
- Privacy: Most of the cloud servers are owned by multinational corporations such as Amazon (Seattle, WA, USA), Google (Mountain View, CA, USA), Microsoft (Redmond, WA, USA), Cisco (San Jose, CA, USA), etc. which continuously receive data from the user side. Leakage of personal information and data ownership becomes a critical issue when all of the user’s data is collected for analytics purpose in the cloud . A safer solution would be to have a local infrastructure on which the user has more control than the cloud server. This would allow local data filtering and computation before sending it over to the cloud. An agent-based system could be a better solution for ensuring privacy.
- Cost: Cloud services follow a "Pay-as-you-go" model which adds to the cost as the storage and network communication increases . In a local computational infrastructure model, these costs can be reduced if the data collected is filtered locally and only pertinent information is sent to the cloud.
- Network Latency: A cloud has inherent latency issues and thus may not be a viable solution for applications such as live video streaming in connected vehicles, real-time data analytics in smart grids , etc., all of which require a rapid response. An Intranet of Things that uses agents, on the contrary, can provide fast local computations, thereby decreasing latency.
- Energy: As already mentioned, agents in an Intranet of Things can filter the acquired data prior to sending it over to the cloud. Since this reduces communication overheads, it also reduces the energy consumed and consequently increases the battery life of the devices constituting the network .
2. Multi-Agent Systems (MAS)
2.1. Mobile Agents
- Bandwidth and latency reduction: A mobile agent has the innate ability to carry the computation in the form of code to a remote site. Instead of fetching the whole raw or unprocessed data from a remote site, the mobility allows for the computing program or logic to migrate to this site and process the data therein. This results in reducing network traffic and latency.
- Discontinuous operation: In a dynamic network where the devices are mobile, it is rare that a continuous connection is maintained between two nodes for a long time. In a conventional client-server system, a sudden disconnection may cause the server to resend the whole data, making it an expensive affair. On the contrary, in a mobile agent-based scenario, migration occurs only when a connection is established. The mobile agent then resides in the new node till the connection to the next node is available. Unlike the large amount of data to be processed, a mobile agent is comparatively lightweight. Thus, a failure in migration does not compound into large losses in bandwidth and time.
- Adaptivity and flexibility: In a traditional centralized system, any upgrade would require the system to be brought down, changes made and then restarted. In a mobile agent-based system, upgrades could be packaged within the mobile agent and released into the network. This On-The-Fly Programming (OTFP)  support facilitates a higher amount of flexibility. Agents have the ability to sense and perceive their environment and change their behaviours accordingly. A mobile agent can add new behaviours in the form of a payload and can also adapt to different situations.
2.2. Multi-Agent Frameworks
3. Location-Aware and Tracking Service (LATS)
4. AgPi: The Cyber and Physical Confluence
5. AgPi in the Real World
5.1. AgPi based LATS application
5.1.1. Detection Mechanism
5.1.2. Wearable and Acquisition Unit (WAU)
- Preamble: This read-only field is 9 bytes wide and contains the manufacturer’s data.
- Universally Unique Identifier (UUID): This field, which is 16 bytes wide, can be preset to contain the identity of the BLE device.
- Major: This is a user writable field which helps in identifying a subset of such devices within a large group.
- Minor: It is also a writable field which is used for specifying a subset of the Major field.
- Tx Power: This field is a calibrated 2’s complement value denoting the signal strength at 1 m from the device. This field is compared with the measured signal strength at the receiving end in order to ascertain the distance between the transmitter and receiver.
5.1.3. Cyber Computing Unit (CCU)
- Beyond: When the RSS value is zero, it means that the person is not detected and is beyond the concerned zone.
- Far: This is a case when the person being tracked is far from the Pi-node. This is detected by a weak RSS value at the Pi-node of the concerned zone and would mean that the person wearing the BLE tag is in between 2 m to 5 m of the radial distance from the associated Pi-node.
- Near: A strong RSS value indicates the person to be well within the range i.e., less than 2 m in the present case.
5.1.4. User Interaction Unit (UIU)
- Where am I?: Such a query invariably emanates from a person who is lost within the building or does not know how to move around or needs to convey his/her bearings to someone else. Under such conditions, the user can fire an SQL query packaged in a mobile agent to the nearest one-hop neighbouring Pi-node. Once the mobile agent enters this Pi-node, it executes its code and eventually lands up in the Pi-node of the zone in which the person is currently present. The agent then retrieves the location information stored a priori within this Pi-node and provides it to the user. A segment of the relevant mobile agent code is presented in Figure 6.
- Where is X?: A query of this kind is required for a person to know whether X is within the building under consideration and, if so, where. This agent-based LATS allows for a non-intrusive mechanism to find the location of X. The user packs this query into a mobile agent and transmits it onto the Tartarus platform of the closest Pi, the one within the zone s/he is in currently. On reaching this Pi, the mobile agent scans the database within it to find whether X is/was in this zone. (i) If it discovers that X is within a particular zone currently, it retrieves the location information from the Pi-node and backtracks its path to the user’s system and provides the information on X; (ii) if the agent finds a Motion Vector Forward for X in that zone, then it uses the vector to find the next zone visited by X and migrates to the concerned Pi-node of this zone. It continues to do so until it eventually lands in a Pi-node of a zone where X is currently present. On reaching this, it retrieves the relevant information and retraces its path back to the user’s system to provide the information on X. In case X has left the place, the Motion Vector Forward within the Pi-node in the zone where X was last present will point to INFINITY. The agent would then assume that X is no more in the area and report accordingly to the user; (iii) if no trace of X is found in the database, the mobile agent continues its migration along the Pi-nodes in a conscientious manner  (Appendix A) until it eventually finds that X has been within the zone of some Pi or left the place. It may be noted that a user who wishes to know the bearings of another can alter his query to extract a range of information on the person being tracked.
- Trace(X): This query will provide a list of locations associated with all those zones which X visited in order. The query can again be packed into a mobile agent and sent to the network of Pi-nodes to search the individual databases and retrieve the list. A mobile agent algorithm to trace the path of a BLE tag bearer is shown in Algorithm 1 and an example of mobile agent routing for the same is described in Appendix B.
6. Experiments and ResultsExperiments conducted involved users who were asked to move from one zone to another. In addition, experiments involving acquisition of raw BLE data were also conducted to get more insights into the behavior of the device. In subsequent sub-sections, we discuss the experiments conducted to acquire and store tracking information, which, in turn, are used and processed by mobile agents to satisfy user queries.
6.1. Data AcquisitionA BLE tag bearer was asked to move back and forth across the radial axis of a Pi-node. The actual RSS values received at the Pi-node nominally ranged from −40 dBm to +20 dBm (depending upon the manufacturer, the actual raw RSS values for a BLE device may range from −80 dbm to +25 dbm). In order to portray the graph in the 1st quadrant for clarity, we biased these values by adding +200 dBm to each of the data points. Figure 7 shows the biased raw and filtered BLE data taken over a certain number of sample points. As expected, a trend similar to a sinusoidal wave can be observed in the figure thereby validating the performance of the BLE. The RSS received from a BLE device is subject to noise due to various reasons such as multi-path propagation, signal absorption, signal interference, etc. Based on the analysis by Faragher et al. , different filters may be applied to the raw BLE data. After a series of empirical experimentation on data filtering, it was found that a moving average filter with a window size of 6 samples at a time provides satisfactory results. Analysis revealed a rule of thumb that indicates that as the window size increases, the filtered data becomes more stable. However, this may take more time to produce tracking results. Hence, a compromise needs to be made in terms of accuracy and reactiveness of the deployed tracking system.An experiment wherein each user was made to wear a BLE tag and asked to move from one zone to another in order to obtain their respective tracking profiles was performed. The experiment was conducted at the ground floor of the Department of Computer Science and Engineering block of the Indian Institute of Technology Guwahati. Since it is logical to assume that the profile generated between two consecutive zones can be extended to other such multiple consecutive zones, we describe herein the inter-zonal movement for a single user. The results portraying a user’s movement within two zones, and along with the three regions, beyond, far and near, categorized on the basis of RSS is shown is shown in Figure 8. As in Figure 7, the y-axis denotes the filtered and biased RSS values from the BLE receiver at the Pi-node, while the x-axis indicates the sampling index ranging from 1 to the number of samples taken at a sampling rate of 1 s.The graph shows two different coloured series each corresponding to the RSS at Pi-node within a particular zone. The orange coloured series denotes the same for Zone 1 () while the blue coloured series indicates that for Zone 2 (). Initially, the user is outside the coverage area of both and . As seen from Figure 8, when the user starts moving towards , the RSS (orange colour) increases from sample number 41 onwards and attains a maximum when the user is nearest to the associated Pi-node of . It then starts to decrease as the user moves away from the Pi-node in . When the user enters the periphery of , where both the zones overlap to an extent, an increase in the RSS at is observed with a corresponding decrease of the same at . A similar pattern is exhibited when the user moves away from to the next neighbouring zone. A similar experiment that was conducted when the person moved from to is recorded with as entrance zone and as the exit zone. The relevant plots are depicted in the latter part of Figure 8. It may be observed that there are some random spikes generated due to noise and reflections. Since these peaks cross from the beyond region to the far region and again go back within a second, the corresponding vectors are not stored in the database.
6.2. Query ProcessingThe post data acquisition step involves satisfying queries fired from the user side. In order to compare the results of query processing using the conventional cloud-based method and the distributed AgPi approach, we conducted experiments for the two scenarios described in this section. Since testing on a real system would mean the requirement of a large number of Pis, for both of the experiments, we emulated a multi-floor building using a 50-node overlay network  using Tartarus, formed over a network of four Pi-nodes and two PCs. Each PC hosted 23 emulated Pi-nodes. The BLE tag bearers who move around in the building and need to be tracked, were emulated by mobile agents that move from one node to another. A total of 10 BLE tag bearer were introduced into the network, out of which six were made to move randomly within the building. The remaining four, designated as Head, Professor, Janitor and Guard, were programmed to have predefined movements. In addition, a separate dedicated server acted as the Cloud for both the systems. Figure 9 portrays the conceptual layout of the network deployed in a building. For the conventional cloud-based method, the Pi-nodes may or may not be connected to one another. For the AgPi approach (as shown in Figure 9), these connections are mandatory since there needs to be paths for the mobile agents to migrate.
Scenario 1: Conventional Cloud ApproachIn this approach, every Pi-node was capable of directly communicating with the Cloud. As the BLE tag bearers (mobile agents) move around the building (network), all pertinent data within the Pi-node (such as Timestamp, UUID, Motion Vectors, etc.) are directly sent to the Cloud. This is done by each of the Pi-nodes as and when new data is generated within them. Thus, all the data acquired and generated at the Pi-nodes is stored and managed at the cloud. All queries in this scenario are directly sent to the cloud, which are, in turn, processed at the cloud and returned to the concerned user.
Scenario 2: AgPi ScenarioIn this scenario, a user fires a query in the form of a program within a mobile agent via the UIU. This agent then knits through the connected Pi-nodes in the network, performs the concerned task(s) and processes the data within these nodes, thereby processing the query. While doing so, it also sends the acquired data at each node to the cloud. It may be noted that, in this case, the cloud is updated only with the relevant information pertaining to the query. Unlike the previous centralized scenario, the cloud connectivity is made only from those Pi-nodes where the mobile agent finds query related information. This drastically reduces data traffic between the networked devices and the cloud.
Comparison of Scenario 1 with Scenario 2Experiments were performed where queries were fired by the user in both the centralized cloud-based and AgPi scenarios. Data transfer cost in terms of the number of times the Pi-nodes connect to the cloud was logged in both these cases. Figure 10 shows the cumulative number of connections made between the Pi-nodes and the cloud server for a set of Trace (X) queries, where X is the person being tracked.In the case of a centralized cloud-based approach, one can infer that the cumulative number of connections made to the cloud increases steadily with time. As mentioned earlier, this is because, for every new data generated at a Pi-node, a connection is made to the cloud.On the contrary, in the case of AgPi, such connections are made to the cloud only when information found is relevant to the query fired. The cumulative number of connections made by the mobile agents during the execution of the queries Trace (Head), Trace (Janitor), Trace (Guard) and Trace (Professor) are shown in the figure. These numbers are far lower than that for the centralized scenario, clearly indicating the viability of the AgPi approach. The horizontal flat portions, termed as voids in the curves, denote the absence of any connections made to the cloud. Such portions could occur in the centralized scenario when the BLE tag bearers are stationary i.e., when no new data is generated at the Pi-nodes. For the AgPi scenario too, such voids could occur provided no queries are fired.
7. AgPi: Applications EnvisagedThe concept of AgPi opens up a plethora of areas where the characteristics of agents, both static and mobile, can be exploited. As mentioned earlier, our stress in this paper is to generate more interest in the use of agents on Pi and encourage the creation of real and working systems. The following are some of the areas where agents and Pi could blend well to produce such systems:Health Care: One of the most sensitive areas where AgPi can be envisaged is in the unobtrusive monitoring of the health of a patient. For instance, a wearable Bluetooth based wrist band equipped with a pulse monitor, temperature sensor, pedometer and similar medical sensors could feed the live data to an agent on a Pi. This static agent could be programmed to cross check this data, make a report on the status of the health of the person and then forward the same to a doctor, if required. In an alternative scenario, a mobile agent can be programmed to continuously patrol the network of such Pi-nodes set up in a hospital, gather the health information and status of the concerned patients and deliver the reports to the concerned doctors on their mobile devices. Mobile agents could also track, trace and inform a doctor in case of an emergency. With AgPi on an Intranet of Things in a health care scenario, information could be filtered and then sent to a cloud, thereby ensuring the integrity and security of a patient’s medical data.Vehicular Networks: The concept of Vehicular Networks (VANET) and connected cars have opened up numerous application domains. Vehicles, which constitute a node in the network, could have an on-board Pi with all networking facilities. Such vehicles can form a network among themselves to allow inter-vehicle communications. This can aid in solving a variety of problems associated with urban traffic conditions. Agents within such Pi-nodes can migrate around the network to learn about the traffic conditions in advance and provide valuable route information to the driver. Such information could also be disseminated to other cars by the agents. Agents can also aid in the generation of partial green-corridors for the movement of emergency vehicles .Robotics: An intranet of Pi-nodes connected to a network of robots can aid the latter in carrying out tasks in a coordinated manner. Semwal et al. portray how agents can search and guide a rescue robot to an area where they are required. Mobile agents can also be used to synchronize tasks performed by a set of robots . Sharing information using mobile agents can facilitate learning from within a network as has been described by Jha et al. .The concept of AgPi thus can be used to churn out as well as embed intelligence in a network of embedded systems.
8. ConclusionsThe paper introduces the concept of Agents on Pi (AgPi) and describes how it can be realized by using Tartarus, a multi-agent platform running on a Raspberry Pi. The platform supports both static and mobile agents and also allows them to access and control the various ports and peripheral devices on the Pi through a dedicated plugin. This allows for the creation of a CPS that has both the hardware and software constituents. An agent-based Location-Aware and Tracking Service (LATS) application has also been described to bring out the versatility of using agents on a Pi. The system can track people wearing a BLE device indoors with fair reliability and accuracy and also provide answers to a range of queries as regards the person being tracked. Experimental results reveal that the AgPi approach seems to perform better than the conventional cloud-based method. In addition, the use of mobile agents allows multiple queries to be fired using multiple agents concurrently. Queries need not be pre-programmed or preset. Since mobile agents can be released even during run time, these queries can be fired on-the-fly. The use of agents on Pi can thus make a network of things smarter and flexible unlike those that do not use agents. Since agents in Tartarus can be created and released even during run-time , the AgPi based system can be scaled, upgraded and programmed to be adaptable. The range of diverse areas where agents have been used until the date makes the concept of AgPi a powerful mechanism to realize intelligent applications in the realm of embedded and connected devices.
Conflicts of Interest
Agents on Pi
Bluetooth Low Energy
Internet of Things
Global Position System
Location-Aware and Tracking Services
Structured Query Language
Received Signal Strength
Personal Computer (Desktop)
Ultra High Frequency
Radio Frequency Identification
Universal Asynchronous Receiver Transmitter
Serial Peripheral Interface
Wireless Sensor Network
Appendix A. Conscientious Migration Strategy
Appendix B. Query Processing
- Atzori, L.; Iera, A.; Morabito, G. The internet of things: A survey. Comput. Netw. 2010, 54, 2787–2805. [Google Scholar] [CrossRef]
- Gartner. Gartner Says By 2020, More Than Half of Major New Business Processes and Systems Will Incorporate Some Element of the Internet of Things. 2016. Available online: http://www.gartner.com/newsroom/id/3185623 (accessed on 3 June 2016).
- Schreyer, P. The contribution of information and communication technology to output growth. OECD Sci. Technol. Ind. Working Pap. 2000. [Google Scholar] [CrossRef]
- Gubbi, J.; Buyya, R.; Marusic, S.; Palaniswami, M. Internet of Things (IoT): A vision, architectural elements, and future directions. Future Gener. Comput. Syst. 2013, 29, 1645–1660. [Google Scholar] [CrossRef]
- Khan, R.; Khan, S.U.; Zaheer, R.; Khan, S. Future Internet: The Internet of Things Architecture, Possible Applications and Key Challenges. In Proceedings of the 10th International Conference on Frontiers of Information Technology (FIT), Islamabad, Pakistan, 17–19 December 2012; pp. 257–260.
- Vaquero, L.M.; Rodero-Merino, L. Finding Your Way in the Fog: Towards a Comprehensive Definition of Fog Computing. SIGCOMM Comput. Commun. Rev. 2014, 44, 27–32. [Google Scholar] [CrossRef]
- Wooldridge, M. An Introduction to MultiAgent Systems; John Wiley & Sons: Hoboken, NJ, USA, 2009. [Google Scholar]
- Bonomi, F.; Milito, R.; Zhu, J.; Addepalli, S. Fog Computing and Its Role in the Internet of Things. In Proceedings of the First Edition of the MCC Workshop on Mobile Cloud Computing, MCC’ 12, Helsinki, Finland, 17 August 2012; ACM: New York, NY, USA, 2012; pp. 13–16. [Google Scholar]
- Calle, M.; Kabara, J. Measuring Energy Consumption in Wireless Sensor Networks Using GSP. In Proceedings of the 2006 IEEE 17th International Symposium on Personal, Indoor and Mobile Radio Communications, Helsinki, Finland, 11–14 September 2006; pp. 1–5.
- Semwal, T.; Bode, M.; Singh, V.; Jha, S.S.; Nair, S.B. Tartarus: A Multi-Agent platform for integrating Cyber-Physical Systems and Robots. In Proceedings of the 2015 Conference on Advances in Robotics, Goa, India, 2–4 July 2015.
- Wolfson, O.; Sistla, P.; Xu, B.; Zhou, J.; Chamberlain, S.; Yesha, Y.; Rishe, N. Tracking moving objects using database technology in DOMINO. In Next Generation Information Technologies and Systems; Springer: Berlin, Germany, 1999; pp. 112–119. [Google Scholar]
- Franklin, S.; Graesser, A. Is it an Agent, or just a Program? A Taxonomy for Autonomous Agents. In Intelligent Agents III Agent Theories, Architectures, and Languages; Springer: Berlin, Germany, 1996; pp. 21–35. [Google Scholar]
- Maes, P. Artificial Life Meets Entertainment: Lifelike Autonomous Agents. Commun. ACM 1995, 38, 108–114. [Google Scholar] [CrossRef]
- Ferber, J. Multi-Agent System: An Introduction to Distributed Artificial Intelligence; Addison-Wesley Longman Publishing Co., Inc.: Boston, MA, USA, 1999. [Google Scholar]
- White, J.D.; Davies, M.; Mcgeachie, J.; Grounds, A.D. Mobile Agents. In Software Agents; AAAI/MIT Press: Palo Alto, CA, USA, 1997; pp. 437–472. [Google Scholar]
- Harrison, C.G.; Chess, D.M.; Kershenbaum, A. Mobile Agents: Are They a Good Idea? IBM TJ Watson Research Center Yorktown Heights: New York, NY, USA, 1995. [Google Scholar]
- Chen, M.; Gonzalez, S.; Leung, V. Applications and design issues for mobile agents in wireless sensor networks. IEEE Wirel. Commun. 2007, 14, 20–26. [Google Scholar] [CrossRef]
- Kambayashi, Y.; Takimoto, M. Higher-order mobile agents for controlling intelligent robots. Int. J. Intell. Inf. Technol. (IJIIT) 2005, 1, 28–42. [Google Scholar] [CrossRef]
- Takimoto, M.; Mizuno, M.; Kurio, M.; Kambayashi, Y. Saving energy consumption of multi-robots using higher-order mobile agents. In Agent and Multi-Agent Systems: Technologies and Applications; Springer: Wroclaw, Poland, 2007; pp. 549–558. [Google Scholar]
- Maes, P.; Guttman, R.H.; Moukas, A.G. Agents That Buy and Sell. Commun. ACM 1999, 42, 81–91. [Google Scholar] [CrossRef]
- Boukerche, A.; Machado, R.B.; Jucá, K.R.; Sobral, J.B.M.; Notare, M.S. An agent-based and biological inspired real-time intrusion detection and security model for computer network operations. Comput. Commun. 2007, 30, 2649–2660. [Google Scholar] [CrossRef]
- Machado, R.B.; Boukerche, A.; Sobral, J.; Juca, K.; Notare, M. A hybrid artificial immune and mobile agent intrusion detection based model for computer network operations. In Proceedings of the 19th IEEE International Proceedings on Parallel and Distributed Processing Symposium, 4 April 2005; pp. 1–8.
- Kawamura, T.; Sugahara, K. A Mobile Agent-Based P2P e-Learning System. IPSJ J. 2005, 46, 222–225. [Google Scholar]
- Godfrey, W.W.; Nair, S.B. An Immune System Based Multi-robot Mobile Agent Network. In Artificial Immune Systems; Springer: Berlin, Germany, 2008; pp. 424–433. [Google Scholar]
- Godfrey, W.W.; Nair, S.B. Mobile Agent Cloning for Servicing Networked Robots. In Principles and Practice of Multi-Agent Systems; Springer: Berlin, Germany, 2010; pp. 336–339. [Google Scholar]
- Godfrey, W.W.; Jha, S.S.; Nair, S.B. On a mobile agent framework for an internet of things. In Proceedings of the International Conference on Communication Systems and Network Technologies (CSNT), Gwalior, India, 6–8 April 2013; pp. 345–350.
- Satoh, I. MobileSpaces: A framework for building adaptive distributed applications using a hierarchical mobile agent system. In Proceedings of 20th International Conference on Distributed Computing Systems, Taipei, Taiwan, 10–13 April 2000; pp. 161–168.
- Bellifemine, F.; Poggi, A.; Rimassa, G. JADE: a FIPA2000 compliant agent development environment. In Proceedings of the Fifth International Conference on Autonomous Agents, Madrid, Spain, 10–11 September 2001; pp. 216–217.
- Bellifemine, F.L.; Caire, G.; Greenwood, D. Developing Multi-Agent Systems with JADE; Volume 7, John Wiley & Sons: Hoboken, NJ, USA, 2007. [Google Scholar]
- Johansen, D.; Renesse, R.; Schneider, F.B. An Introduction to the TACOMA Distributed System; Technical Report; University of Tromsø and Cornell University: Ithaca, NY, USA, 1995. [Google Scholar]
- Kotz, D.; Gray, R.; Nog, S.; Rus, D.; Chawla, S.; Cybenko, G. Agent Tcl: Targeting the needs of mobile computers. IEEE Internet Computing 1997, 1, 58–67. [Google Scholar] [CrossRef]
- Silva, A.; Da Silva, M.M.; Delgado, J. An overview of AgentSpace: Next-generation mobile agent system. In Mobile Agents; Springer: Berlin, Germany, 1998; pp. 148–159. [Google Scholar]
- Lange, D.B.; Oshima, M.; Karjoth, G.; Kosaka, K. Aglets: Programming mobile agents in Java. In Worldwide Computing and Its Applications; Springer: Berlin, Germany, 1997; pp. 253–266. [Google Scholar]
- Moreno, A.; Valls, A.; Viejo, A. Using JADE-LEAP to implement agents in mobile devices; Universitat Rovira i Virgili: Tarragona, Spain, 2003. [Google Scholar]
- Chen, B.; Cheng, H.H.; Palen, J. Integrating mobile agent technology with multi-agent systems for distributed traffic detection and management systems. Transp. Res. Part C Emerg. Technol. 2009, 17, 1–10. [Google Scholar] [CrossRef]
- Clocksin, W.; Mellish, C.S. Programming in PROLOG; Springer Science & Business Media: Berlin, Germany, 2003. [Google Scholar]
- Bratko, I. Prolog Programming for Artificial Intelligence; Pearson Education: Upper Saddle River, NJ, USA, 2001. [Google Scholar]
- Gal, A.; Lapalme, G.; Saint-Dizier, P.; Somers, H. Prolog for Natural Language Processing; Wiley: Chichester, England, 1991. [Google Scholar]
- Ceri, S.; Gottlob, G.; Wiederhold, G. Efficient database access from PROLOG. IEEE Trans. Softw. Eng. 1989, 15, 153–164. [Google Scholar] [CrossRef]
- van der Wilt, K. Knowledge systems and Prolog: A logical approach to expert systems and natural language processing. Mach. Transl. 1990, 4, 329–331. [Google Scholar] [CrossRef]
- Tarau, P. Jinni: Intelligent mobile agent programming at the intersection of Java and Prolog. In Proceedings of Practical Application of Intelligent Agents and Multi-Agent Technology (PAAM), London, UK, 19–21 Apirl 1999; Volume 99, pp. 109–123.
- Devèze, B.; Chopinaud, C.; Taillibert, P. Alba: A generic library for programming mobile agents with prolog. In Programming Multi-Agent Systems; Springer: Berlin, Germany, 2006; pp. 129–148. [Google Scholar]
- Li, X. Imago: A Prolog-based system for intelligent mobile agents. In Mobile Agents for Telecommunication Applications; Springer: Berlin, Germany, 2001; pp. 21–30. [Google Scholar]
- Matani, J.; Nair, S.B. Typhon - A mobile agents framework for real world emulation in Prolog. In Multi-Disciplinary Trends in Artificial Intelligence; Springer: Berlin, Germany, 2011; pp. 261–273. [Google Scholar]
- Wielemaker, J.; Schrijvers, T.; Triska, M.; Lager, T. Swi-prolog. Theory and Practice of Logic Programming 2012, 12, 67–96. [Google Scholar] [CrossRef]
- Jha, S.S.; Godfrey, W.W.; Nair, S.B. Stigmergy-Based Synchronization of a Sequence of Tasks in a Network of Asynchronous Nodes. Cybern. Syst. 2014, 45, 373–406. [Google Scholar] [CrossRef]
- Jha, S.S.; Nair, S.B. On a Multi-agent Distributed Asynchronous Intelligence-Sharing and Learning Framework. In Transactions on Computational Collective Intelligence XVIII; Springer: Berlin, Germany, 2015; pp. 166–200. [Google Scholar]
- Bode, M.; Jha, S.S.; Nair, S.B. A Mobile Agent-based Autonomous Partial Green Corridor Discovery and Maintenance Mechanism for Emergency Services amidst Urban Traffic. In Proceedings of the First International Conference on IoT in Urban Space, Rome, Italy, 27–28 October 2014; pp. 13–18.
- Semwal, T.; Nikhil, S.; Jha, S.S.; Nair, S.B. TARTARUS: A Multi-Agent Platform for Bridging the Gap Between Cyber and Physical Systems (Demonstration). In Proceedings of the 2016 International Conference on Autonomous Agents and Multiagent Systems, Singapore, 9–13 May 2016; International Foundation for Autonomous Agents and Multiagent Systems: Richland, SC, USA, 2016; pp. 1493–1495. [Google Scholar]
- Kinnunen, J.; Krishnamurthy, G.; Huhtanen, K.; Jussila, P.; Ratschunas, K. Location Dependent Services. U.S. Patent 6,813,501, 2 November 2004. [Google Scholar]
- Catarinucci, L.; De Donno, D.; Mainetti, L.; Palano, L.; Patrono, L.; Stefanizzi, M.L.; Tarricone, L. An IoT-Aware Architecture for Smart Healthcare Systems. IEEE Internet Things J. 2015, 2, 515–526. [Google Scholar] [CrossRef]
- Dobkin, D.M. The RF in RFID: UHF RFID in Practice; Newnes: Burlington, VT, USA, 2012. [Google Scholar]
- Yick, J.; Mukherjee, B.; Ghosal, D. Wireless sensor network survey. Comput. Netw. 2008, 52, 2292–2330. [Google Scholar] [CrossRef]
- Gomez, C.; Oller, J.; Paradells, J. Overview and Evaluation of Bluetooth Low Energy: An Emerging Low-Power Wireless Technology. Sensors 2012, 12, 11734–11753. [Google Scholar] [CrossRef]
- Yoshimura, Y.; Krebs, A.; Ratti, C. An analysis of visitors’ length of stay through noninvasive Bluetooth monitoring in the Louvre Museum. 2016; arXiv: 1605.00108. [Google Scholar]
- Wolfson, O.; Chamberlain, S.; Kalpakis, K.; Yesha, Y. Modeling moving objects for location based services. In Developing an Infrastructure for Mobile and Wireless Systems; Springer: Berlin, Germany, 2001; pp. 46–58. [Google Scholar]
- Raspberry Pi — Wikipedia. Available online: https://en.wikipedia.org/wiki/Raspberry_Pi (accessed on 2 June 2016).
- Raspberry Pi Zero: The $5 Computer. Available online: https://www.raspberrypi.org/blog/raspberry-pi-zero/ (accessed on 3 June 2016).
- Michael, M.S. Universal Asynchronous Receiver/Transmitter. U.S. Patent 5,140,679, 18 August 1992. [Google Scholar]
- Minar, N.; Kramer, K.; Maes, P. Cooperating mobile agents for mapping networks. In Proceedings of the First Hungarian National Conference on Agent Based Computing, Budapest, Hungary, 29–31 May 1998.
- Faragher, R.; Harle, R. An analysis of the accuracy of bluetooth low energy for indoor positioning applications. In Proceedings of the 27th International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GNSS+’14), Tampa, FL, USA, 8–12 September 2014.
- Lua, E.K.; Crowcroft, J.; Pias, M.; Sharma, R.; Lim, S. A survey and comparison of peer-to-peer overlay network schemes. IEEE Commun. Surv. Tutor. 2005, 7, 72–93. [Google Scholar]
|INFINITY →||Zone →||Zone|
© 2016 by the authors; licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC-BY) license (http://creativecommons.org/licenses/by/4.0/).