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 { ... }
           
 

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

          Domain Modelling Cheat Sheet
          MythoSelf® Process & Soma-Semantic® Modeling Cheat Sheet
          Microsoft Power BI for Beginners Cheat Sheet