next up previous
Next: Prototype specification Up: Specification and Simulation Previous: Agents in CaseLP

CaseLP prototyping method

 

The realization of a MAS-based software prototype can be performed according to the following steps. Figure 1 gives a graphical representation of the method.

   figure199
Figure 1: The development method.

  1.   Static architectural description of the prototype. The developer decides the static structure of the MAS. This step is further broken down to: (a) determining the classes of agents the application needs; (b) for each class, determining the kind of the agents belonging to the class, their architecture, their eventual interpreters and their set of services ; (c) determining the set of necessary instances for each class; (d) defining the interconnections between the instances of agents, linking appropriately requested and provided services. This phase defines the agents that form the prototype, and the communication channels among them. Notice that architecture can refer either to an architecture already available in a library or to a ``new'' architecture that has still to be defined.
  2.   Description of communication between agents. Each provided or requested service needs a specific conversation between the agent that provides the service and the one that requires it. This step allows to specify the sequence of exchanged messages. Some conversations can start some other (sub)conversations. This is properly captured in this step. The conversation model of the MAS includes the set of all the conversations and the sub-conversation relationship among them.
  3.   High-level specification of the system and the agents. At this stage a high-level specification language is used to model the prototype. Three different levels of modeling can be identified:
    1.   specification of interactions among agents in the MAS, abstracting from their architecture and taking into account the interaction model specified in step 2;
    2.   specification of the ``new'' architectures chosen in step 1, i.e. modeling of the interactions between the internal components of an agent;
    3.   specification of the agents' behavior.
  4.   Verification and testing of the system. This step verifies and/or performs a preliminary validation of the abstract specification defined in step 3. Validation is possible if the specification language used in the previous step is executable. Verification is possible if proof mechanisms are available for the used specification language. If the specification is given using a logical language, goal-directed execution is a proof procedure. In this case, given a prototype specification and an initial configuration, it is possible to follow the evolution of a particular MAS in detail. It is possible to verify whether a particular computation may be carried out or, what is more important, that every computation starting from a given configuration leads to a final state which satisfies a given property.
  5.   Implementation of the prototype. This step transforms the abstract specification of the application into the final prototype. An extended concrete logic-programming language is used for prototype implementation. Interfaces towards external software and data are provided using appropriate interpreters. Moreover, message passing communication, and other lower-level details which were abstracted in the previous steps, are now implemented.
  6.   Execution of the obtained prototype. Prototype execution is used to validate the prototype against the client's desiderata. Execution provides the user and the developer with information about the events that occur in the MAS, and allows them to check if the prototype behaves as expected and if it encompasses all the desired features. Any error or misbehavior discovered in this step may imply a revision of the choices made in the previous steps.

We can distinguish three different phases in the method adopted by CaseLP. Steps 1 through 4 form the modeling phase of the prototype. Step 5 represents the implementation phase and step 6 represents the execution phase. The next three sections focus on languages and tools that CaseLP provides to face each of the phases listed above.


next up previous
Next: Prototype specification Up: Specification and Simulation Previous: Agents in CaseLP

Floriano Zini
Wed Oct 20 15:24:59 GMT+0200 1999