Show Menu
Cheatography

Textual DSL for RAM (http://www.cs.mcgill.ca/~joerg/SEL/RAM.html)

Aspect's sections

aspect Observer {
structure { ... }
instan­tia­tions { ... }
messages { ... }
}

Structural View

structural view
structure { ... }
class
class Observer { ... }
partial class
class |Observer { ... }
attribute
int myAttr­ibute
public operation
+ startO­bse­rvi­ng(­|Su­bject)
private operation
- privat­eOp­era­tion()
protected operation
~ |update()
associ­ations section
associ­ations { ... }
associ­ation named mySubject
|Observer -> 0..1 |Subject { mySubject }
unidir­ect­ional associ­ation
|Observer -> |Subject { mySubject }
bidire­ctional associ­ation
|Observer & |Subject { mySubject }
super type
class Derived : Supertype { ... }
abstract class
abstract class Abstra­ctClass { ... }
 

Instan­tia­tions

instan­tia­tions section
instan­tia­tions { ... }
depends on
dependsOn ZeroToMany { ... }
extends
extends ZeroToMany { ... }
class mapping
|Data -> |Subject
operation mapping
|Data<­|mo­dif­y> -> |Inter­cep­tSt­ate­Cha­nge­<|m­odi­fyD­ata>
attribute mapping
|Data<­sou­rce­Att­rib­ute> -> |Inter­cep­tSt­ate­Cha­nge­<ta­rge­tAt­tri­but­e>

Message View Headers

message view declar­ation
messag­eView |Data.a­dd­(|A­sso­ciated a) { ... }
aspect message view
aspect­Mes­sag­eView initia­liz­ati­onA­sso­ciation { ... }
message view reference
mesageView |Data.|­cr­eate() affectedBy initia­liz­eAs­soc­iation

Control Flow in Messages View

alt combined fragment
alt [" i > 5 "] { ... }
opt combined fragment
opt [" i > 5 "] { ... } else { ... }
loop combined fragment
loop [ "i = 0; i < 10; i++" ] { ... }
 

Message View Body

lifelines declar­ation
lifelines { ... }
reference class lifeline
ref target­:St­ockGUI
associ­ation lifeline
assoc mySet:Set
attribute lifeline
attr s:size
reference local variable
ref target­:St­ockGUI { window­:Window }
attribute local variable
ref target:Map { int size }
attribute with value local variable
ref s:Socket { String ip = "­loc­alh­ost­" }
message ocurrence
add(pa­ram­eter)
message ocurrence with assignment
result := remove(a)
return message
return result
intera­ction
target => mySet { result := remove(a) }
original behaviour ocurrence
target => *
destru­ction ocurrence
socket => X

Message View Aspects

pointcut
pointcut create­(my­Socket)
advice
advice { ... }
           

Help Us Go Positive!

We offset our carbon usage with Ecologi. Click the link below to help us!

We offset our carbon footprint via Ecologi
 

Comments

No comments yet. Add yours below!

Add a Comment

Your Comment

Please enter your name.

    Please enter your email address

      Please enter your Comment.

          Related Cheat Sheets

          MythoSelf® Process & Soma-Semantic® Modeling Cheat Sheet
          Domain Modelling Cheat Sheet