Abstract
A relevant application domain for agent-based software is given by mobile and wearable applications. In this context, the impressive progress of technologies in the last decade makes it possible to explore the use of agent-oriented programming languages and frameworks based on cognitive architectures, such as the Belief–Desire–Intention (BDI) one. Accordingly, in this paper we provide a comprehensive description of the JaCa-Android approach, a framework based on the JaCaMo platform that allows for designing and programming smart mobile apps using cognitive agents based on the BDI architecture and the Agents & Artifacts environment conceptual model. In these years, the framework has been applied in real-world projects and application domains, and extended and evolved accordingly. The aim of the paper is to report our experience about designing and programming mobile apps as personal assistant agents, as well as to discuss in detail the architecture of the framework.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Notes
Available here: https://github.com/pslabunibo/jaca-android.
The “M. Bufalini” Hospital in Cesena, Italy.
The experimentation started in April 2017.
In June 2020, Google Android is the leading mobile operating system worldwide, with a 72,52% of global marker share (source: https://gs.statcounter.com/os-market-share/mobile/worldwide, retrieved in June 2020).
References
Abowd, G. D., Dey, A. K., Brown, P. J., Davies, N., Smith, M., & Steggles, P. (1999). Towards a better understanding of context and context-awareness. In Proceedings of the 1st international symposium on handheld and ubiquitous computing, HUC ’99 (pp. 304–307). Springer-Verlag, London, UK.
Agüero, J., Rebollo, M., Carrascosa, C., & Julián, V. (2008). Developing intelligent agents on the android platform. In Sixth European workshop on multi-agent systems (EUMAS 2008) (pp. 1–14).
Agüero, J., Rebollo, M., Carrascosa, C., & Julián, V. (2009). Does android dream with intelligent agents? In J. M. Corchado, S. Rodríguez, J. Llinas, & J. M. Molina (Eds.), International symposium on distributed computing and artificial Intelligence 2008 (DCAI 2008) (pp. 194–204). Berlin: Springer.
Baldauf, M., Dustdar, S., & Rosenberg, F. (2007). A survey on context aware systems. International Journal of Ad Hoc and Ubiquitous Computing, 2(4), 263–277.
Bellavista, P., Corradi, A., & Stefanelli, C. (2001). Mobile agent middleware for mobile computing. Computer, 34(3), 73–81.
Bellifemine, F., Poggi, A., & Rimassa, G. (1999). JADE—a FIPA-compliant agent framework. In Proceedings of the practical applications of intelligent agents.
Bergenti, F., Caire, G., & Gotta, D. (2014) Agents on the move: JADE for android devices. In: C. Santoro, F. Bergenti (Eds.), WOA 2014, CEUR workshop proceedings, vol. 1260. CEUR-WS.org.
Bergenti, F., Poggi, A., Burg, B., & Caire, G. (2001). Deploying fipa-compliant systems on handheld devices. IEEE Internet Computing, 5(4), 20–25.
Boissier, O., Bordini, R. H., Hübner, J. F., & Ricci, A. (2020). Multi-agent oriented programming: programming multi-agent systems using JaCaMo. Cambridge: MIT Press.
Boissier, O., Bordini, R. H., Hübner, J. F., Ricci, A., & Santi, A. (2013). Multi-agent oriented programming with jacamo. Science of Computer Programming, 78(6), 747–761.
Bordini, R., & Hübner, J. (2006). BDI agent programming in AgentSpeak using Jason. In F. Toni & P. Torroni (Eds.), CLIMA VI, LNAI (Vol. 3900, pp. 143–164). Berlin: Springer.
Bordini, R. H., Dastani, M., Dix, J., & El Fallah Seghrouchni, A. (Eds.). (2005). Multi-Agent Programming: Languages. No. 15 in Multiagent Systems, Artificial Societies, and Simulated Organizations.. : Platforms and Applications. Springer.
Bordini, R. H., Dastani, M., Dix, J., & El Fallah Seghrouchni, A. (Eds.). (2009). Multi-agent programming: languages, tools and applications. Berlin: Springer.
Breugst, M., Choy, S., Hagen, L., Höft, M., & Magedanz, T. (1999). Grasshopper—an agent platform for mobile agent-based services in fixed and mobile telecommunications environments (pp. 326–357). Berlin: Springer.
Brown, P. J., Bovey, J. D., & Chen, X. (1997). Context-aware applications: From the laboratory to the marketplace. IEEE Personal Communications, 4(5), 58–64.
Burstein, F., Zaslavsky, A., & Arora, N. (2005) Context-aware mobile agents for decision-making support in healthcare emergency applications. In International workshop on context modeling and decision support: 05/07/2005-05/07/2005. CEUR Workshop Proceedings
Capra, L., Emmerich, W., & Mascolo, C. (2003). Carisma: Context-aware reflective middleware system for mobile applications. IEEE Transactions on Software Engineering, 29(10), 929–945.
Chalupsky, H., Gil, Y., Knoblock, C. A., Lerman, K., Oh, J., Pynadath, D. V., Russ, T. A., & Tambe, M. (2001) Electric elves: Applying agent technology to support human organizations. In Proceedings of the thirteenth conference on innovative applications of artificial intelligence conference (pp. 51–58), AAAI Press.
Chen, G., & Kotz, D. (2000). A survey of context-aware mobile computing research Tech. rep.. Hanover, NH, USA.
Croatti, A., Montagna, S., & Ricci, A. (2017). A personal medical digital assistant agent for supporting human operators in emergency scenarios. In S. Montagna, P. H. Abreu, S. Giroux, & M. I. Schumacher (Eds.), Agents and multi-agent systems for health care: 10th international workshop, A2HC 2017, São Paulo, Brazil, May 8, 2017, and international workshop, A-HEALTH 2017, Porto, Portugal, June 21, 2017, Revised and Extended Selected Papers (pp. 59–75). Cham: Springer International Publishing.
Croatti, A., Montagna, S., Ricci, A., Gamberini, E., Albarello, V., & Agnoletti, V. (2019). Bdi personal medical assistant agents: The case of trauma tracking and alerting. Artificial Intelligence in Medicine, 96, 187–197.
Croatti, A., & Ricci, A. (2018). A model and platform for building agent-based pervasive mixed reality systems. In Y. Demazeau, B. An, J. Bajo, & A. Fernández-Caballero (Eds.), Advances in practical applications of agents, multi-agent systems, and complexity: The PAAMS collection (pp. 127–139). Cham: Springer International Publishing.
Croatti, A., & Ricci, A. (2020) From virtual worlds to mirror worlds: A model and platform for building agent-based extended realities. In Proceedings of the 17th European conference on multi-agent systems. Thessaloniki, Greece
Damasceno, K., Cacho, N., Garcia, A., Romanovsky, A., & Lucena, C. (2006) Context-aware exception handling in mobile agent systems: The moca case. In Proceedings of the 2006 international workshop on software engineering for large-scale multi-agent systems, SELMAS ’06 (pp. 37–44). Association for Computing Machinery, New York, NY, USA.
Dey, A.K. (1998) Context-aware computing: The cyberdesk project. aaai 1998 spring symposium on intelligent environments. Tech. rep.
Don, A., Brennan, S., Laurel, B., & Shneiderman, B. (1992). Anthropomorphism: From eliza to terminator 2. In Proceedings of the SIGCHI conference on human factors in computing systems, CHI ’92 (pp. 67–70). ACM, New York, NY, USA.
El Fallah Seghrouchni, A., & Suna, A. (2005). Claim and Sympa: A programming environment for intelligent and mobile agents (pp. 95–122). Boston: Springer.
Fels, S., Sumi, Y., Etani, T., Simonet, N., Kobayshi, K., & Mase, K. (1998) Progress of c-map: A context-aware mobile assistant. In Proceedings of AAAI 1998 spring symposium on intelligent environments (pp. 60–67).
Forman, G. H., & Zahorjan, J. (1994). The challenges of mobile computing. Computer, 27(4), 38–47.
Frantz, C., Nowostawski, M., & Purvis, M. K. (2012). Micro-agents on android: Interfacing agents with mobile applications. In F. Dechesne, H. Hattori, A. ter Mors, J. M. Such, D. Weyns, & F. Dignum (Eds.), Advanced agent technology (pp. 488–502). Berlin: Springer.
Griss, M., Letsinger, R., Cowan, D., Van Hilst, M., & Kessler, R. (2002). Coolagent: Intelligent digital assistants for mobile professionals - phase 1 retrospective. Tech. rep. HPL Technical Report.
Hindriks, K. V., De Boer, F. S., Van der Hoek, W., & Meyer, J. J. C. (1999). Agent programming in 3apl. Autonomous Agents and Multi-Agent Systems, 2(4), 357–401.
Hübner, J. F., Sichman, J. S., & Boissier, O. (2007). Developing organised multiagent systems using the MOISE+ model: Programming issues at the system and agent levels. International Journal of Agent-Oriented Software Engineering, 1(3–4), 370–395.
Johansen, D., Lauvset, K. J., van Renesse, R., Schneider, F. B., Sudmann, N. P., & Jacobsen, K. (2002). A tacoma retrospective. Software: Practice and Experience, 32(6), 605–619.
Koch, F. (2005) 3APL-M platform for deliberative agents in mobile devices. In Proceedings of the fourth international joint conference on autonomous agents and multiagent systems, AAMAS ’05 (pp. 153–154). ACM, New York, NY, USA.
Koch, F., & Rahwan, I. (2004). The role of agents in intelligent mobile services. In Proceedings of the 7th pacific rim international workshop on multi-agents, PRIMA 2004 (Vol. 3371, pp. 115–127).
Koch, F. L., & Rahwan, I. (2004) Classification of agents-based mobile assistants. In Proceedings of the AAMAS workshop on agents for ubiquitous computing (UbiAgents).
Li, C., Giampapa, J. A., & Sycara, K. P. (2006). Bilateral negotiation decisions with uncertain dynamic outside options. IEEE Transactions on Systems, Man, and Cybernetics, Part C, 36(1), 31–44.
Maes, P. (1994). Agents that reduce work and information overload. Readings in Human–Computer Interaction, 37(7), 30–40.
Modi, P. J., Veloso, M., Smith, S. F., & Oh, J. (2005) Cmradar: A personal assistant agent for calendar management. In Proceedings of the 6th international conference on agent-oriented information systems II, AOIS’04 (pp. 169–181). Springer-Verlag, Berlin, Heidelberg.
Montagna, S., Croatti, A., Ricci, A., Agnoletti, V., & Albarello, V. (2019) Pervasive tracking for time-dependent acute patient flow: A case study in trauma management. In 2019 IEEE 32nd international symposium on computer-based medical systems (CBMS) (pp. 237–240).
Montagna, S., Croatti, A., Ricci, A., Agnoletti, V., Albarello, V., & Gamberini, E. (2019). Real-time tracking and documentation in trauma management. Health Informatics Journal.
Muldoon, C., O’Hare, G. M. P., Collier, R., & O’Grady, M. J. (2006). Agent factory micro edition: A framework for ambient applications. In V. N. Alexandrov, G. D. van Albada, P. M. A. Sloot, & J. Dongarra (Eds.), Computational science—ICCS 2006 (pp. 727–734). Berlin: Springer.
Muñoz, M. A., Rodríguez, M., Favela, J., Martinez-Garcia, A. I., & González, V. M. (2003). Context-aware mobile communication in hospitals. Computer, 36(9), 38–46.
Okamoto, S., Scerri, P., & Sycara, K. (2006) Toward an understanding of the impact of software personal assistants on human organizations. In Proceedings of the fifth international joint conference on autonomous agents and multiagent systems, AAMAS ’06 (pp. 630–637). ACM, New York, NY, USA.
Omicini, A., Ricci, A., & Viroli, M. (2008). Artifacts in the A&A meta-model for multi-agent systems. Autonomous Agents and Multi-Agent Systems, 17(3).
Ranganathan, A., & Campbell, R. H. (2003) A middleware for context-aware agents in ubiquitous computing environments. In Proceedings of the ACM/IFIP/USENIX 2003 international conference on middleware, middleware ’03 (pp. 143–161). Springer-Verlag, Berlin, Heidelberg.
Rhodes, B. J. (1997). The wearable remembrance agent: A system for augmented memory. Personal Technologies, 1(4), 218–224.
Ricci, A., Croatti, A., Brunetti, P., & Viroli, M. (2015). Programming mirror worlds: An agent-oriented programming perspective. In M. Baldoni, L. Baresi, & M. Dastani (Eds.), Engineering multi-agent systems (pp. 191–211). Cham: Springer.
Ricci, A., Piunti, M., Tummolini, L., & Castelfranchi, C. (2015). The mirror world: Preparing for mixed-reality living. IEEE Pervasive Computing, 14(2), 60–63.
Ricci, A., Piunti, M., & Viroli, M. (2011). Environment programming in multi-agent systems: An artifact-based perspective. Autonomous Agents and Multi-Agent Systems, 23(2), 158–192.
Russell, S., Doyle, O., & Collier, R. W. (2017) Developing android applications using agent-oriented programming. In: 2017 12th international conference on intelligent systems and knowledge engineering (ISKE) (pp. 1–7).
Santi, A., Guidi, M., & Ricci, A. (2011). Jaca-android: An agent-based platform for building smart mobile applications. In M. Dastani, A. El Fallah Seghrouchni, J. Hübner, & J. Leite (Eds.), Languages, methodologies, and development tools for multi-agent systems (Vol. 6822, pp. 95–114)., Lecture notes in computer science Berlin: Springer.
Santos, J., Rodrigues, J. J., Silva, B. M., Casal, J., Saleem, K., & Denisov, V. (2016). An iot-based mobile gateway for intelligent personal assistants on mobile health environments. Journal of Network and Computer Applications, 71, 194–204.
Satyanarayanan, M. (1996) Fundamental challenges in mobile computing. In Proceedings of the fifteenth annual ACM symposium on principles of distributed computing, PODC ’96 (pp. 1–7). ACM, New York, NY, USA.
Schilit, B. N., & Theimer, M. M. (1994). Disseminating active map information to mobile hosts. IEEE Network, 8(5), 22–32.
Shintani, T., Ito, T., & Sycara, K. (2000) Multiple negotiations among agents for a distributed meeting scheduler. In Proceedings fourth international conference on multiagent systems (pp. 435–436).
Shoham, Y. (1993). Agent-oriented programming. Artificial Intelligence, 60, 51–92.
Sumi, Y., Etani, T., Fels, S., Simonet, N., Kobayashi, K., & Mase, K. (1998). C-MAP: Building a context-aware mobile assistant for exhibition tours (pp. 137–154). Berlin: Springer.
Suna, A., & El Fallah-Seghrouchni, A. (2005). A mobile agents platform: Architecture, mobility and security elements. In R. H. Bordini, M. Dastani, J. Dix, & A. El Fallah Seghrouchni (Eds.), Programming multi-agent systems (pp. 126–146). Berlin: Springer.
Tambe, M. (2008). Electric elves: What went wrong and why. AI Magazine, 29(2), 23–27.
Wagner, T., Phelps, J., Guralnik, V., & VanRiper, R. (2004) Coordinators: Coordination managers for first responders. In Proceedings of the third international joint conference on autonomous agents and multiagent systems—volume 3, AAMAS ’04 (pp. 1140–1147). IEEE Computer Society, Washington, DC, USA.
Weihong, Y., & Chen, Y. (2013). The development of jade agent for android mobile phones. In: W. Lu, G. Cai, W. Liu, W. Xing (Eds.), Proceedings of the 2012 international conference on information technology and software engineering (pp. 215–222). Springer Berlin Heidelberg, Berlin, Heidelberg.
Wooldridge, M., & Jennings, N. R. (1995). Intelligent agents: Theory and practice. The Knowledge Engineering Review, 10(2), 115–152.
Zaslavsky, A. (2004) Mobile agents: Can they assist with context awareness? In IEEE International conference on mobile data management, 2004. Proceedings. 2004 (pp. 304–305).
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
The authors declare that they have no conflict of interest.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Croatti, A., Ricci, A. Mobile Apps as Personal Assistant Agents: the JaCa-Android Framework for programming Agents-based applications on mobile devices. Auton Agent Multi-Agent Syst 34, 48 (2020). https://doi.org/10.1007/s10458-020-09474-7
Published:
DOI: https://doi.org/10.1007/s10458-020-09474-7