OCL
self.birth_year
OCL
let legel_unions:Set(Legal_Union_Record)=Legal_Union_Record.allInstances()->select( ((individual_A=self or individual_B=self))) in
if(legel_unions->size()=0) then
let union:Legal_Union_Record=self.getLegalUnionRecord(year) in
if(union.oclIsInvalid())then
invalid
else
if(union.individual_B=self) then union.individual_A.oclAsType(Physical_Person) else union.individual_B.oclAsType(Physical_Person) endif endif
else
let possible_unions:Set(Legal_Union_Record)=legel_unions->select(start_year<=year)in
let lasted_union:Legal_Union_Record= possible_unions->select(start_year=possible_unions.start_year->max())->any(true) in
if(lasted_union.end_year=-1)then
if(lasted_union.individual_A=self)then
lasted_union.individual_B
else
lasted_union.individual_A
endif
else
invalid
endif
endif
OCL
let legel_unions:Set(Legal_Union_Record)=Legal_Union_Record.allInstances()->select( ((individual_A=self or individual_B=self))) in
if(legel_unions->size()=0) then
invalid
else
let possible_unions:Set(Legal_Union_Record)=legel_unions->select(start_year<=year)in
let lasted_union:Legal_Union_Record= possible_unions->select(start_year=possible_unions.start_year->max())->any(true) in
if(lasted_union.end_year=-1)then
lasted_union
else
invalid
endif
endif
OCL
if(dep_age>=6 and dep_age<=11) then
round_lower_euros(base + 16.17)
else if (dep_age>=12) then round_lower_euros(base + 48.52) else
if(is_disabled) then round_lower_euros(base + 185.60) else base endif endif endif
OCL
let p1:Integer = amount.floor() in
p1.toString().toReal()
let non_null_amounts:OrderedSet(Income_Detail)=self.details->select(det:Income_Detail|det.amount>0)->asOrderedSet() in
non_null_amounts->collect(amount)->min()

operation def
operation def
operation deft
operation deft
operation deft