In this phase, we try to reuse existing patterns of agents and tasks. It is not correct to talk of patterns of code only, because the process of reuse takes place in the PTK tool where the designer looks at diagrams detailing the library of patterns, not at their code directly. Our patterns therefore are not only pieces of code. They are also pieces of design (of agents and tasks) that can be reused to implement new systems. At the programming level, the designer is too deeply involved in solving the details of the implementation of the various agents and does not have a sufficiently complete view of the system.
The best environment to try to reuse patterns is the design environment. The PTK tool has proven very versatile, thanks to the binding of the design elements (classes, methods, attributes…) to the code language. We have therefore produced a series of pieces of reusable code that are documented with their MABD and SASD diagrams. In the former we describe the behavior of the pattern through the sequence of events and implemented methods whilst in the latter we have a structural description of the pattern in the form of a class or a group of classes (for example an agent with its IdleTask and communication tasks for some protocols).
We have found that in our applications and with our specific implementation environment (FIPA-OS and Jade), the most useful patterns are those that could be classified as interaction patterns. This is due to the specific structure of FIPA-compliant platforms that delegate a specific task for each specific communication. Each time an agent needs to use a protocol, the related pattern task can be easily reused and only the part of the code devoted to the information treatment necessitates modification.
Next phase: Code Completion Baseline
Previous phase: Agent Behavior Description
Home: PASSI homepage