JUMLY
Reference Manual

Directives

Sequence Diagram

@found

is the top level element to start interactions. It puts an new participant with a lifeline which is dashed line and a new occurrence which has gray-border rectangle.

@found "He"

You can put a -> to show some interations for the occurrence. Make an indent (two spaces are better), and write other directives like @message.

@found "He", ->
  @message "calls", "Her" 
  

@message

is an interaction between two participants or self-invoking.

The following shows an interaction from "He" to "Her" and the name is "calls".

@found "He", ->
  @message "calls", "Her"
  

If second argument is not given, it shows self-invoking.

@found "He", ->
  @message "thinks"
  

You can put a -> in both cases after the last argument for nested interaction.

@found "He", ->
  @message "calls", "Her", ->
    @message "tells mail", "He", ->
      @message "remembering", ->
        @message "mails", "Her"

@create

is a kind of interaction which takes one argument which is a name for new participant. The new participant created by @create shifts downward, and the arrow looks dashed line.

@found "He", ->
  @create "Contact"

@create can optionally take -> at second argument as @message and has some directives.

@found "She", ->
  @create "Dinner", ->
    @message "smells", "She"

@reply

is a directive to show a return-back message. This can be put in a @message with an argument for a short description. The return-message has a stereotype Ā«returnĀ» and the description.

@found "Browser", ->
  @message "GET", "Server", ->
    @reply "200"
    

@alt

is a kind of fragment to make usually two or more conditional parts including some interactions. One of part of @alt consists of a pair of a text and ->. You can put several pairs in @alt. It has analttag and each condition's name, and also each part is divided with a dashed line.

@found "You", ->
  @alt
    "[have money]": ->
      @message "go to", "BookStore"
    "[have a card]": ->
      @message "go to", "Restaurant"
    "[have nothing]": ->
      @message "go back", "Home"

In each part, nested-interaction is certainly able to be used.

@found "You", ->
  @alt
    "[male]": ->
      @message "pay with a card", "Bar", ->
        @message "auth the card", "Visa"
    "[female]": ->
      @message "wait for his payment"

@loop

is a kind of fragment to show repetition. A rectangle with fine lightgray line represents a loop.

@found "You", ->
  @loop ->
      @message "call", "Her"

If you give a string as first argument, it becomes a condition for the loop.

@found "You", ->
  @loop "[until she answer]", ->
      @message "call", "Her"

@fragment

is a generic directive to make fragmentation like @alt and loop. If you use this directive, you can create a fragment with arbitrary label you want.

@found "Thread-A", ->
  @fragment "critical section":->
    @message "acquire", "Mutex"
    @message "do something"
    @message "release", "Mutex"
    

@ref

is a directive to move to another diagram.

@found "MacOSX", ->
  @ref "initialize"
  

T.B.D

@note

is a directive to put note element everywhere.

@found "She", ->
  @note "Eventually"
  @message "meets", "You", ->
    @note "can't do anything then"
  @note "Just say good bye..."
  

Robustness Diagram

@actor

@view

@controller

@entity

TBD

CSS classes

All nodes has a few classes of CSS because JUMLY layouts them. You can use them because of your some favors, for example, to refer a specific node and change the background color.

jQuery can be used to select nodes like

$(".diagram:eq(2) .participant").css({color:"red");

This example is one of good examples for styling with CSS.

TBD.

Reference by var

TBD.

Fork me on GitHub