Show Menu
Cheatography

Nituz3 Cheat Sheet (DRAFT) by

This is a draft cheat sheet. It is a work in progress and is not finished yet.

Examples For OCL USE:

-context Person inv: 
Wife->notEmpty() implies
(wife.gender=Gender::female and self.gender=Gender::male)

-Collection->size() : Integer,  is equal to:
collection –> iterate(elem; acc : Integer = 0 | acc + 1)

-Collection->includes(object : OclAny) : Boolean , is equal to:
(collection->count(object)>0)

-Collection->exists(expr : OclExpression) : Boolean, is equal to:
collection->iterate(elem; acc : Boolean = false | acc or expr)

-context c : Company inv:
c.numberOfEmployees > 50

-context c : Company inv enoughEmployees:
c.numberOfEmployees > 50

-context Typename::operationName(param1 : Type1, ... ): ReturnType
pre : param1 > ...
post: result = ...

-context Person::income(d : Date) : Integer
post: result = 5000

-context Person inv:
self.wife->notEmpty() implies self.wife.age >= 18 and
self.husband->notEmpty() implies self.husband.age >= 18

OCL - OPERATORS

גרירה לוגית
A implies B
Boolean operators
and , or , xor , not , if-the­n-else
Integer operators
* , + , - , / , > , < ..
Real operators
* , + , - , / , > , < ..
String operators
toUpper , toLower , concat , size ..

OCL - FUNCTIONS

self.o­clI­sTy­peOf(T)
true iff self is of type T
self.o­clI­sKi­ndOf(T)
true iff self is of type T or subtype of T
Self.o­clA­sTy­pe(T)
casts 'self' to type T
T.allI­nst­ances
collection of all created instances of type T
 

OCL - FUNCTIONS

אוסף ריק
isEmpty()
אוסף לא ריק
NotEmpty()
קיים לפחות איבר אחד באוסף המקיים את התנאי
exists ( e:T | <b.e.>)
כל האיברים באוסף מקיימים את התנאי
forAll ( e:T* | <b.e.>)
האיבר לא שייך לאוסף
excludes( object )
האיבר שייך לאוסף
includes( object )
אוסף שתיים מוכל באוסף הנ"ל
includ­esAll ( collec­tion_2 )
מחזיר את ספירת מופעי האובייקט באוסף
count ( object1 )
מחזיר את גודל האוסף
size ()
מחזיר את סכום האיברים באוסף אם הם תומכים בחיבור
sum ()
מחזיר אוסף של כל האיברים העומדים בתנאי הנתון
select ( e:T | <b.e.>)
מחזיר את האוסף הנ"ל ללא כל האיברים העומדים בתנאי
reject ( e:T | <b.e.>)
מחזיר את אוסף תוצאת מיפוי כל האיברים לפי הביטוי הנתון
collect ( e:T | <v.e.>)
מעבר על האוסף עם ערך התחלתי נתון ועדכונו לפי כל איבר לפי הביטוי הנתון
iterate ( e:T1; r:T2 = <v.e.> | <v.e.>)
מחזיר קבוצה ללא חזרות של האוסף
asSet()
All functions should start with <co­lle­cti­on>­→<f­unc­tio­n_n­ame>

Collection Types

- set : the mathem­atical set.
It is not ordered and does not contain duplicate elements.
-bag : A container.
It is not ordered and contain duplicate elements.
-sequence : An container.
It is ordered and contain duplicate elements.