Projects



Howto AIPs

(1) Description

AIPs (Agent Interaction Protocol Diagrams) are a dialect of IPs (Interaction Protocols) as they are used by FIPA and in AUML. As a special form of Sequence Diagrams (see UML), which are commonly used to model sequences of communication, AIPs (and IPs, too) can be used to model scenarios, i.e. sets of sequences.

(2) Embedment in the PAOSE Development Process

(3) Usage

Start Renew and activate the palette for the diagram tools (Tools >> Diagram Drawing Tool >> toggle ; Ctrl-Shift-X). The tools function only correctly in a AIP drawing: File >> New Drawing and choose Diagram Drawing (*.aip).

Some restrictions allow for faster drawing of AIP elements. Role Descriptors can be drawn anywhere, preferably at the top of the drawing. Activations (tasks) and Life Line Splits can be drawn exclusively underneath (south) of another drawing element. Life Lines are automatically added between the new element and the element above (north).

Several handles can be used to draw Messages or Life Lines and the a new element at the same time. Actions and DC Exchanges are special inscriptions that can be attached to the Activations. Message Arcs can be inscribed with the message content or an SL message.

Generation of Petri net code (skeletons) from AIPs are possible via a menu command (Ctrl-G). See below for the meaning and syntax of inscriptions.

(4) Inscriptions (Messages, Actions):

(Text copied from Diagram/etc/README.diagram.)

Messages:

Messages can start with action -- complete message inscription

 AIP:                                              Net: (NC-out inscription)
 ------------------------------------------>       |\
  action p2 = new SomeObject().toAclMessage(aid)         | \
                                                   |  \
                                                   |   \
                                                   |____\
                                                   action p2 = new SomeObject().toAclMessage(aid)
 

Messages can have arbitrary inscriptions -- interpreted as content

 AIP:                                              Net: (NC-out inscription)
 ------------------------------------------>       |\
             slContent                             | \
                                                   |  \
                                                   |   \
                                                   |____\
                                                   action p2 = Sl0Creator.createActionRequest(
                                                             aid,
                                                             slContent)

Without inscriptions the standard will be inserted in NC out

 AIP:                                              Net: (NC-out inscription)
 ------------------------------------------>       |\
                                                   | \
                                                   |  \
                                                   |   \
                                                   |____\
                                                   action p2 = Sl0Creator.createActionRequest(
                                                             aid,
                                                             "content")

Actions:

Action inscriptions will be added to the sequence as raw text. ":access(kb)" is already available.

 AIP:                                             Net: (NC-sequence inscription)

       |      |                                    
  -----------------------                         |-----------------------|
  | kb:ask("name",name) |                         |                       |
  -----------------------                         |-----------------------|
       |      |                                        :access(kb)
                                                     kb:ask("name",name)
                                                   

DC exchange:

DC inscriptions will be added to the NC-exchange description

 AIP:                                             Net: (NC-exchange description)
                                                  (dcNewExchange(.,.,.) channel)    
       |      |                                           /  \
  --------------------                                  /      \
  | RoleHelper.TEST  |                               RoleHelper.TEST                    
  --------------------                              /              \
       |      |                                    ------------------                               

DC inscriptions leading with the keyword "simple" will be added to the NC-simple-exchange description

 AIP:                                             Net: (NC-simple exchange description)
                                                  (dcExchange(.,.) channel)    
       |      |                                           /  \
  ---------------------------                           /      \
  | simple RoleHelper.TEST  |                       RoleHelper.TEST                    
  ---------------------------                       /              \
       |      |                                    ------------------                               
Last modified 11 years ago Last modified on Jan 9, 2014, 5:13:32 PM

Attachments (1)

Download all attachments as: .zip