Listen as a podcast instead go here:
JAFIMA, is a Java language based framework that supports the development of intelligent and mobile agents for various applications. JAFIMA defines agents as software entities that have autonomy, sociability, reactivity, proactivity, communication, collaboration, negotiation, and reasoning abilities. JAFIMA also provides a layered architecture for agent design, consisting of seven layers that handle different aspects of agent behavior. Furthermore, JAFIMA uses object-oriented design patterns to structure and document the agent systems, promoting standardization, reuse, and adaptability. The work on JAFIMA illustrates the use of examples of agent systems in different domains and shows how design patterns can improve their quality and manageability. JAFIMA is a comprehensive and flexible framework design that can facilitate the creation of intelligent and mobile agents for various purposes.
JAFIMA was an academic project built between 1996-2000. You can see the below layered architecture which shows the Framework design implemented in the 1996.

- An application framework for intelligent and mobile agents. Kendall, E.A., Krishna, P.M., Suresh, C.B. and Pathak, C.V.,ACM Computing Surveys (CSUR), 32(1es), pp.20-es. 2000.PDF
- Implementing Application Frameworks: Object-Oriented Frameworks at Work, Kendall, E.A., Krishna, P.M., Pathak, C.V. and Suresh, C.B., Wiley · Jan, 1999.[Book}(https://dl.acm.org/doi/book/10.5555/347304)
- Patterns of intelligent and mobile agents. In Proceedings of the second international conference on Autonomous agents (pp. 92-99). May,1998. PDF
- The layered agent pattern language. In Proceedings of the Conference on Pattern Languages of Programs. Kendall, E.A., Pathak, C.V., Krishna, P.M. and Suresh, C.B., September, 1997. PDF