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