Skip to main content

Mobile Apps as Personal Assistant Agents: the JaCa-Android Framework for programming Agents-based applications on mobile devices

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.

This is a preview of subscription content, access via your institution.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19

Notes

  1. 1.

    Available here: https://github.com/pslabunibo/jaca-android.

  2. 2.

    https://github.com/micro-agents/micro-agents/wiki.

  3. 3.

    https://developer.android.com/reference/android/app/Activity.

  4. 4.

    https://developer.android.com/reference/android/app/Service.

  5. 5.

    https://developer.android.com/guide/topics/manifest/manifest-intro.

  6. 6.

    https://developer.android.com/studio/.

  7. 7.

    The “M. Bufalini” Hospital in Cesena, Italy.

  8. 8.

    The experimentation started in April 2017.

  9. 9.

    https://www.vuzix.com/products/blade-smart-glasses.

  10. 10.

    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

  1. 1.

    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.

  2. 2.

    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).

  3. 3.

    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.

  4. 4.

    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.

    Article  Google Scholar 

  5. 5.

    Bellavista, P., Corradi, A., & Stefanelli, C. (2001). Mobile agent middleware for mobile computing. Computer, 34(3), 73–81.

    Article  Google Scholar 

  6. 6.

    Bellifemine, F., Poggi, A., & Rimassa, G. (1999). JADE—a FIPA-compliant agent framework. In Proceedings of the practical applications of intelligent agents.

  7. 7.

    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.

  8. 8.

    Bergenti, F., Poggi, A., Burg, B., & Caire, G. (2001). Deploying fipa-compliant systems on handheld devices. IEEE Internet Computing, 5(4), 20–25.

    Article  Google Scholar 

  9. 9.

    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.

    Google Scholar 

  10. 10.

    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.

    Article  Google Scholar 

  11. 11.

    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.

    Google Scholar 

  12. 12.

    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.

  13. 13.

    Bordini, R. H., Dastani, M., Dix, J., & El Fallah Seghrouchni, A. (Eds.). (2009). Multi-agent programming: languages, tools and applications. Berlin: Springer.

    MATH  Google Scholar 

  14. 14.

    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.

    Google Scholar 

  15. 15.

    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.

    Article  Google Scholar 

  16. 16.

    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

  17. 17.

    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.

    MATH  Article  Google Scholar 

  18. 18.

    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.

  19. 19.

    Chen, G., & Kotz, D. (2000). A survey of context-aware mobile computing research Tech. rep.. Hanover, NH, USA.

  20. 20.

    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.

  21. 21.

    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.

    Article  Google Scholar 

  22. 22.

    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.

    Chapter  Google Scholar 

  23. 23.

    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

  24. 24.

    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.

  25. 25.

    Dey, A.K. (1998) Context-aware computing: The cyberdesk project. aaai 1998 spring symposium on intelligent environments. Tech. rep.

  26. 26.

    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.

  27. 27.

    El Fallah Seghrouchni, A., & Suna, A. (2005). Claim and Sympa: A programming environment for intelligent and mobile agents (pp. 95–122). Boston: Springer.

    Google Scholar 

  28. 28.

    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).

  29. 29.

    Forman, G. H., & Zahorjan, J. (1994). The challenges of mobile computing. Computer, 27(4), 38–47.

    Article  Google Scholar 

  30. 30.

    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.

    Chapter  Google Scholar 

  31. 31.

    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.

  32. 32.

    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.

    Article  Google Scholar 

  33. 33.

    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.

    Article  Google Scholar 

  34. 34.

    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.

    MATH  Google Scholar 

  35. 35.

    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.

  36. 36.

    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).

  37. 37.

    Koch, F. L., & Rahwan, I. (2004) Classification of agents-based mobile assistants. In Proceedings of the AAMAS workshop on agents for ubiquitous computing (UbiAgents).

  38. 38.

    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.

    Article  Google Scholar 

  39. 39.

    Maes, P. (1994). Agents that reduce work and information overload. Readings in Human–Computer Interaction, 37(7), 30–40.

    Google Scholar 

  40. 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.

  41. 41.

    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).

  42. 42.

    Montagna, S., Croatti, A., Ricci, A., Agnoletti, V., Albarello, V., & Gamberini, E. (2019). Real-time tracking and documentation in trauma management. Health Informatics Journal.

  43. 43.

    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.

    Chapter  Google Scholar 

  44. 44.

    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.

    Article  Google Scholar 

  45. 45.

    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.

  46. 46.

    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).

  47. 47.

    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.

  48. 48.

    Rhodes, B. J. (1997). The wearable remembrance agent: A system for augmented memory. Personal Technologies, 1(4), 218–224.

    Article  Google Scholar 

  49. 49.

    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.

    Chapter  Google Scholar 

  50. 50.

    Ricci, A., Piunti, M., Tummolini, L., & Castelfranchi, C. (2015). The mirror world: Preparing for mixed-reality living. IEEE Pervasive Computing, 14(2), 60–63.

    Article  Google Scholar 

  51. 51.

    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.

    Article  Google Scholar 

  52. 52.

    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).

  53. 53.

    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.

    Chapter  Google Scholar 

  54. 54.

    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.

    Article  Google Scholar 

  55. 55.

    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.

  56. 56.

    Schilit, B. N., & Theimer, M. M. (1994). Disseminating active map information to mobile hosts. IEEE Network, 8(5), 22–32.

    Article  Google Scholar 

  57. 57.

    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).

  58. 58.

    Shoham, Y. (1993). Agent-oriented programming. Artificial Intelligence, 60, 51–92.

    MathSciNet  Article  Google Scholar 

  59. 59.

    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.

    Google Scholar 

  60. 60.

    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.

    Chapter  Google Scholar 

  61. 61.

    Tambe, M. (2008). Electric elves: What went wrong and why. AI Magazine, 29(2), 23–27.

    Google Scholar 

  62. 62.

    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.

  63. 63.

    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.

  64. 64.

    Wooldridge, M., & Jennings, N. R. (1995). Intelligent agents: Theory and practice. The Knowledge Engineering Review, 10(2), 115–152.

    Article  Google Scholar 

  65. 65.

    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).

Download references

Author information

Affiliations

Authors

Corresponding author

Correspondence to Angelo Croatti.

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

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

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

Download citation

Keywords

  • Agents
  • BDI
  • Android
  • JaCaMo
  • Personal agents