Projects



Changes between Initial Version and Version 1 of Paose/Documentation/Howto-AIPs


Ignore:
Timestamp:
Sep 6, 2010, 7:03:13 PM (14 years ago)
Author:
Lawrence Cabac
Comment:

Added Howto AIPs, copy from tgi15.

Legend:

Unmodified
Added
Removed
Modified
  • Paose/Documentation/Howto-AIPs

    v1 v1  
     1Howto AIPs
     2
     3== (1) Description ==
     4
     5AIPs (Agent Interaction Protocol Diagrams) are a dialect of IPs (Interaction Protocols) as they are used by [[http://www.fipa.org FIPA]] and in [[http://www.auml.org AUML]]. As a special form of Sequence Diagrams (see [[http://www.omg.org UML]]), which are commonly used to model sequences of communication, AIPs (and IPs, too) can be used to model scenarios, i.e. a set of sequences.
     6
     7== (2) Embedment in the PAOSE Development Process ==
     8[[Image(Paose-detailed-AIP.png)]]
     9
     10== (3) Usage ==
     11
     12Start 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).
     13
     14Some 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).
     15
     16Several 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.
     17
     18Generation of Petri net code (skeletons) from AIPs are possible via a menu command (Ctrl-G). See [[https://tgi15.informatik.uni-hamburg.de/trac/wiki/Howto/AIP#a4InscriptionsMessagesActions: below]] for the meaning and syntax of inscriptions.
     19
     20
     21
     22== (4) Inscriptions (Messages, Actions): ==
     23''(Text copied from Diagram/etc/README.diagram.)''
     24=== Messages: ===
     25
     26Messages can start with action -- complete message inscription
     27{{{
     28 AIP:                                              Net: (NC-out inscription)
     29 ------------------------------------------>       |\
     30  action p2 = SomeObject.toAclMessage(aid)         | \
     31                                                   |  \
     32                                                   |   \
     33                                                   |____\
     34                                                   action p2 = SomeObject.toAclMessage(aid)
     35 
     36 }}}
     37Messages can have arbitrary inscriptions -- interpreted as content
     38{{{
     39 AIP:                                              Net: (NC-out inscription)
     40 ------------------------------------------>       |\
     41             slContent                             | \
     42                                                   |  \
     43                                                   |   \
     44                                                   |____\
     45                                                   action p2 = Sl0Creator.createActionRequest(
     46                                                             aid,
     47                                                             slContent)
     48
     49}}}
     50Without inscriptions the standard will be inserted in NC out
     51{{{
     52 AIP:                                              Net: (NC-out inscription)
     53 ------------------------------------------>       |\
     54                                                   | \
     55                                                   |  \
     56                                                   |   \
     57                                                   |____\
     58                                                   action p2 = Sl0Creator.createActionRequest(
     59                                                             aid,
     60                                                             "content")
     61}}}
     62
     63=== Actions: ===
     64Action inscriptions will be added to the sequence as raw text.  ":access(kb)" is already available.
     65{{{
     66 AIP:                                             Net: (NC-sequence inscription)
     67
     68       |      |                                   
     69  -----------------------                         |-----------------------|
     70  | kb:ask("name",name) |                         |                       |
     71  -----------------------                         |-----------------------|
     72       |      |                                        :access(kb)
     73                                                     kb:ask("name",name)
     74                                                   
     75}}}                                                   
     76                                                   
     77                                                   
     78=== DC exchange: ===
     79DC inscriptions will be added to the NC-exchange description
     80{{{
     81 AIP:                                             Net: (NC-exchange description)
     82                                                  (dcNewExchange(.,.,.) channel)   
     83       |      |                                           /  \
     84  --------------------                                  /      \
     85  | RoleHelper.TEST  |                               RoleHelper.TEST                   
     86  --------------------                              /              \
     87       |      |                                    ------------------                               
     88}}}
     89DC inscriptions leading with the keyword "simple" will be added to the NC-simple-exchange description
     90{{{
     91 AIP:                                             Net: (NC-simple exchange description)
     92                                                  (dcExchange(.,.) channel)   
     93       |      |                                           /  \
     94  ---------------------------                           /      \
     95  | simple RoleHelper.TEST  |                       RoleHelper.TEST                   
     96  ---------------------------                       /              \
     97       |      |                                    ------------------                               
     98   }}}