aboutsummaryrefslogtreecommitdiffstats
path: root/Tests/MODELS2020-CaseStudies/case.study.pledge.originalFiles/model/CD_Case_A.uml
diff options
context:
space:
mode:
Diffstat (limited to 'Tests/MODELS2020-CaseStudies/case.study.pledge.originalFiles/model/CD_Case_A.uml')
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.originalFiles/model/CD_Case_A.uml2416
1 files changed, 2416 insertions, 0 deletions
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.originalFiles/model/CD_Case_A.uml b/Tests/MODELS2020-CaseStudies/case.study.pledge.originalFiles/model/CD_Case_A.uml
new file mode 100644
index 00000000..6f3a2633
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.originalFiles/model/CD_Case_A.uml
@@ -0,0 +1,2416 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Ecore="http://www.eclipse.org/uml2/schemas/Ecore/5" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/uml2/schemas/Ecore/5 pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA">
3 <uml:Model xmi:id="_0" name="Taxation" URI="http:///TaxCarduml.ecore">
4 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_http2F2Fwww.eclipse.org2FOCL2FImport" source="http://www.eclipse.org/OCL/Import">
5 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_http2F2Fwww.eclipse.org2FOCL2FImport-_details.0" key="ecore" value="http://www.eclipse.org/emf/2002/Ecore"/>
6 </eAnnotations>
7 <packageImport xmi:type="uml:PackageImport" xmi:id="_vijrgFa6Eeqi7JkG9Y-7EA">
8 <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
9 </packageImport>
10 <packagedElement xmi:type="uml:Enumeration" xmi:id="Grantor" name="Grantor">
11 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Grantor-ACD" name="WWW"/>
12 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Grantor-Employer" name="Employer"/>
13 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Grantor-CNPF" name="MMM"/>
14 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Grantor-CEDIES" name="UUU"/>
15 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Grantor-SNJ" name="YYY"/>
16 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Grantor-CNAP" name="OOO"/>
17 </packagedElement>
18 <packagedElement xmi:type="uml:Class" xmi:id="Constants" name="Constants" isAbstract="true">
19 <ownedAttribute xmi:type="uml:Property" xmi:id="Constants-MAXIMUM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD" name="MAXIMUM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD" visibility="public" isOrdered="true">
20 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
21 <defaultValue xmi:type="uml:LiteralReal" xmi:id="Constants-MAXIMUM_CE_RATE_FOR_CHILD_NOT_BEING_PART_OF_HOUSEHOLD-_defaultValue" value="3480.0">
22 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
23 </defaultValue>
24 </ownedAttribute>
25 <ownedAttribute xmi:type="uml:Property" xmi:id="Constants-MAXIMUM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE" name="MAXIMUM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE" visibility="public" isOrdered="true">
26 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
27 <defaultValue xmi:type="uml:LiteralReal" xmi:id="Constants-MAXIMUM_CE_RATE_FOR_HOUSE_CARE_AND_CHILD_PART_OF_THE_HOUSEHOLD_CARE-_defaultValue" value="3600.0">
28 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
29 </defaultValue>
30 </ownedAttribute>
31 <ownedAttribute xmi:type="uml:Property" xmi:id="Constants-MINIMUM_SALARY" name="MINIMUM_SALARY" visibility="public" isOrdered="true">
32 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
33 <defaultValue xmi:type="uml:LiteralReal" xmi:id="Constants-MINIMUM_SALARY-_defaultValue" value="1500.0">
34 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
35 </defaultValue>
36 </ownedAttribute>
37 <ownedAttribute xmi:type="uml:Property" xmi:id="Constants-FLAT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION" name="FLAT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION" visibility="public" isOrdered="true">
38 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
39 <defaultValue xmi:type="uml:LiteralReal" xmi:id="Constants-FLAT_RATE_FOR_EXTRA_PROFESSIONAL_DEDUCTION-_defaultValue" value="4500.0">
40 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
41 </defaultValue>
42 </ownedAttribute>
43 <ownedAttribute xmi:type="uml:Property" xmi:id="Constants-MAXIMUM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS" name="MAXIMUM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS" visibility="public" isOrdered="true">
44 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
45 <defaultValue xmi:type="uml:LiteralReal" xmi:id="Constants-MAXIMUM_DEDUCTIBLE_PERCENTAGE_FOR_DONATIONS-_defaultValue" value="20.0">
46 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
47 </defaultValue>
48 </ownedAttribute>
49 <ownedAttribute xmi:type="uml:Property" xmi:id="Constants-MINIMUM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS" name="MINIMUM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS" visibility="public" isOrdered="true">
50 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
51 <defaultValue xmi:type="uml:LiteralReal" xmi:id="Constants-MINIMUM_DEDUCTIBLE_AMOUNT_FOR_DONATIONS-_defaultValue" value="120.0">
52 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
53 </defaultValue>
54 </ownedAttribute>
55 <ownedAttribute xmi:type="uml:Property" xmi:id="Constants-MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC" name="MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC" visibility="public" isOrdered="true">
56 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
57 <defaultValue xmi:type="uml:LiteralReal" xmi:id="Constants-MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANC-_defaultValue">
58 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
59 </defaultValue>
60 </ownedAttribute>
61 <ownedAttribute xmi:type="uml:Property" xmi:id="Constants-MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE" name="MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE" visibility="public" isOrdered="true">
62 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
63 <defaultValue xmi:type="uml:LiteralReal" xmi:id="Constants-MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ALIMONY_EXPENSE-_defaultValue" value="24000.0">
64 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
65 </defaultValue>
66 </ownedAttribute>
67 <ownedAttribute xmi:type="uml:Property" xmi:id="Constants-MAXIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION" name="MAXIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION" visibility="public" isOrdered="true">
68 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
69 <defaultValue xmi:type="uml:LiteralReal" xmi:id="Constants-MAXIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION-_defaultValue" value="99.0">
70 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
71 </defaultValue>
72 </ownedAttribute>
73 <ownedAttribute xmi:type="uml:Property" xmi:id="Constants-MAXIMAL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION" name="MAXIMAL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION" visibility="public" isOrdered="true">
74 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
75 <defaultValue xmi:type="uml:LiteralReal" xmi:id="Constants-MAXIMAL_FLAT_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION-_defaultValue" value="30.0">
76 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
77 </defaultValue>
78 </ownedAttribute>
79 <ownedAttribute xmi:type="uml:Property" xmi:id="Constants-MINIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION" name="MINIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION" visibility="public" isOrdered="true">
80 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
81 <defaultValue xmi:type="uml:LiteralReal" xmi:id="Constants-MINIMAL_DISTANCE_FOR_TRAVEL_EXPENSE_DEDUCTION-_defaultValue" value="4.0">
82 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
83 </defaultValue>
84 </ownedAttribute>
85 <ownedAttribute xmi:type="uml:Property" xmi:id="Constants-FLAT_RATE_CIM_DAILY" name="FLAT_RATE_CIM_DAILY" visibility="public" isOrdered="true">
86 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
87 <defaultValue xmi:type="uml:LiteralReal" xmi:id="Constants-FLAT_RATE_CIM_DAILY-_defaultValue" value="2.0">
88 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
89 </defaultValue>
90 </ownedAttribute>
91 <ownedAttribute xmi:type="uml:Property" xmi:id="Constants-FLAT_RATE_CIM_MONTHLY" name="FLAT_RATE_CIM_MONTHLY" visibility="public" isOrdered="true">
92 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
93 <defaultValue xmi:type="uml:LiteralReal" xmi:id="Constants-FLAT_RATE_CIM_MONTHLY-_defaultValue" value="62.0">
94 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
95 </defaultValue>
96 </ownedAttribute>
97 <ownedAttribute xmi:type="uml:Property" xmi:id="Constants-FLAT_RATE_CIM_YEARLY" name="FLAT_RATE_CIM_YEARLY" visibility="public" isOrdered="true">
98 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
99 <defaultValue xmi:type="uml:LiteralReal" xmi:id="Constants-FLAT_RATE_CIM_YEARLY-_defaultValue" value="750.0">
100 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
101 </defaultValue>
102 </ownedAttribute>
103 <ownedAttribute xmi:type="uml:Property" xmi:id="Constants-FLAT_RATE_CIP_DAILY" name="FLAT_RATE_CIP_DAILY" visibility="public" isOrdered="true">
104 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
105 <defaultValue xmi:type="uml:LiteralReal" xmi:id="Constants-FLAT_RATE_CIP_DAILY-_defaultValue" value="1.0">
106 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
107 </defaultValue>
108 </ownedAttribute>
109 <ownedAttribute xmi:type="uml:Property" xmi:id="Constants-FLAT_RATE_CIP_MONTHLY" name="FLAT_RATE_CIP_MONTHLY" visibility="public" isOrdered="true">
110 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
111 <defaultValue xmi:type="uml:LiteralReal" xmi:id="Constants-FLAT_RATE_CIP_MONTHLY-_defaultValue" value="25.0">
112 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
113 </defaultValue>
114 </ownedAttribute>
115 <ownedAttribute xmi:type="uml:Property" xmi:id="Constants-FLAT_RATE_CIP_YEARLY" name="FLAT_RATE_CIP_YEARLY" visibility="public" isOrdered="true">
116 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
117 <defaultValue xmi:type="uml:LiteralReal" xmi:id="Constants-FLAT_RATE_CIP_YEARLY-_defaultValue" value="30.0">
118 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
119 </defaultValue>
120 </ownedAttribute>
121 <ownedAttribute xmi:type="uml:Property" xmi:id="Constants-FLAT_RATE_CIS_DAILY" name="FLAT_RATE_CIS_DAILY" visibility="public" isOrdered="true">
122 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
123 <defaultValue xmi:type="uml:LiteralReal" xmi:id="Constants-FLAT_RATE_CIS_DAILY-_defaultValue" value="1.0">
124 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
125 </defaultValue>
126 </ownedAttribute>
127 <ownedAttribute xmi:type="uml:Property" xmi:id="Constants-FLAT_RATE_CIS_MONTHLY" name="FLAT_RATE_CIS_MONTHLY" visibility="public" isOrdered="true">
128 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
129 <defaultValue xmi:type="uml:LiteralReal" xmi:id="Constants-FLAT_RATE_CIS_MONTHLY-_defaultValue" value="25.0">
130 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
131 </defaultValue>
132 </ownedAttribute>
133 <ownedAttribute xmi:type="uml:Property" xmi:id="Constants-FLAT_RATE_CIS_YEARLY" name="FLAT_RATE_CIS_YEARLY" visibility="public" isOrdered="true">
134 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
135 <defaultValue xmi:type="uml:LiteralReal" xmi:id="Constants-FLAT_RATE_CIS_YEARLY-_defaultValue" value="300.0">
136 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
137 </defaultValue>
138 </ownedAttribute>
139 <ownedAttribute xmi:type="uml:Property" xmi:id="Constants-FLAT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT" name="FLAT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT" visibility="public" isOrdered="true">
140 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
141 <defaultValue xmi:type="uml:LiteralReal" xmi:id="Constants-FLAT_RATE_FOR_TRAVEL_EXPENSE_PER_UNIT-_defaultValue" value="99.0">
142 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
143 </defaultValue>
144 </ownedAttribute>
145 <ownedAttribute xmi:type="uml:Property" xmi:id="Constants-MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_DS" name="MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_DS" visibility="public" isOrdered="true">
146 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
147 </ownedAttribute>
148 <ownedAttribute xmi:type="uml:Property" xmi:id="Constants-FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE" name="FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE" visibility="public" isOrdered="true">
149 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
150 </ownedAttribute>
151 <ownedAttribute xmi:type="uml:Property" xmi:id="Constants-DISABILITY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE" name="DISABILITY_FLAT_RATE_FOR_MISCELLANEOUS_EXPENSE" visibility="public" isOrdered="true">
152 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
153 </ownedAttribute>
154 <ownedAttribute xmi:type="uml:Property" xmi:id="Constants-MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE" name="MAXIMUM_DEDUCTIBLE_AMOUNT_FOR_ADDITIONAL_PENSION_AND_INSURANCE" visibility="public" isOrdered="true">
155 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
156 </ownedAttribute>
157 </packagedElement>
158 <packagedElement xmi:type="uml:Enumeration" xmi:id="Disability_Types" name="Disability_Types">
159 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_IbZZ4GjKEeahGNKXqFC72A" name="beug"/>
160 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_lbDFgH_REeSKo9E5ldkH6Q" name="NONE"/>
161 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Disability_Types-A" name="A"/>
162 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Disability_Types-B" name="B"/>
163 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Disability_Types-C" name="C"/>
164 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Disability_Types-D" name="D"/>
165 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Disability_Types-E" name="E"/>
166 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_z-prIH_MEeSKo9E5ldkH6Q" name="OTHER"/>
167 </packagedElement>
168 <packagedElement xmi:type="uml:Enumeration" xmi:id="Country" name="Country">
169 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Country-LU" name="ZZ"/>
170 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Country-FR" name="FF"/>
171 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Country-BE" name="BB"/>
172 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Country-DE" name="DD"/>
173 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Country-NL" name="NN"/>
174 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Country-OTHER" name="OTHER"/>
175 </packagedElement>
176 <packagedElement xmi:type="uml:Enumeration" xmi:id="Tax_Card_Type" name="Tax_Card_Type">
177 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Tax_Card_Type-Principal" name="Principal"/>
178 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Tax_Card_Type-Additional" name="Additional"/>
179 </packagedElement>
180 <packagedElement xmi:type="uml:Enumeration" xmi:id="Tax_Office" name="Tax_Office">
181 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Tax_Office-RTS_2" name="RTS_2"/>
182 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Tax_Office-RTS_3" name="RTS_3"/>
183 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Tax_Office-RTS_Esch" name="RTS_4"/>
184 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Tax_Office-RTS_Ettelbruck" name="RTS_5"/>
185 </packagedElement>
186 <packagedElement xmi:type="uml:Enumeration" xmi:id="Tax_Class_Category" name="Tax_Class_Category">
187 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Tax_Class_Category-One" name="One"/>
188 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Tax_Class_Category-One_A" name="One_A"/>
189 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Tax_Class_Category-Two" name="Two"/>
190 </packagedElement>
191 <packagedElement xmi:type="uml:Enumeration" xmi:id="Job_Activity" name="Job_Activity">
192 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Job_Activity-Salary" name="Salary"/>
193 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Job_Activity-Pension" name="Pension"/>
194 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Job_Activity-Annuity" name="Annuity"/>
195 </packagedElement>
196 <packagedElement xmi:type="uml:Enumeration" xmi:id="Town" name="Town">
197 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Town-Luxembourg_city" name="LL"/>
198 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Town-Bertrange" name="BB"/>
199 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Town-Strassen" name="SS"/>
200 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Town-Bettembourg" name="TT"/>
201 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Town-Beaufort" name="Other"/>
202 </packagedElement>
203 <packagedElement xmi:type="uml:Enumeration" xmi:id="Type_of_Rate" name="Type_of_Rate">
204 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Type_of_Rate-REGULAR" name="REGULAR"/>
205 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Type_of_Rate-REAL_COST" name="REAL_COST"/>
206 </packagedElement>
207 <packagedElement xmi:type="uml:Enumeration" xmi:id="CE_Type" name="CE_Type">
208 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="CE_Type-INALIDITY_AND_INFIRMITY" name="INALIDITY_AND_INFIRMITY"/>
209 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="CE_Type-DEPENDENCE_AND_CARE_EXCLUDING_CHLIDREN_NOT_PART_OF_HOUSEHOLD" name="DEPENDENCE_AND_CARE_EXCLUDING_CHLIDREN_NOT_PART_OF_HOUSEHOLD"/>
210 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="CE_Type-CARE_FOR_CHILDREN_NOT_BEING_PART_OF_HOUSEHOLD" name="CARE_FOR_CHILDREN_NOT_BEING_PART_OF_HOUSEHOLD"/>
211 </packagedElement>
212 <packagedElement xmi:type="uml:Enumeration" xmi:id="Expense_Purpose" name="Expense_Purpose">
213 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Expense_Purpose-HOUSE_CARE" name="HOUSE_CARE"/>
214 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Expense_Purpose-CHILD_CARE" name="CHILD_CARE"/>
215 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Expense_Purpose-DEPENDENCE_CARE" name="DEPENDENCE_CARE"/>
216 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Expense_Purpose-OTHER" name="OTHER"/>
217 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_O-S64JN1EeSS6JjHMC2a3A" name="ALIMONY"/>
218 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_qE9ewJQ8EeSMZqrJQmR94g" name="RECURRENT_DEPT"/>
219 </packagedElement>
220 <packagedElement xmi:type="uml:Enumeration" xmi:id="Dependent_Type" name="Dependent_Type">
221 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Dependent_Type-CHILD" name="CHILD"/>
222 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Dependent_Type-SPOUSE" name="SPOUSE"/>
223 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Dependent_Type-RELATIVE" name="RELATIVE"/>
224 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Dependent_Type-OTHER_FAMILY_MEMBER" name="OTHER_FAMILY_MEMBER"/>
225 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_h4BBsJA6EeSrKuFMY7nEzg" name="NOT_OWN_CHILD"/>
226 </packagedElement>
227 <packagedElement xmi:type="uml:Class" xmi:id="Income_Tax" name="Income_Tax">
228 <ownedAttribute xmi:type="uml:Property" xmi:id="Income_Tax-taxPayer" name="taxPayer" type="Tax_Payer" isOrdered="true"/>
229 <ownedAttribute xmi:type="uml:Property" xmi:id="Income_Tax-tax_amount" name="tax_amount" visibility="public" isOrdered="true">
230 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
231 </ownedAttribute>
232 <ownedAttribute xmi:type="uml:Property" xmi:id="Income_Tax-tax_year" name="tax_year" visibility="public" isOrdered="true">
233 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EInt"/>
234 </ownedAttribute>
235 <ownedAttribute xmi:type="uml:Property" xmi:id="_-scnAEzrEeaVApgXPK28xA" name="id6" isID="true">
236 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
237 </ownedAttribute>
238 </packagedElement>
239 <packagedElement xmi:type="uml:Class" xmi:id="Tax_Payer" name="Tax_Payer" isAbstract="true">
240 <generalization xmi:type="uml:Generalization" xmi:id="Tax_Payer-_generalization.0" general="Physical_Person"/>
241 <ownedAttribute xmi:type="uml:Property" xmi:id="Tax_Payer-dependents" name="dependents" type="Dependent" aggregation="composite" association="_packagedElement.27">
242 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Tax_Payer-dependents-_lowerValue"/>
243 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Tax_Payer-dependents-_upperValue" value="*"/>
244 </ownedAttribute>
245 <ownedAttribute xmi:type="uml:Property" xmi:id="Tax_Payer-expenses" name="expenses" type="Expense" aggregation="composite">
246 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Tax_Payer-expenses-_lowerValue"/>
247 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Tax_Payer-expenses-_upperValue" value="*"/>
248 </ownedAttribute>
249 <ownedAttribute xmi:type="uml:Property" xmi:id="Tax_Payer-incomes" name="incomes" type="Income" aggregation="composite" association="_packagedElement.51">
250 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Tax_Payer-incomes-_upperValue" value="*"/>
251 </ownedAttribute>
252 <ownedAttribute xmi:type="uml:Property" xmi:id="Tax_Payer-from_law" name="from_law" type="FromLaw" isOrdered="true" aggregation="composite" association="_packagedElement.56"/>
253 <ownedAttribute xmi:type="uml:Property" xmi:id="Tax_Payer-from_agent" name="from_agent" type="FromAgent" isOrdered="true" aggregation="composite" association="_packagedElement.58"/>
254 <ownedAttribute xmi:type="uml:Property" xmi:id="_DMhXsDoCEeWS2a--AKriEw" name="AEP_deduction">
255 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
256 </ownedAttribute>
257 <ownedAttribute xmi:type="uml:Property" xmi:id="_NhjOEKOVEeikHY9CS9xW8w" name="taxesDue">
258 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
259 </ownedAttribute>
260 <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_QwEgMIXwEeSLiOAbrK2uyQ" client="Tax_Payer" supplier="_1gja4IXvEeSLiOAbrK2uyQ" contract="_1gja4IXvEeSLiOAbrK2uyQ"/>
261 <ownedOperation xmi:type="uml:Operation" xmi:id="Tax_Payer-is_dependent_part_of_the_household" name="is_dependent_part_of_the_household" visibility="public">
262 <ownedParameter xmi:type="uml:Parameter" xmi:id="Tax_Payer-is_dependent_part_of_the_household-_ownedParameter.0" isOrdered="true" direction="return">
263 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
264 </ownedParameter>
265 <ownedParameter xmi:type="uml:Parameter" xmi:id="Tax_Payer-is_dependent_part_of_the_household-IN_dependent" name="IN_dependent" type="Dependent" isOrdered="true"/>
266 </ownedOperation>
267 <ownedOperation xmi:type="uml:Operation" xmi:id="Tax_Payer-number_of_months_of_allowance" name="number_of_months_of_allowance" visibility="public">
268 <ownedParameter xmi:type="uml:Parameter" xmi:id="Tax_Payer-number_of_months_of_allowance-_ownedParameter.0" isOrdered="true" direction="return">
269 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBigInteger"/>
270 </ownedParameter>
271 </ownedOperation>
272 <ownedOperation xmi:type="uml:Operation" xmi:id="Tax_Payer-deduction_according_disability_rate" name="deduction_according_disability_rate" visibility="public">
273 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="Tax_Payer-deduction_according_disability_rate-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
274 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Tax_Payer-deduction_according_disability_rate-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot-_details.0" key="body" value="if ( self.disability_percentage >= 0.25 and self.disability_percentage &lt; 0.35) then&#xA;&#x9;&#x9;&#x9;150&#xA;&#x9;&#x9;&#x9;else if ( self.disability_percentage >= 0.35 and self.disability_percentage &lt; 0.45) then&#xA;&#x9;&#x9;&#x9;225&#xA;&#x9;&#x9;&#x9;else if ( self.disability_percentage >=0.45 and self.disability_percentage &lt;0.55) then&#xA;&#x9;&#x9;&#x9;375&#xA;&#x9;&#x9;&#x9;else if ( self.disability_percentage >= 0.55 and self.disability_percentage &lt; 0.65 ) then&#xA;&#x9;&#x9;&#x9;450 &#xA;&#x9;&#x9;&#x9;else if ( self.disability_percentage >= 0.65 and self.disability_percentage &lt; 0.75) then&#xA;&#x9;&#x9;&#x9;525&#xA;&#x9;&#x9;&#x9;else if ( self.disability_percentage >=0.75 and self.disability_percentage &lt; 0.85) then&#xA;&#x9;&#x9;&#x9;585&#xA;&#x9;&#x9;&#x9;else if ( self.disability_percentage >=0.85 and self.disability_percentage&lt; 0.95) then&#xA;&#x9;&#x9;&#x9;645&#xA;&#x9;&#x9;&#x9;else if ( self.disability_percentage >= 0.95 and self.disability_percentage&lt;=1)then&#xA;&#x9;&#x9;&#x9;735 else 0 endif endif endif endif endif endif endif endif"/>
275 </eAnnotations>
276 <ownedParameter xmi:type="uml:Parameter" xmi:id="Tax_Payer-deduction_according_disability_rate-_ownedParameter.0" isOrdered="true" direction="return">
277 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBigDecimal"/>
278 </ownedParameter>
279 </ownedOperation>
280 <ownedOperation xmi:type="uml:Operation" xmi:id="_L9WaYIIGEeSH_sby466C_w" name="getIsTaxedJointly">
281 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_drkIkIIGEeSH_sby466C_w" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
282 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gU8loIIGEeSH_sby466C_w" key="body" value="let is_married:Boolean = if(self.getLegalUnionRecord(year).oclIsUndefined()) then false else self.getLegalUnionRecord(year).oclIsTypeOf(Marriage_Record) endif in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA;/** Description: - **/&#x9;&#xA;if (is_married) = false then&#xA; let is_in_partnership_relation:Boolean = if(self.getLegalUnionRecord(year).oclIsUndefined()) then false else self.getLegalUnionRecord(year).oclIsTypeOf(Partnership_Record) endif in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; if (is_in_partnership_relation) = false then&#xA; false&#xA; else&#xA; if (is_in_partnership_relation) = true then&#xA; let is_joint_tax_beneficial:Boolean = true in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; if (is_joint_tax_beneficial) = true then&#xA; let is_couple_living_apart:Boolean = false in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; let relation_lasted_for_the_taxation_year:Boolean = true in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; if (relation_lasted_for_the_taxation_year and not is_couple_living_apart) = false then&#xA; false&#xA; else&#xA; if (relation_lasted_for_the_taxation_year and not is_couple_living_apart) = true then&#xA; let are_both_spouses_resident:Boolean = (self.getSpouse(year).oclIsTypeOf(Resident_Tax_Payer) or self.getSpouse(year).oclIsTypeOf(Physical_Person)) and self.oclIsTypeOf(Resident_Tax_Payer) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; if (are_both_spouses_resident) = true then&#xA; true&#xA; else&#xA; if (are_both_spouses_resident) = false then&#xA; let are_both_spouses_non_resident:Boolean = (self.getSpouse(year).oclIsTypeOf(Non_Resident_Tax_Payer) or self.getSpouse(year).oclIsTypeOf(Physical_Person)) and self.oclIsTypeOf(Non_Resident_Tax_Payer) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; if (are_both_spouses_non_resident) = false then&#xA; false&#xA; else&#xA; if (are_both_spouses_non_resident) = true then&#xA; let my_incomes_all:Set(Income) = self.incomes->select(i:Income|i.year=year and i.oclIsTypeOf(Local_Income)) &#xA; &#x9;in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; let spouse_incomes_all:Set(Income) = if(self.getSpouse(year).oclIsKindOf(Tax_Payer)) then self.getSpouse(year).oclAsType(Tax_Payer).incomes->select(i:Income|i.year=year and i.oclIsTypeOf(Local_Income)) else OrderedSet{} endif&#x9;in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; let total_household_income:Real = if(my_incomes_all->oclIsInvalid() and spouse_incomes_all->oclIsInvalid()) then 0 else if(my_incomes_all->oclIsInvalid()) then spouse_incomes_all.income_amount->sum() else if(spouse_incomes_all->oclIsInvalid()) then my_incomes_all.income_amount->sum() else my_incomes_all.income_amount->sum() + spouse_incomes_all.income_amount->sum() endif endif endif&#xA; in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; let resident_taxpayer_income:Real = if(self.oclIsTypeOf(Resident_Tax_Payer)) then if(my_incomes_all->oclIsInvalid()) then 0.0 else my_incomes_all.income_amount->sum() endif else if(spouse_incomes_all->oclIsInvalid()) then 0.0 else spouse_incomes_all.income_amount->sum() endif endif in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; let non_resident_taxpayer_in_Belgium:Boolean = false in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; if ((resident_taxpayer_income > total_household_income * 0.9) or (non_resident_taxpayer_in_Belgium and resident_taxpayer_income > total_household_income * 0.5)) = true then&#xA; true&#xA; else&#xA; if ((resident_taxpayer_income > total_household_income * 0.9) or (non_resident_taxpayer_in_Belgium and resident_taxpayer_income > total_household_income * 0.5)) = false then&#xA; false&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; if (is_joint_tax_beneficial) = false then&#xA; false&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA;else&#xA; if (is_married) = true then&#xA; let are_both_spouses_resident:Boolean = (self.getSpouse(year).oclIsTypeOf(Resident_Tax_Payer) or self.getSpouse(year).oclIsTypeOf(Physical_Person)) and self.oclIsTypeOf(Resident_Tax_Payer) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; if (are_both_spouses_resident) = true then&#xA; true&#xA; else&#xA; if (are_both_spouses_resident) = false then&#xA; let are_both_spouses_non_resident:Boolean = (self.getSpouse(year).oclIsTypeOf(Non_Resident_Tax_Payer) or self.getSpouse(year).oclIsTypeOf(Physical_Person)) and self.oclIsTypeOf(Non_Resident_Tax_Payer) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; if (are_both_spouses_non_resident) = true then&#xA; let my_incomes_all:Set(Income) = self.incomes->select(i:Income|i.year=year and i.oclIsTypeOf(Local_Income)) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; let spouse_incomes_all:Set(Income) = if(self.getSpouse(year).oclIsKindOf(Tax_Payer)) then self.getSpouse(year).oclAsType(Tax_Payer).incomes->select(i:Income|i.year=year and i.oclIsTypeOf(Local_Income)) else OrderedSet{} endif&#x9;in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; let total_household_income:Real = if(my_incomes_all->oclIsInvalid() and spouse_incomes_all->oclIsInvalid()) then 0 else if(my_incomes_all->oclIsInvalid()) then spouse_incomes_all.income_amount->sum() else if(spouse_incomes_all->oclIsInvalid()) then my_incomes_all.income_amount->sum() else my_incomes_all.income_amount->sum() + spouse_incomes_all.income_amount->sum() endif endif endif&#xA; in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; let resident_taxpayer_income:Real = if(self.oclIsTypeOf(Resident_Tax_Payer)) then if(my_incomes_all->oclIsInvalid()) then 0.0 else my_incomes_all.income_amount->sum() endif else if(spouse_incomes_all->oclIsInvalid()) then 0.0 else spouse_incomes_all.income_amount->sum() endif endif in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; let non_resident_taxpayer_in_Belgium:Boolean = false in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; let is_couple_assimilated_to_residents:Boolean = (resident_taxpayer_income > total_household_income * 0.9) or (non_resident_taxpayer_in_Belgium and resident_taxpayer_income > total_household_income * 0.5) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; if (is_couple_assimilated_to_residents) = true then&#xA; true&#xA; else&#xA; if (is_couple_assimilated_to_residents) = false then&#xA; let is_couple_living_apart:Boolean = false in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; if (is_couple_living_apart) = true then&#xA; false&#xA; else&#xA; if (is_couple_living_apart) = false then&#xA; let my_incomes:Set(Income) = self.incomes->select(i:Income|i.year=year and i.income_type.oclIsKindOf(Employment_Income) and i.oclIsTypeOf(Local_Income)) &#x9;in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; let spouse_incomes:Set(Income) = if(self.getSpouse(year).oclIsKindOf(Tax_Payer)) then self.getSpouse(year).oclAsType(Tax_Payer).incomes->select(i:Income|i.year=year and i.income_type.oclIsKindOf(Employment_Income) and i.oclIsTypeOf(Local_Income)) else OrderedSet{} endif&#x9;in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; let both_spouses_have_professional_income:Boolean = if(my_incomes->oclIsInvalid() or spouse_incomes->oclIsInvalid()) then false else my_incomes->size()>0 and spouse_incomes->size()>0 endif in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; if (both_spouses_have_professional_income) = true then&#xA; let local_professional_household_income:Real = self.getProfetionalIncomeHouseholdZZ(year) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; let total_professional_household_income:Real = self.getProfetionalIncomeHousehold(year) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; if (local_professional_household_income > total_professional_household_income * 0.5) = false then&#xA; false&#xA; else&#xA; if (local_professional_household_income > total_professional_household_income * 0.5) = true then&#xA; true&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; if (both_spouses_have_professional_income) = false then&#xA; false&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; if (are_both_spouses_non_resident) = false then&#xA; let is_couple_living_apart:Boolean = false in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; if (is_couple_living_apart) = true then&#xA; false&#xA; else&#xA; if (is_couple_living_apart) = false then&#xA; let my_incomes:Set(Income) = self.incomes->select(i:Income|i.year=year and i.income_type.oclIsKindOf(Employment_Income) and i.oclIsTypeOf(Local_Income)) &#x9;in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; let spouse_incomes:Set(Income) = if(self.getSpouse(year).oclIsKindOf(Tax_Payer)) then self.getSpouse(year).oclAsType(Tax_Payer).incomes->select(i:Income|i.year=year and i.income_type.oclIsKindOf(Employment_Income) and i.oclIsTypeOf(Local_Income)) else OrderedSet{} endif&#x9;in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; let both_spouses_have_professional_income:Boolean = if(my_incomes->oclIsInvalid() or spouse_incomes->oclIsInvalid()) then false else my_incomes->size()>0 and spouse_incomes->size()>0 endif in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; if (both_spouses_have_professional_income) = true then&#xA; let total_professional_household_income:Real = self.getProfetionalIncomeHousehold(year) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; let professional_income_resident_taxpayer:Real = if(self.oclIsTypeOf(Resident_Tax_Payer)) then if(my_incomes->oclIsInvalid()) then 0.0 else my_incomes.income_amount->sum() endif else if(spouse_incomes->oclIsInvalid()) then 0.0 else spouse_incomes.income_amount->sum() endif endif in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: - **/&#x9;&#xA; if (professional_income_resident_taxpayer > total_professional_household_income * 0.9) = false then&#xA; false&#xA; else&#xA; if (professional_income_resident_taxpayer > total_professional_household_income * 0.9) = true then&#xA; true&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; if (both_spouses_have_professional_income) = false then&#xA; false&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA;endif"/>
283 </eAnnotations>
284 <ownedParameter xmi:type="uml:Parameter" xmi:id="_QGGYcIIGEeSH_sby466C_w" direction="return">
285 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
286 </ownedParameter>
287 <ownedParameter xmi:type="uml:Parameter" xmi:id="_SxLeoIIGEeSH_sby466C_w" name="year">
288 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
289 </ownedParameter>
290 </ownedOperation>
291 <ownedOperation xmi:type="uml:Operation" xmi:id="_ZwhBoIOuEeSemtkAhxylbQ" name="getIsreceivingAllowancesForChildren">
292 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hmTSIIOuEeSemtkAhxylbQ" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
293 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jB34QIOuEeSemtkAhxylbQ" key="body" value="let children1:Set(Dependent)=self.dependents->select(dependent_type=Dependent_Type::CHILD) in&#xA;&#x9;&#x9;&#x9;let union:Legal_Union_Record=self.getLegalUnionRecord(year) in&#xA;&#x9;&#x9;&#x9;let house: Household = union.household in&#xA;&#x9;&#x9;&#x9;let children:Set(Dependent)=if (house.oclIsInvalid()) then children1 else children1->union(house.children) endif in&#xA;&#x9;&#x9;&#x9;if(children->size()=0)then&#xA;&#x9;&#x9;&#x9;false&#xA;&#x9;&#x9;&#x9;else&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;let allowances:Boolean=children.allowances->select(starting_year&lt;=year and ending_year=-1 and amount>0)->size()>0in&#xA;&#x9;&#x9;&#x9;if(allowances)then&#xA;&#x9;&#x9;&#x9;true&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;false&#xA;&#x9;&#x9;&#x9;endif&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;endif"/>
294 </eAnnotations>
295 <ownedParameter xmi:type="uml:Parameter" xmi:id="_cpgA8IOuEeSemtkAhxylbQ" direction="return">
296 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
297 </ownedParameter>
298 <ownedParameter xmi:type="uml:Parameter" xmi:id="_eOKRoIOuEeSemtkAhxylbQ" name="year">
299 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
300 </ownedParameter>
301 </ownedOperation>
302 <ownedOperation xmi:type="uml:Operation" xmi:id="_djn4IIO0EeSN9uRKzOYzEA" name="getProfetionalIncomeHousehold">
303 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rgGaEIO0EeSN9uRKzOYzEA" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
304 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_sChKoIO0EeSN9uRKzOYzEA" key="body" value="let spouse:Physical_Person= self.getSpouse(year)in&#xA;&#x9;&#x9;&#x9;let include_spouse:Boolean= if(not spouse.oclIsUndefined()) then spouse.oclIsKindOf(Tax_Payer) else false endif in&#xA;&#x9;&#x9;&#x9;let myIncomes:Set(Income)=self.incomes->select(i:Income|i.year=year and i.income_type.oclIsKindOf(Employment_Income)) in&#xA;&#x9;&#x9;&#x9;let myPart:Real= if(myIncomes->oclIsInvalid())then 0.0 else myIncomes.income_amount->sum() endif in&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;if(include_spouse=false)then&#xA;&#x9;&#x9;&#x9;myPart&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;let herIncomes:Set(Income)=spouse.oclAsType(Tax_Payer).incomes->select(i:Income|i.year=year and i.income_type.oclIsKindOf(Employment_Income)) in&#xA;&#x9;&#x9;&#x9;let herPart:Real=if(herIncomes->oclIsInvalid())then 0.0 else herIncomes.income_amount->sum() endif in&#xA;&#x9;&#x9;&#x9;myPart+herPart&#xA;&#x9;&#x9;&#x9;endif"/>
305 </eAnnotations>
306 <ownedParameter xmi:type="uml:Parameter" xmi:id="_hZwcMIO0EeSN9uRKzOYzEA" direction="return">
307 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
308 </ownedParameter>
309 <ownedParameter xmi:type="uml:Parameter" xmi:id="_jSzogIO0EeSN9uRKzOYzEA" name="year">
310 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
311 </ownedParameter>
312 </ownedOperation>
313 <ownedOperation xmi:type="uml:Operation" xmi:id="_vjloMIO1EeSN9uRKzOYzEA" name="getProfetionalIncomeHouseholdZZ">
314 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5HBtUIO1EeSN9uRKzOYzEA" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
315 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6C778IO1EeSN9uRKzOYzEA" key="body" value="let spouse:Physical_Person= self.getSpouse(year)in&#xA;&#x9;&#x9;&#x9;let include_spouse:Boolean= if(not spouse.oclIsUndefined()) then spouse.oclIsKindOf(Tax_Payer) else false endif in&#xA;&#x9;&#x9;&#x9;let myIncomes:Set(Income)=self.incomes->select(i:Income|i.year=year and i.income_type.oclIsKindOf(Employment_Income) and i.oclIsTypeOf(Local_Income)) in&#xA;&#x9;&#x9;&#x9;let myPart:Real=if(myIncomes->oclIsInvalid())then 0.0 else myIncomes.income_amount->sum() endif in&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;if(include_spouse=false)then&#xA;&#x9;&#x9;&#x9;myPart&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;let herIncomes:Set(Income)=spouse.oclAsType(Tax_Payer).incomes->select(i:Income|i.year=year and i.income_type.oclIsKindOf(Employment_Income)and i.oclIsTypeOf(Local_Income)) in&#xA;&#x9;&#x9;&#x9;let herPart:Real=if(herIncomes->oclIsInvalid())then 0.0 else herIncomes.income_amount->sum() endif in&#xA;&#x9;&#x9;&#x9;myPart+herPart&#xA;&#x9;&#x9;&#x9;endif"/>
316 </eAnnotations>
317 <ownedParameter xmi:type="uml:Parameter" xmi:id="_x1FwwIO1EeSN9uRKzOYzEA" direction="return">
318 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
319 </ownedParameter>
320 <ownedParameter xmi:type="uml:Parameter" xmi:id="_1s_2cIO1EeSN9uRKzOYzEA" name="year">
321 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
322 </ownedParameter>
323 </ownedOperation>
324 <ownedOperation xmi:type="uml:Operation" xmi:id="_snYCgIUlEeSLxMrgoK8NOA" name="getTaxClass">
325 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8q7lsIUlEeSLxMrgoK8NOA" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
326 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-M8LAIUlEeSLxMrgoK8NOA" key="body" value="let is_resident_taxpayer:Boolean = self.oclIsKindOf(Resident_Tax_Payer) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA;/** Description: Returns yes if a given taxpayer is a resident. - **/&#x9;&#xA;if (is_resident_taxpayer) = true then&#xA; let is_taxed_jointly:Boolean = self.getIsTaxedJointly(taxation_year) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns yes if the taxpayer is married or has a partnership contract. - **/&#x9;&#xA; if (is_taxed_jointly) = true then&#xA; Tax_Class_Category::Two&#xA; else&#xA; if (is_taxed_jointly) = false then&#xA; let is_divorced:Boolean = self.getSeperationState(taxation_year,Separation_Causes::DIVORCE) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns yes if the taxpayer is divorced within the selected taxation year. - **/&#x9;&#xA; let is_living_separately:Boolean = self.getSeperationState(taxation_year,Separation_Causes::SEPARATION_DE_FAIT) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns yes if the taxpayer is not cohabiting with his/her spouse. In French: &quot;Separation de fait&quot;. - **/&#x9;&#xA; let is_living_separately_by_court:Boolean = self.getSeperationState(taxation_year,Separation_Causes::SEPARATION_BY_COURT) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns yes if the taxpayer has a judicial sentence dismissing him from cohabiting with his/her spouse. In French: &quot;Separation de corps&quot;. - **/&#x9;&#xA; if (is_divorced or is_living_separately_by_court or (is_living_separately and not is_resident_taxpayer)) = false then&#xA; let is_widower:Boolean = self.is_widower in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns yes if the taxpayer has the statute of widower for the current taxation year. - **/&#x9;&#xA; if (is_widower) = true then&#xA; let spouse_death_year:Integer = self.last_start_year_widower in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns the year on which the spouse of the taxpayer past away. - **/&#x9;&#xA; if (spouse_death_year &lt;= taxation_year and spouse_death_year >= taxation_year -3) = true then&#xA; Tax_Class_Category::Two&#xA; else&#xA; if (spouse_death_year &lt;= taxation_year and spouse_death_year >= taxation_year -3) = false then&#xA; Tax_Class_Category::One_A&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; if (is_widower) = false then&#xA; let is_reciving_bonus_for_children:Boolean = self.getIsreceivingAllowancesForChildren(taxation_year) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns yes if the taxpayer is receiving a bonus for children in household. - **/&#x9;&#xA; if (is_reciving_bonus_for_children) = true then&#xA; Tax_Class_Category::One_A&#xA; else&#xA; if (is_reciving_bonus_for_children) = false then&#xA; let taxpayer_age:Integer = self.getAge(taxation_year) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns the age of a given taxpayer. - **/&#x9;&#xA; if (taxpayer_age >= 64) = true then&#xA; Tax_Class_Category::One_A&#xA; else&#xA; if (taxpayer_age >= 64) = false then&#xA; Tax_Class_Category::One&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; if (is_divorced or is_living_separately_by_court or (is_living_separately and not is_resident_taxpayer)) = true then&#xA; let can_beneficiate_from_transition_state :Boolean = self.getDivorceTransitionState(taxation_year) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns yes if: (1) the divorce/separation occurred within the last three years from the taxation year, and (2) the taxpayer did has not benefited from a divorce/separation transition state for the last five years from the current taxation year. - **/&#x9;&#xA; if (can_beneficiate_from_transition_state ) = false then&#xA; let is_widower:Boolean = self.is_widower in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns yes if the taxpayer has the statute of widower for the current taxation year. - **/&#x9;&#xA; if (is_widower) = true then&#xA; let spouse_death_year:Integer = self.last_start_year_widower in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns the year on which the spouse of the taxpayer past away. - **/&#x9;&#xA; if (spouse_death_year &lt;= taxation_year and spouse_death_year >= taxation_year -3) = true then&#xA; Tax_Class_Category::Two&#xA; else&#xA; if (spouse_death_year &lt;= taxation_year and spouse_death_year >= taxation_year -3) = false then&#xA; Tax_Class_Category::One_A&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; if (is_widower) = false then&#xA; let is_reciving_bonus_for_children:Boolean = self.getIsreceivingAllowancesForChildren(taxation_year) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns yes if the taxpayer is receiving a bonus for children in household. - **/&#x9;&#xA; if (is_reciving_bonus_for_children) = true then&#xA; Tax_Class_Category::One_A&#xA; else&#xA; if (is_reciving_bonus_for_children) = false then&#xA; let taxpayer_age:Integer = self.getAge(taxation_year) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns the age of a given taxpayer. - **/&#x9;&#xA; if (taxpayer_age >= 64) = true then&#xA; Tax_Class_Category::One_A&#xA; else&#xA; if (taxpayer_age >= 64) = false then&#xA; Tax_Class_Category::One&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; if (can_beneficiate_from_transition_state ) = true then&#xA; Tax_Class_Category::Two&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA;else&#xA; if (is_resident_taxpayer) = false then&#xA; let is_married:Boolean = self.getIsMaried(taxation_year) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns yes if the taxpayer is married. - **/&#x9;&#xA; if (is_married) = false then&#xA; let is_taxed_jointly:Boolean = self.getIsTaxedJointly(taxation_year) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns yes if the taxpayer is married or has a partnership contract. - **/&#x9;&#xA; if (is_taxed_jointly) = true then&#xA; Tax_Class_Category::Two&#xA; else&#xA; if (is_taxed_jointly) = false then&#xA; let is_divorced:Boolean = self.getSeperationState(taxation_year,Separation_Causes::DIVORCE) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns yes if the taxpayer is divorced within the selected taxation year. - **/&#x9;&#xA; let is_living_separately:Boolean = self.getSeperationState(taxation_year,Separation_Causes::SEPARATION_DE_FAIT) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns yes if the taxpayer is not cohabiting with his/her spouse. In French: &quot;Separation de fait&quot;. - **/&#x9;&#xA; let is_living_separately_by_court:Boolean = self.getSeperationState(taxation_year,Separation_Causes::SEPARATION_BY_COURT) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns yes if the taxpayer has a judicial sentence dismissing him from cohabiting with his/her spouse. In French: &quot;Separation de corps&quot;. - **/&#x9;&#xA; if (is_divorced or is_living_separately_by_court or (is_living_separately and not is_resident_taxpayer)) = false then&#xA; let is_widower:Boolean = self.is_widower in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns yes if the taxpayer has the statute of widower for the current taxation year. - **/&#x9;&#xA; if (is_widower) = true then&#xA; let spouse_death_year:Integer = self.last_start_year_widower in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns the year on which the spouse of the taxpayer past away. - **/&#x9;&#xA; if (spouse_death_year &lt;= taxation_year and spouse_death_year >= taxation_year -3) = true then&#xA; Tax_Class_Category::Two&#xA; else&#xA; if (spouse_death_year &lt;= taxation_year and spouse_death_year >= taxation_year -3) = false then&#xA; Tax_Class_Category::One_A&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; if (is_widower) = false then&#xA; let is_reciving_bonus_for_children:Boolean = self.getIsreceivingAllowancesForChildren(taxation_year) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns yes if the taxpayer is receiving a bonus for children in household. - **/&#x9;&#xA; if (is_reciving_bonus_for_children) = true then&#xA; Tax_Class_Category::One_A&#xA; else&#xA; if (is_reciving_bonus_for_children) = false then&#xA; let taxpayer_age:Integer = self.getAge(taxation_year) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns the age of a given taxpayer. - **/&#x9;&#xA; if (taxpayer_age >= 64) = true then&#xA; Tax_Class_Category::One_A&#xA; else&#xA; if (taxpayer_age >= 64) = false then&#xA; Tax_Class_Category::One&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; if (is_divorced or is_living_separately_by_court or (is_living_separately and not is_resident_taxpayer)) = true then&#xA; let can_beneficiate_from_transition_state :Boolean = self.getDivorceTransitionState(taxation_year) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns yes if: (1) the divorce/separation occurred within the last three years from the taxation year, and (2) the taxpayer did has not benefited from a divorce/separation transition state for the last five years from the current taxation year. - **/&#x9;&#xA; if (can_beneficiate_from_transition_state ) = false then&#xA; let is_widower:Boolean = self.is_widower in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns yes if the taxpayer has the statute of widower for the current taxation year. - **/&#x9;&#xA; if (is_widower) = true then&#xA; let spouse_death_year:Integer = self.last_start_year_widower in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns the year on which the spouse of the taxpayer past away. - **/&#x9;&#xA; if (spouse_death_year &lt;= taxation_year and spouse_death_year >= taxation_year -3) = true then&#xA; Tax_Class_Category::Two&#xA; else&#xA; if (spouse_death_year &lt;= taxation_year and spouse_death_year >= taxation_year -3) = false then&#xA; Tax_Class_Category::One_A&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; if (is_widower) = false then&#xA; let is_reciving_bonus_for_children:Boolean = self.getIsreceivingAllowancesForChildren(taxation_year) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns yes if the taxpayer is receiving a bonus for children in household. - **/&#x9;&#xA; if (is_reciving_bonus_for_children) = true then&#xA; Tax_Class_Category::One_A&#xA; else&#xA; if (is_reciving_bonus_for_children) = false then&#xA; let taxpayer_age:Integer = self.getAge(taxation_year) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns the age of a given taxpayer. - **/&#x9;&#xA; if (taxpayer_age >= 64) = true then&#xA; Tax_Class_Category::One_A&#xA; else&#xA; if (taxpayer_age >= 64) = false then&#xA; Tax_Class_Category::One&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; if (can_beneficiate_from_transition_state ) = true then&#xA; Tax_Class_Category::Two&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; if (is_married) = true then&#xA; let total_professional_income_household:Real = self.getProfetionalIncomeHousehold(taxation_year) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns the sum of the taxpayer's household professional incomes. - **/&#x9;&#xA; let sum_professional_income_household_ZZ:Real = self.getProfetionalIncomeHouseholdZZ(taxation_year) in&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA; /** Description: Returns the sum of the taxpayer's household professional incomes that are taxed in ZZ. - **/&#x9;&#xA; if (sum_professional_income_household_ZZ > (0.5 * total_professional_income_household)) = true then&#xA; Tax_Class_Category::Two&#xA; else&#xA; if (sum_professional_income_household_ZZ > (0.5 * total_professional_income_household)) = false then&#xA; Tax_Class_Category::One_A&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA; endif&#xA; else&#xA; invalid&#xA; endif&#xA;endif"/>
327 </eAnnotations>
328 <ownedParameter xmi:type="uml:Parameter" xmi:id="_1e2ZgIUlEeSLxMrgoK8NOA" type="Tax_Class_Category" direction="return"/>
329 <ownedParameter xmi:type="uml:Parameter" xmi:id="_4QNt4IUlEeSLxMrgoK8NOA" name="taxation_year">
330 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
331 </ownedParameter>
332 </ownedOperation>
333 </packagedElement>
334 <packagedElement xmi:type="uml:Class" xmi:id="Physical_Person" name="Physical_Person">
335 <ownedAttribute xmi:type="uml:Property" xmi:id="Physical_Person-name" name="name" visibility="public" isUnique="false">
336 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
337 </ownedAttribute>
338 <ownedAttribute xmi:type="uml:Property" xmi:id="Physical_Person-is_assisting_spouse" name="is_assisting_spouse" visibility="public" isOrdered="true" isDerived="true">
339 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
340 </ownedAttribute>
341 <ownedAttribute xmi:type="uml:Property" xmi:id="Physical_Person-SSNo" name="SSNo" visibility="public" isOrdered="true" isID="true">
342 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
343 </ownedAttribute>
344 <ownedAttribute xmi:type="uml:Property" xmi:id="Physical_Person-addresses" name="addresses" type="Address" association="_packagedElement.19">
345 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Physical_Person-addresses-_lowerValue"/>
346 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Physical_Person-addresses-_upperValue" value="*"/>
347 </ownedAttribute>
348 <ownedAttribute xmi:type="uml:Property" xmi:id="Physical_Person-age" name="birth_year" visibility="public" isUnique="false">
349 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EInt"/>
350 </ownedAttribute>
351 <ownedAttribute xmi:type="uml:Property" xmi:id="Physical_Person-disability_percentage" name="disability_percentage" visibility="public" isUnique="false">
352 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
353 </ownedAttribute>
354 <ownedAttribute xmi:type="uml:Property" xmi:id="Physical_Person-disability_type" name="disability_type" visibility="public" type="Disability_Types" isUnique="false"/>
355 <ownedAttribute xmi:type="uml:Property" xmi:id="Physical_Person-is_affiliated_personnaly_to_social_security" name="is_affiliated_personnaly_to_social_security" visibility="public" isOrdered="true" isDerived="true">
356 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
357 </ownedAttribute>
358 <ownedAttribute xmi:type="uml:Property" xmi:id="_O9uyUIOfEeSemtkAhxylbQ" name="birth_month" isUnique="false">
359 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EInt"/>
360 </ownedAttribute>
361 <ownedAttribute xmi:type="uml:Property" xmi:id="_SaZtgIOfEeSemtkAhxylbQ" name="birth_day" isUnique="false">
362 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EInt"/>
363 </ownedAttribute>
364 <ownedAttribute xmi:type="uml:Property" xmi:id="_Mr92cZN2EeSS6JjHMC2a3A" name="expenses" type="Expense" association="_Mr92cJN2EeSS6JjHMC2a3A">
365 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Mr92cpN2EeSS6JjHMC2a3A"/>
366 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Mr92c5N2EeSS6JjHMC2a3A" value="*"/>
367 </ownedAttribute>
368 <ownedAttribute xmi:type="uml:Property" xmi:id="_wyM3MD9AEeW8kvq1XD0XnA" name="is_widower">
369 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
370 </ownedAttribute>
371 <ownedAttribute xmi:type="uml:Property" xmi:id="_0xtZsD9AEeW8kvq1XD0XnA" name="last_start_year_widower">
372 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
373 </ownedAttribute>
374 <ownedOperation xmi:type="uml:Operation" xmi:id="Physical_Person-is_separated_from" name="is_separated_from" visibility="public">
375 <ownedParameter xmi:type="uml:Parameter" xmi:id="Physical_Person-is_separated_from-_ownedParameter.0" isOrdered="true" direction="return">
376 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
377 </ownedParameter>
378 <ownedParameter xmi:type="uml:Parameter" xmi:id="Physical_Person-is_separated_from-IN_person" name="IN_person" type="Physical_Person" isOrdered="true"/>
379 </ownedOperation>
380 <ownedOperation xmi:type="uml:Operation" xmi:id="Physical_Person-is_person_affiliated_personnaly_to_social_security" name="is_person_affiliated_personnaly_to_social_security" visibility="public">
381 <ownedParameter xmi:type="uml:Parameter" xmi:id="Physical_Person-is_person_affiliated_personnaly_to_social_security-_ownedParameter.0" isOrdered="true" direction="return">
382 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
383 </ownedParameter>
384 </ownedOperation>
385 <ownedOperation xmi:type="uml:Operation" xmi:id="_7PmiMIObEeSemtkAhxylbQ" name="getSeperationState">
386 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ex2SsIOcEeSemtkAhxylbQ" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
387 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gSRjoIOcEeSemtkAhxylbQ" key="body" value="let legel_unions:Set(Legal_Union_Record)=Legal_Union_Record.allInstances()->select(individual_A=self or individual_B=self) in&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;if(legel_unions->size()=0) then&#xA;&#x9;&#x9;&#x9;false&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;let possible_unions:Set(Legal_Union_Record)=legel_unions->select(start_year&lt;=year)in&#xA;&#x9;&#x9;&#x9;let lasted_union:Legal_Union_Record= possible_unions->select(start_year=possible_unions.start_year->max())->any(true) in&#xA;&#x9;&#x9;&#x9;if(lasted_union.end_year=-1)then&#xA;&#x9;&#x9;&#x9;false&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;lasted_union.separation_cause=seperation_type&#xA;&#x9;&#x9;&#x9;endif&#xA;&#x9;&#x9;&#x9;endif"/>
388 </eAnnotations>
389 <ownedParameter xmi:type="uml:Parameter" xmi:id="_BNEmMIOcEeSemtkAhxylbQ" direction="return">
390 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
391 </ownedParameter>
392 <ownedParameter xmi:type="uml:Parameter" xmi:id="_C4uPsIOcEeSemtkAhxylbQ" name="year">
393 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
394 </ownedParameter>
395 <ownedParameter xmi:type="uml:Parameter" xmi:id="_VgXnsIVGEeSXX-HVERRl8A" name="seperation_type" type="_7auHsIOIEeSemtkAhxylbQ"/>
396 </ownedOperation>
397 <ownedOperation xmi:type="uml:Operation" xmi:id="_svP6UIOfEeSemtkAhxylbQ" name="getAge" isQuery="true">
398 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_24R_0IOfEeSemtkAhxylbQ" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
399 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4ZsvQIOfEeSemtkAhxylbQ" key="body" value="&#x9;if(birth_year>=year )then&#xA;&#x9;&#x9;&#x9;0&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;year-birth_year&#xA;&#x9;&#x9;&#x9;endif"/>
400 </eAnnotations>
401 <ownedRule xmi:type="uml:Constraint" xmi:id="_-Y-pYA0bEeiyiN2N51a0dQ" name="Constraint1">
402 <specification xmi:type="uml:OpaqueExpression" xmi:id="_-ZHMQA0bEeiyiN2N51a0dQ" name="constraintSpec">
403 <language>OCL</language>
404 <body>self.birth_year</body>
405 </specification>
406 </ownedRule>
407 <ownedParameter xmi:type="uml:Parameter" xmi:id="_w5bbwIOfEeSemtkAhxylbQ" direction="return">
408 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
409 </ownedParameter>
410 <ownedParameter xmi:type="uml:Parameter" xmi:id="_yVl3wIOfEeSemtkAhxylbQ" name="year">
411 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
412 </ownedParameter>
413 </ownedOperation>
414 <ownedOperation xmi:type="uml:Operation" xmi:id="_itvRwIOiEeSemtkAhxylbQ" name="getIsMaried">
415 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rPug8IOiEeSemtkAhxylbQ" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
416 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_sDYLcIOiEeSemtkAhxylbQ" key="body" value="&#x9;let legel_unions:Set(Legal_Union_Record)=Legal_Union_Record.allInstances()->select( ((individual_A=self or individual_B=self) and oclIsKindOf(Marriage_Record))) in&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;if(legel_unions->size()=0) then&#xA;&#x9;&#x9;&#x9;false&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;let possible_unions:Set(Legal_Union_Record)=legel_unions->select(start_year&lt;=year)in&#xA;&#x9;&#x9;&#x9;let lasted_union:Legal_Union_Record= possible_unions->select(start_year=possible_unions.start_year->max())->any(true) in&#xA;&#x9;&#x9;&#x9;if(lasted_union.end_year=-1)then&#xA;&#x9;&#x9;&#x9;true&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;false&#xA;&#x9;&#x9;&#x9;endif&#xA;&#x9;&#x9;&#x9;endif"/>
417 </eAnnotations>
418 <ownedParameter xmi:type="uml:Parameter" xmi:id="_mvOxQIOiEeSemtkAhxylbQ" direction="return">
419 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
420 </ownedParameter>
421 <ownedParameter xmi:type="uml:Parameter" xmi:id="_oHdIcIOiEeSemtkAhxylbQ" name="year">
422 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
423 </ownedParameter>
424 </ownedOperation>
425 <ownedOperation xmi:type="uml:Operation" xmi:id="_vR4b4IOvEeSN9uRKzOYzEA" name="getSeperationYear">
426 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4u_PgIOvEeSN9uRKzOYzEA" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
427 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5dPcoIOvEeSN9uRKzOYzEA" key="body" value="let legel_unions:Set(Legal_Union_Record)=Legal_Union_Record.allInstances()->select(individual_A=self or individual_B=self) in&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;if(legel_unions->size()=0) then&#xA;&#x9;&#x9;&#x9;-1&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;let possible_unions:Set(Legal_Union_Record)=legel_unions->select(start_year&lt;=year)in&#xA;&#x9;&#x9;&#x9;let lasted_union:Legal_Union_Record= possible_unions->select(start_year=possible_unions.start_year->max())->any(true) in&#xA;&#x9;&#x9;&#x9;if(lasted_union.oclIsUndefined()) then&#xA;&#x9;&#x9;&#x9;-1&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;if(lasted_union.end_year=-1)then&#xA;&#x9;&#x9;&#x9;-1&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;lasted_union.end_year&#xA;&#x9;&#x9;&#x9;endif&#xA;&#x9;&#x9;&#x9;endif&#xA;&#x9;&#x9;&#x9;endif"/>
428 </eAnnotations>
429 <ownedParameter xmi:type="uml:Parameter" xmi:id="_zxMf0IOvEeSN9uRKzOYzEA" direction="return">
430 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
431 </ownedParameter>
432 <ownedParameter xmi:type="uml:Parameter" xmi:id="_xdohwIOvEeSN9uRKzOYzEA" name="year">
433 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
434 </ownedParameter>
435 </ownedOperation>
436 <ownedOperation xmi:type="uml:Operation" xmi:id="_J87swIOxEeSN9uRKzOYzEA" name="getDivorceTransitionState">
437 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_T2TloIOxEeSN9uRKzOYzEA" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
438 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Uv4R8IOxEeSN9uRKzOYzEA" key="body" value="let sep_year:Integer=self.getSeperationYear(year) in&#xA;&#x9;&#x9;&#x9;if(sep_year=-1)then&#xA;&#x9;&#x9;&#x9;false&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;if( (sep_year &lt;= year and sep_year >= (year -3))=false) then&#xA;&#x9;&#x9;&#x9;false&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;let past_sep_year:Integer=self.getSeperationYear(year-5) in&#xA;&#x9;&#x9;&#x9;if(past_sep_year=-1)then&#xA;&#x9;&#x9;&#x9;true&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;false&#xA;&#x9;&#x9;&#x9;endif&#xA;&#x9;&#x9;&#x9;endif&#xA;&#x9;&#x9;&#x9;endif"/>
439 </eAnnotations>
440 <ownedParameter xmi:type="uml:Parameter" xmi:id="_NYDIwIOxEeSN9uRKzOYzEA" direction="return">
441 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
442 </ownedParameter>
443 <ownedParameter xmi:type="uml:Parameter" xmi:id="_RDT5kIOxEeSN9uRKzOYzEA" name="year">
444 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
445 </ownedParameter>
446 </ownedOperation>
447 <ownedOperation xmi:type="uml:Operation" xmi:id="_lsXLwIOyEeSN9uRKzOYzEA" name="getSpouse">
448 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vi9dcIOyEeSN9uRKzOYzEA" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
449 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_w3dLMIOyEeSN9uRKzOYzEA" key="body" value="&#x9;let legel_unions:Set(Legal_Union_Record)=Legal_Union_Record.allInstances()->select( ((individual_A=self or individual_B=self))) in&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;if(legel_unions->size()=0) then&#xA;&#x9;&#x9;&#x9;let union:Legal_Union_Record=self.getLegalUnionRecord(year) in &#xA;&#x9;&#x9;&#x9;if(union.oclIsInvalid())then&#xA;&#x9;&#x9;&#x9;invalid&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9; if(union.individual_B=self) then union.individual_A.oclAsType(Physical_Person) else union.individual_B.oclAsType(Physical_Person) endif endif&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;let possible_unions:Set(Legal_Union_Record)=legel_unions->select(start_year&lt;=year)in&#xA;&#x9;&#x9;&#x9;let lasted_union:Legal_Union_Record= possible_unions->select(start_year=possible_unions.start_year->max())->any(true) in&#xA;&#x9;&#x9;&#x9;if(lasted_union.end_year=-1)then&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;if(lasted_union.individual_A=self)then&#xA;&#x9;&#x9;&#x9;lasted_union.individual_B&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;lasted_union.individual_A&#xA;&#x9;&#x9;&#x9;endif&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;invalid&#xA;&#x9;&#x9;&#x9;endif&#xA;&#x9;&#x9;&#x9;endif"/>
450 </eAnnotations>
451 <ownedRule xmi:type="uml:Constraint" xmi:id="_nYYwYOcXEeauVdC-0G-XUw" name="OperationGetSpouse">
452 <specification xmi:type="uml:OpaqueExpression" xmi:id="_YPN8YOcYEeauVdC-0G-XUw">
453 <language>OCL</language>
454 <body>let legel_unions:Set(Legal_Union_Record)=Legal_Union_Record.allInstances()->select( ((individual_A=self or individual_B=self))) in
455
456 if(legel_unions->size()=0) then
457 let union:Legal_Union_Record=self.getLegalUnionRecord(year) in
458 if(union.oclIsInvalid())then
459 invalid
460 else
461 if(union.individual_B=self) then union.individual_A.oclAsType(Physical_Person) else union.individual_B.oclAsType(Physical_Person) endif endif
462 else
463 let possible_unions:Set(Legal_Union_Record)=legel_unions->select(start_year&lt;=year)in
464 let lasted_union:Legal_Union_Record= possible_unions->select(start_year=possible_unions.start_year->max())->any(true) in
465 if(lasted_union.end_year=-1)then
466
467 if(lasted_union.individual_A=self)then
468 lasted_union.individual_B
469 else
470 lasted_union.individual_A
471 endif
472 else
473 invalid
474 endif
475 endif</body>
476 </specification>
477 </ownedRule>
478 <ownedParameter xmi:type="uml:Parameter" xmi:id="_pF7IkIOyEeSN9uRKzOYzEA" name="year">
479 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
480 </ownedParameter>
481 <ownedParameter xmi:type="uml:Parameter" xmi:id="_rqTJ0IOyEeSN9uRKzOYzEA" type="Physical_Person" direction="return"/>
482 </ownedOperation>
483 <ownedOperation xmi:type="uml:Operation" xmi:id="_k2rLQIqUEeSCrr7uegGAVw" name="getLegalUnionRecord">
484 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZOFFkIqWEeSCrr7uegGAVw" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
485 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZkZT0IqWEeSCrr7uegGAVw" key="body" value="let legel_unions:Set(Legal_Union_Record)=Legal_Union_Record.allInstances()->select( ((individual_A=self or individual_B=self))) in&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;if(legel_unions->size()=0) then&#xA;&#x9;&#x9;&#x9;invalid&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;let possible_unions:Set(Legal_Union_Record)=legel_unions->select(start_year&lt;=year)in&#xA;&#x9;&#x9;&#x9;let lasted_union:Legal_Union_Record= possible_unions->select(start_year=possible_unions.start_year->max())->any(true) in&#xA;&#x9;&#x9;&#x9;lasted_union&#xA;&#x9;&#x9;&#x9;endif"/>
486 </eAnnotations>
487 <ownedRule xmi:type="uml:Constraint" xmi:id="_TQVdAOcXEeauVdC-0G-XUw" name="OperationgetLegalUnionRecord">
488 <specification xmi:type="uml:OpaqueExpression" xmi:id="_VuRfEOcXEeauVdC-0G-XUw">
489 <language>OCL</language>
490 <body>let legel_unions:Set(Legal_Union_Record)=Legal_Union_Record.allInstances()->select( ((individual_A=self or individual_B=self))) in
491
492 if(legel_unions->size()=0) then
493 invalid
494 else
495 let possible_unions:Set(Legal_Union_Record)=legel_unions->select(start_year&lt;=year)in
496 let lasted_union:Legal_Union_Record= possible_unions->select(start_year=possible_unions.start_year->max())->any(true) in
497 if(lasted_union.end_year=-1)then
498 lasted_union
499 else
500 invalid
501 endif
502 endif</body>
503 </specification>
504 </ownedRule>
505 <ownedParameter xmi:type="uml:Parameter" xmi:id="_rUwB8IqUEeSCrr7uegGAVw" type="Legal_Union_Record" direction="return"/>
506 <ownedParameter xmi:type="uml:Parameter" xmi:id="_tgL-wIqUEeSCrr7uegGAVw" name="year">
507 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
508 </ownedParameter>
509 </ownedOperation>
510 </packagedElement>
511 <packagedElement xmi:type="uml:Class" xmi:id="External_Allowance" name="External_Allowance">
512 <ownedAttribute xmi:type="uml:Property" xmi:id="External_Allowance-amount" name="amount" visibility="public" isOrdered="true">
513 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
514 </ownedAttribute>
515 <ownedAttribute xmi:type="uml:Property" xmi:id="External_Allowance-grantor" name="grantor" visibility="public" type="Grantor" isOrdered="true"/>
516 <ownedAttribute xmi:type="uml:Property" xmi:id="_6K5ewIOtEeSemtkAhxylbQ" name="starting_year">
517 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EInt"/>
518 </ownedAttribute>
519 <ownedAttribute xmi:type="uml:Property" xmi:id="_ys1IMYnjEeS51qv-dTzbfg" name="person" type="Dependent" association="_ys1IMInjEeS51qv-dTzbfg">
520 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ys1IMonjEeS51qv-dTzbfg" value="1"/>
521 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ys1IM4njEeS51qv-dTzbfg" value="1"/>
522 </ownedAttribute>
523 <ownedAttribute xmi:type="uml:Property" xmi:id="_IoNagD93EeWzD95_WvVH8Q" name="ending_year">
524 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
525 </ownedAttribute>
526 <ownedAttribute xmi:type="uml:Property" xmi:id="_4QQ94T-FEeWJhua38hb9gw" name="reciver" type="Physical_Person" association="_4QQ94D-FEeWJhua38hb9gw">
527 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4QQ94j-FEeWJhua38hb9gw" value="1"/>
528 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4QQ94z-FEeWJhua38hb9gw" value="1"/>
529 </ownedAttribute>
530 <ownedAttribute xmi:type="uml:Property" xmi:id="_hkbH8EzrEeaVApgXPK28xA" name="id5" isID="true">
531 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
532 </ownedAttribute>
533 <ownedOperation xmi:type="uml:Operation" xmi:id="_TfjvEEaVEeavk_GdzuNzKw" name="getAmount">
534 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jesP0EaWEeavk_GdzuNzKw" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
535 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ljqYQEaWEeavk_GdzuNzKw" key="body" value=" if(dep_age>=6 and dep_age&lt;=11) then&#xA;(base + 16.17).round()&#xA; else if (dep_age>=12) then (base + 48.52).round() else &#xA; if(is_disabled) then(base + 185.60).round() else base endif endif endif"/>
536 </eAnnotations>
537 <ownedRule xmi:type="uml:Constraint" xmi:id="_8p-z0OcZEeauVdC-0G-XUw" name="OperationGetAmount">
538 <specification xmi:type="uml:OpaqueExpression" xmi:id="_BDr_AOcaEeauVdC-0G-XUw">
539 <language>OCL</language>
540 <body>if(dep_age>=6 and dep_age&lt;=11) then
541 round_lower_euros(base + 16.17)
542 else if (dep_age>=12) then round_lower_euros(base + 48.52) else
543 if(is_disabled) then round_lower_euros(base + 185.60) else base endif endif endif
544 </body>
545 </specification>
546 </ownedRule>
547 <ownedParameter xmi:type="uml:Parameter" xmi:id="_bUH3kEaVEeavk_GdzuNzKw" name="base">
548 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBigDecimal"/>
549 </ownedParameter>
550 <ownedParameter xmi:type="uml:Parameter" xmi:id="_iY7-IEaVEeavk_GdzuNzKw" name="dep_age">
551 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
552 </ownedParameter>
553 <ownedParameter xmi:type="uml:Parameter" xmi:id="_lRXj0EaVEeavk_GdzuNzKw" name="is_disabled">
554 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
555 </ownedParameter>
556 <ownedParameter xmi:type="uml:Parameter" xmi:id="_nQ8O4EaVEeavk_GdzuNzKw" direction="return">
557 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBigDecimal"/>
558 </ownedParameter>
559 </ownedOperation>
560 <ownedOperation xmi:type="uml:Operation" xmi:id="_3D6jIEa7Eea5Zpk5ulXFgA" name="round_lower_euros">
561 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DEmGwEa8Eea5Zpk5ulXFgA" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
562 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Dd_eMEa8Eea5Zpk5ulXFgA" key="body" value="let p1:Integer = amount.floor() in&#xA;&#x9;&#x9;&#x9;p1.toString().toReal()"/>
563 </eAnnotations>
564 <ownedRule xmi:type="uml:Constraint" xmi:id="_v16rcOcZEeauVdC-0G-XUw" name="OperationRound">
565 <specification xmi:type="uml:OpaqueExpression" xmi:id="_7un-0OcZEeauVdC-0G-XUw">
566 <language>OCL</language>
567 <body>let p1:Integer = amount.floor() in
568 p1.toString().toReal()
569 </body>
570 </specification>
571 </ownedRule>
572 <ownedParameter xmi:type="uml:Parameter" xmi:id="_8t_xEEa7Eea5Zpk5ulXFgA" name="amount">
573 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
574 </ownedParameter>
575 <ownedParameter xmi:type="uml:Parameter" xmi:id="_-ofH0Ea7Eea5Zpk5ulXFgA" direction="return">
576 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
577 </ownedParameter>
578 </ownedOperation>
579 </packagedElement>
580 <packagedElement xmi:type="uml:Class" xmi:id="Address" name="Address">
581 <ownedAttribute xmi:type="uml:Property" xmi:id="Address-country" name="country" visibility="public" type="Country" isOrdered="true">
582 <defaultValue xmi:type="uml:InstanceValue" xmi:id="Address-country-_defaultValue" type="Country" instance="Country-LU"/>
583 </ownedAttribute>
584 <ownedAttribute xmi:type="uml:Property" xmi:id="Address-street" name="street" visibility="public" isOrdered="true">
585 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
586 </ownedAttribute>
587 <ownedAttribute xmi:type="uml:Property" xmi:id="Address-zipCode" name="zipCode" visibility="public" isOrdered="true">
588 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
589 </ownedAttribute>
590 <ownedAttribute xmi:type="uml:Property" xmi:id="Address-city" name="city" visibility="public" isOrdered="true">
591 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
592 </ownedAttribute>
593 <ownedAttribute xmi:type="uml:Property" xmi:id="Address-taxPayer" name="taxPayer" type="Physical_Person" association="_packagedElement.19">
594 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_yIC2QEKuEeaQU66UNd8S3g"/>
595 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Address-taxPayer-_upperValue" value="*"/>
596 </ownedAttribute>
597 <ownedAttribute xmi:type="uml:Property" xmi:id="_CbKw8EzrEeaVApgXPK28xA" name="id2" isID="true">
598 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
599 </ownedAttribute>
600 </packagedElement>
601 <packagedElement xmi:type="uml:Association" xmi:id="_packagedElement.19" memberEnd="Address-taxPayer Physical_Person-addresses"/>
602 <packagedElement xmi:type="uml:Class" xmi:id="Legal_Union_Record" name="Legal_Union_Record" isAbstract="true">
603 <ownedAttribute xmi:type="uml:Property" xmi:id="Legal_Union_Record-start_date" name="start_year" visibility="public" isOrdered="true">
604 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EInt"/>
605 </ownedAttribute>
606 <ownedAttribute xmi:type="uml:Property" xmi:id="Legal_Union_Record-end_date" name="end_year" visibility="public" isOrdered="true">
607 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EInt"/>
608 </ownedAttribute>
609 <ownedAttribute xmi:type="uml:Property" xmi:id="_HlxS0IOKEeSemtkAhxylbQ" name="separation_cause" type="_7auHsIOIEeSemtkAhxylbQ"/>
610 <ownedAttribute xmi:type="uml:Property" xmi:id="_oA2J8YXuEeSLiOAbrK2uyQ" name="household" type="Household" association="_oA2J8IXuEeSLiOAbrK2uyQ">
611 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_oA2J8oXuEeSLiOAbrK2uyQ" value="1"/>
612 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_oA2J84XuEeSLiOAbrK2uyQ" value="1"/>
613 </ownedAttribute>
614 <ownedAttribute xmi:type="uml:Property" xmi:id="_5YyQ4IYUEeS819S0h0iEVw" name="individual_A" type="Physical_Person" aggregation="composite" association="_5Yy38IYUEeS819S0h0iEVw">
615 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_5YyQ4YYUEeS819S0h0iEVw" value="1"/>
616 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_5YyQ4oYUEeS819S0h0iEVw" value="1"/>
617 </ownedAttribute>
618 <ownedAttribute xmi:type="uml:Property" xmi:id="_0ISLIIYVEeS819S0h0iEVw" name="individual_B" type="Physical_Person" aggregation="composite" association="_0ISyMIYVEeS819S0h0iEVw">
619 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_0ISLIYYVEeS819S0h0iEVw" value="1"/>
620 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_0ISLIoYVEeS819S0h0iEVw" value="1"/>
621 </ownedAttribute>
622 <ownedAttribute xmi:type="uml:Property" xmi:id="_9Cy7kYqVEeSCrr7uegGAVw" name="properties" type="_0yLxwIH5EeSH_sby466C_w" aggregation="composite" association="_9Cy7kIqVEeSCrr7uegGAVw">
623 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_9Cy7koqVEeSCrr7uegGAVw" value="1"/>
624 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_9Cy7k4qVEeSCrr7uegGAVw" value="*"/>
625 </ownedAttribute>
626 <ownedAttribute xmi:type="uml:Property" xmi:id="_9ht2oJNxEeSZisr9dyMXhQ" name="mutual_agreement">
627 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
628 </ownedAttribute>
629 <ownedAttribute xmi:type="uml:Property" xmi:id="_bMrYMEzqEeaVApgXPK28xA" name="id9" isID="true">
630 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
631 </ownedAttribute>
632 </packagedElement>
633 <packagedElement xmi:type="uml:Class" xmi:id="Dependent" name="Dependent">
634 <generalization xmi:type="uml:Generalization" xmi:id="Dependent-_generalization.0" general="Physical_Person"/>
635 <ownedAttribute xmi:type="uml:Property" xmi:id="Dependent-dependent_type" name="dependent_type" visibility="public" type="Dependent_Type" isOrdered="true"/>
636 <ownedAttribute xmi:type="uml:Property" xmi:id="Dependent-responsible_person" name="responsible_person" type="Tax_Payer" isOrdered="true" association="_packagedElement.27">
637 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_n22L0EN1EeaU2b-bUHDWlA"/>
638 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_n23Z8EN1EeaU2b-bUHDWlA" value="1"/>
639 </ownedAttribute>
640 <ownedAttribute xmi:type="uml:Property" xmi:id="Dependent-continued_studies" name="continued_studies" visibility="public" isOrdered="true">
641 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
642 <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Dependent-continued_studies-_defaultValue">
643 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
644 </defaultValue>
645 </ownedAttribute>
646 <ownedAttribute xmi:type="uml:Property" xmi:id="Dependent-expense" name="expense" type="Expense" association="_packagedElement.31">
647 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Dependent-expense-_lowerValue"/>
648 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Dependent-expense-_upperValue" value="*"/>
649 </ownedAttribute>
650 <ownedAttribute xmi:type="uml:Property" xmi:id="_ysz6EInjEeS51qv-dTzbfg" name="allowances" type="External_Allowance" aggregation="composite" association="_ys1IMInjEeS51qv-dTzbfg">
651 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ysz6EYnjEeS51qv-dTzbfg"/>
652 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ysz6EonjEeS51qv-dTzbfg" value="*"/>
653 </ownedAttribute>
654 <ownedAttribute xmi:type="uml:Property" xmi:id="_tLMGQZASEeSrKuFMY7nEzg" name="household" type="Household" association="_tLMGQJASEeSrKuFMY7nEzg">
655 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_tLMGQpASEeSrKuFMY7nEzg"/>
656 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_tLMGQ5ASEeSrKuFMY7nEzg" value="1"/>
657 </ownedAttribute>
658 <ownedAttribute xmi:type="uml:Property" xmi:id="_suTZgJLREeSsDc98mGjcqQ" name="from_agent" type="FromAgent" association="_suXD4JLREeSsDc98mGjcqQ">
659 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_suTZgZLREeSsDc98mGjcqQ"/>
660 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_suTZgpLREeSsDc98mGjcqQ" value="1"/>
661 </ownedAttribute>
662 <ownedOperation xmi:type="uml:Operation" xmi:id="Dependent-compute_if_dependent_receives_allowances_eligible_for_CIM" name="compute_if_dependent_receives_allowances_eligible_for_CIM" visibility="public">
663 <ownedParameter xmi:type="uml:Parameter" xmi:id="Dependent-compute_if_dependent_receives_allowances_eligible_for_CIM-_ownedParameter.0" isOrdered="true" direction="return">
664 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
665 </ownedParameter>
666 </ownedOperation>
667 <ownedOperation xmi:type="uml:Operation" xmi:id="Dependent-compute_if_dependent_receives_allowances_eligible_for_DS" name="compute_if_dependent_receives_allowances_eligible_for_DS" visibility="public">
668 <ownedParameter xmi:type="uml:Parameter" xmi:id="Dependent-compute_if_dependent_receives_allowances_eligible_for_DS-_ownedParameter.0" isOrdered="true" direction="return">
669 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
670 </ownedParameter>
671 </ownedOperation>
672 <ownedOperation xmi:type="uml:Operation" xmi:id="Dependent-compute_if_dependent_receives_allowances_eligible_for_CE_dependance_and_care" name="compute_if_dependent_receives_allowances_eligible_for_CE_dependance_and_care" visibility="public">
673 <ownedParameter xmi:type="uml:Parameter" xmi:id="Dependent-compute_if_dependent_receives_allowances_eligible_for_CE_dependance_and_care-_ownedParameter.0" isOrdered="true" direction="return">
674 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
675 </ownedParameter>
676 </ownedOperation>
677 <ownedOperation xmi:type="uml:Operation" xmi:id="Dependent-is_dependent_following_continued_studies" name="is_dependent_following_continued_studies" visibility="public">
678 <ownedParameter xmi:type="uml:Parameter" xmi:id="Dependent-is_dependent_following_continued_studies-_ownedParameter.0" isOrdered="true" direction="return">
679 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
680 </ownedParameter>
681 <ownedParameter xmi:type="uml:Parameter" xmi:id="Dependent-is_dependent_following_continued_studies-IN_continued_studies" name="IN_continued_studies" isOrdered="true">
682 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
683 </ownedParameter>
684 </ownedOperation>
685 </packagedElement>
686 <packagedElement xmi:type="uml:Class" xmi:id="Household" name="Household">
687 <ownedAttribute xmi:type="uml:Property" xmi:id="_oAwqYIXuEeSLiOAbrK2uyQ" name="parents" type="Legal_Union_Record" aggregation="composite" association="_oA2J8IXuEeSLiOAbrK2uyQ">
688 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_oAwqYYXuEeSLiOAbrK2uyQ" value="1"/>
689 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_oAwqYoXuEeSLiOAbrK2uyQ" value="1"/>
690 </ownedAttribute>
691 <ownedAttribute xmi:type="uml:Property" xmi:id="_tLDjYJASEeSrKuFMY7nEzg" name="children" type="Dependent" aggregation="composite" association="_tLMGQJASEeSrKuFMY7nEzg">
692 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_tLDjYZASEeSrKuFMY7nEzg"/>
693 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_tLDjYpASEeSrKuFMY7nEzg" value="*"/>
694 </ownedAttribute>
695 <ownedAttribute xmi:type="uml:Property" xmi:id="_Rt8M4EzqEeaVApgXPK28xA" name="id1" isID="true">
696 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
697 </ownedAttribute>
698 <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_Vn4jsIXwEeSLiOAbrK2uyQ" client="Household" supplier="_1gja4IXvEeSLiOAbrK2uyQ" contract="_1gja4IXvEeSLiOAbrK2uyQ"/>
699 </packagedElement>
700 <packagedElement xmi:type="uml:Association" xmi:id="_packagedElement.27" memberEnd="Tax_Payer-dependents Dependent-responsible_person"/>
701 <packagedElement xmi:type="uml:Class" xmi:id="Expense" name="Expense">
702 <ownedAttribute xmi:type="uml:Property" xmi:id="Expense-declared_amount" name="declared_amount" visibility="public" isOrdered="true">
703 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
704 </ownedAttribute>
705 <ownedAttribute xmi:type="uml:Property" xmi:id="Expense-expense_purpose" name="expense_purpose" visibility="public" type="Expense_Purpose" isOrdered="true">
706 <defaultValue xmi:type="uml:InstanceValue" xmi:id="Expense-expense_purpose-_defaultValue" type="Expense_Purpose" instance="Expense_Purpose-OTHER"/>
707 </ownedAttribute>
708 <ownedAttribute xmi:type="uml:Property" xmi:id="Expense-dependent" name="dependent" type="Dependent" isOrdered="true" association="_packagedElement.31">
709 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Expense-dependent-_lowerValue"/>
710 </ownedAttribute>
711 <ownedAttribute xmi:type="uml:Property" xmi:id="Expense-year_expense_was_incurred_in" name="year_expense_was_incurred_in" visibility="public" isOrdered="true">
712 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EInt"/>
713 </ownedAttribute>
714 <ownedAttribute xmi:type="uml:Property" xmi:id="_Mr8oUJN2EeSS6JjHMC2a3A" name="beneficiary" type="Physical_Person" association="_Mr92cJN2EeSS6JjHMC2a3A">
715 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Mr8oUZN2EeSS6JjHMC2a3A"/>
716 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Mr8oUpN2EeSS6JjHMC2a3A" value="1"/>
717 </ownedAttribute>
718 <ownedAttribute xmi:type="uml:Property" xmi:id="_bpLVMZQ9EeSMZqrJQmR94g" name="from_agent" type="FromAgent" aggregation="composite" association="_bpLVMJQ9EeSMZqrJQmR94g">
719 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_bpLVMpQ9EeSMZqrJQmR94g"/>
720 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_bpLVM5Q9EeSMZqrJQmR94g" value="1"/>
721 </ownedAttribute>
722 <ownedAttribute xmi:type="uml:Property" xmi:id="Expense-income" name="income" type="Income" isOrdered="true" association="_packagedElement.50">
723 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Expense-income-_lowerValue" value="1"/>
724 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_1aYooOKNEeSbvsXPkSdkbw" value="1"/>
725 </ownedAttribute>
726 <ownedAttribute xmi:type="uml:Property" xmi:id="_dGLbAEzrEeaVApgXPK28xA" name="id4" isID="true">
727 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
728 </ownedAttribute>
729 </packagedElement>
730 <packagedElement xmi:type="uml:Association" xmi:id="_packagedElement.31" memberEnd="Expense-dependent Dependent-expense"/>
731 <packagedElement xmi:type="uml:Class" xmi:id="Income" name="Income" isAbstract="true">
732 <ownedAttribute xmi:type="uml:Property" xmi:id="Income-income_amount" name="income_amount" visibility="package" isUnique="false">
733 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="Income-income_amount-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
734 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Income-income_amount-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot-_details.0" key="derivation" value="let non_null_amounts:OrderedSet(Income_Detail)=self.details->select(det:Income_Detail|det.amount>0)->asOrderedSet() in&#xA;non_null_amounts->collect(amount)->min()"/>
735 </eAnnotations>
736 <ownedComment xmi:type="uml:Comment" xmi:id="Income-income_amount-_ownedComment.0" annotatedElement="Income-income_amount">
737 <body>let non_null_amounts:OrderedSet(Income_Detail)=self.details->select(det:Income_Detail|det.amount>0)->asOrderedSet() in
738non_null_amounts->collect(amount)->min()
</body>
739 </ownedComment>
740 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
741 </ownedAttribute>
742 <ownedAttribute xmi:type="uml:Property" xmi:id="Income-income_type" name="income_type" type="Income_Type" isOrdered="true" aggregation="composite" association="_packagedElement.34"/>
743 <ownedAttribute xmi:type="uml:Property" xmi:id="Income-start_date_within_taxation_year" name="start_date_within_taxation_year" visibility="public" isUnique="false">
744 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDate"/>
745 </ownedAttribute>
746 <ownedAttribute xmi:type="uml:Property" xmi:id="Income-start_date_of_contract" name="start_date_of_contract" visibility="public" isUnique="false">
747 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDate"/>
748 </ownedAttribute>
749 <ownedAttribute xmi:type="uml:Property" xmi:id="Income-end_date_within_taxation_year" name="end_date_within_taxation_year" visibility="public" isUnique="false">
750 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDate"/>
751 </ownedAttribute>
752 <ownedAttribute xmi:type="uml:Property" xmi:id="Income-tax_card" name="tax_card" type="Tax_Card" isOrdered="true" aggregation="composite" association="_packagedElement.49">
753 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Income-tax_card-_lowerValue"/>
754 </ownedAttribute>
755 <ownedAttribute xmi:type="uml:Property" xmi:id="Income-expenses" name="expenses" type="Expense" aggregation="composite" association="_packagedElement.50">
756 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Income-expenses-_lowerValue"/>
757 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Income-expenses-_upperValue" value="*"/>
758 </ownedAttribute>
759 <ownedAttribute xmi:type="uml:Property" xmi:id="Income-tax_liability" name="tax_liability" visibility="public" isOrdered="true">
760 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
761 </ownedAttribute>
762 <ownedAttribute xmi:type="uml:Property" xmi:id="Income-taxPayer" name="taxPayer" type="Tax_Payer" association="_packagedElement.51"/>
763 <ownedAttribute xmi:type="uml:Property" xmi:id="Income-year" name="year" visibility="public" isOrdered="true" isUnique="false">
764 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EInt"/>
765 </ownedAttribute>
766 <ownedAttribute xmi:type="uml:Property" xmi:id="Income-details" name="details" type="Income_Detail" isOrdered="true" aggregation="composite" association="_packagedElement.53">
767 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Income-details-_lowerValue" value="12"/>
768 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Income-details-_upperValue" value="12"/>
769 </ownedAttribute>
770 <ownedAttribute xmi:type="uml:Property" xmi:id="_X0tv8Ld6EeSVy4vFID_wcg" name="num" visibility="public" isID="true">
771 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EInt"/>
772 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_djq20Ld6EeSVy4vFID_wcg" value="1"/>
773 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_djsE8Ld6EeSVy4vFID_wcg" value="1"/>
774 </ownedAttribute>
775 <ownedAttribute xmi:type="uml:Property" xmi:id="_LlDswDn-EeWS2a--AKriEw" name="start_year">
776 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
777 </ownedAttribute>
778 <ownedOperation xmi:type="uml:Operation" xmi:id="Income-compute_duration_of_contract" name="compute_duration_of_contract" visibility="public">
779 <ownedParameter xmi:type="uml:Parameter" xmi:id="Income-compute_duration_of_contract-_ownedParameter.0" isOrdered="true" direction="return">
780 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBigInteger"/>
781 </ownedParameter>
782 </ownedOperation>
783 <ownedOperation xmi:type="uml:Operation" xmi:id="Income-compute_duration_of_contract_within_taxation_year" name="compute_duration_of_contract_within_taxation_year" visibility="public">
784 <ownedParameter xmi:type="uml:Parameter" xmi:id="Income-compute_duration_of_contract_within_taxation_year-_ownedParameter.0" isOrdered="true" direction="return">
785 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBigInteger"/>
786 </ownedParameter>
787 <ownedParameter xmi:type="uml:Parameter" xmi:id="Income-compute_duration_of_contract_within_taxation_year-IN_date" name="IN_date" isOrdered="true">
788 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDate"/>
789 </ownedParameter>
790 </ownedOperation>
791 <ownedOperation xmi:type="uml:Operation" xmi:id="Income-prorata_worked_months" name="prorata_worked_months" visibility="public">
792 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="Income-prorata_worked_months-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
793 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Income-prorata_worked_months-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot-_details.0" key="body" value="self.details->select(is_worked)->size()"/>
794 </eAnnotations>
795 <ownedComment xmi:type="uml:Comment" xmi:id="Income-prorata_worked_months-_ownedComment.0" annotatedElement="Income-prorata_worked_months">
796 <body>operation def</body>
797 </ownedComment>
798 <ownedParameter xmi:type="uml:Parameter" xmi:id="Income-prorata_worked_months-_ownedParameter.0" isOrdered="true" direction="return">
799 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBigInteger"/>
800 </ownedParameter>
801 </ownedOperation>
802 <ownedOperation xmi:type="uml:Operation" xmi:id="Income-prorata_worked_days" name="prorata_worked_days" visibility="public">
803 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="Income-prorata_worked_days-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
804 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Income-prorata_worked_days-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot-_details.0" key="body" value="let a:Set(Income_Detail)=self.details->select(is_worked) in &#xA;&#x9;&#x9;&#x9;a.worked_days->sum().mod(25)"/>
805 </eAnnotations>
806 <ownedComment xmi:type="uml:Comment" xmi:id="Income-prorata_worked_days-_ownedComment.0" annotatedElement="Income-prorata_worked_days">
807 <body>operation def</body>
808 </ownedComment>
809 <ownedParameter xmi:type="uml:Parameter" xmi:id="Income-prorata_worked_days-_ownedParameter.0" isOrdered="true" direction="return">
810 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBigInteger"/>
811 </ownedParameter>
812 </ownedOperation>
813 <ownedOperation xmi:type="uml:Operation" xmi:id="Income-prorata_period" name="prorata_period" visibility="public">
814 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="Income-prorata_period-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
815 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Income-prorata_period-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot-_details.0" key="body" value="&#xA;&#x9;&#x9;&#x9;let nb_months:Integer=self.prorata_worked_months()in&#xA;&#x9;&#x9;&#x9;let nb_days:Integer=self.prorata_worked_days()in&#xA;&#x9;&#x9;&#x9; if(nb_months=12) then&#xA;&#x9;&#x9;&#x9;1&#xA;&#x9;&#x9;&#x9;else &#xA;&#x9;&#x9;&#x9;nb_months/12 + nb_days/300&#xA;&#x9;&#x9;&#x9;endif"/>
816 </eAnnotations>
817 <ownedParameter xmi:type="uml:Parameter" xmi:id="Income-prorata_period-_ownedParameter.0" isOrdered="true" direction="return">
818 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBigDecimal"/>
819 </ownedParameter>
820 </ownedOperation>
821 <ownedOperation xmi:type="uml:Operation" xmi:id="Income-income_per_day" name="income_per_day" visibility="public">
822 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="Income-income_per_day-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
823 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Income-income_per_day-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot-_details.0" key="body" value="income_per_year()/300"/>
824 </eAnnotations>
825 <ownedComment xmi:type="uml:Comment" xmi:id="Income-income_per_day-_ownedComment.0" annotatedElement="Income-income_per_day">
826 <body>operation deft</body>
827 </ownedComment>
828 <ownedParameter xmi:type="uml:Parameter" xmi:id="Income-income_per_day-_ownedParameter.0" isOrdered="true" direction="return">
829 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBigDecimal"/>
830 </ownedParameter>
831 </ownedOperation>
832 <ownedOperation xmi:type="uml:Operation" xmi:id="Income-income_per_month" name="income_per_month" visibility="public">
833 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="Income-income_per_month-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
834 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Income-income_per_month-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot-_details.0" key="body" value="income_per_year()/12"/>
835 </eAnnotations>
836 <ownedComment xmi:type="uml:Comment" xmi:id="Income-income_per_month-_ownedComment.0" annotatedElement="Income-income_per_month">
837 <body>operation deft</body>
838 </ownedComment>
839 <ownedParameter xmi:type="uml:Parameter" xmi:id="Income-income_per_month-_ownedParameter.0" isOrdered="true" direction="return">
840 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBigDecimal"/>
841 </ownedParameter>
842 </ownedOperation>
843 <ownedOperation xmi:type="uml:Operation" xmi:id="Income-income_per_year" name="income_per_year" visibility="public">
844 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="Income-income_per_year-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
845 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Income-income_per_year-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot-_details.0" key="body" value="&#x9;&#x9;&#x9;let involved_details:Set(Income_Detail)=self.details->select(i:Income_Detail| i.is_worked=true) in&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;involved_details.amount->sum()"/>
846 </eAnnotations>
847 <ownedComment xmi:type="uml:Comment" xmi:id="Income-income_per_year-_ownedComment.0" annotatedElement="Income-income_per_year">
848 <body>operation deft</body>
849 </ownedComment>
850 <ownedParameter xmi:type="uml:Parameter" xmi:id="Income-income_per_year-_ownedParameter.0" isOrdered="true" direction="return">
851 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBigDecimal"/>
852 </ownedParameter>
853 </ownedOperation>
854 <ownedOperation xmi:type="uml:Operation" xmi:id="_XgXlMDofEeWWiJDOmt7xhQ" name="getDurationInyears">
855 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gXYpMDofEeWWiJDOmt7xhQ" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
856 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iP7fMDofEeWWiJDOmt7xhQ" key="body" value="&#xA;&#x9;&#x9;&#x9;if(self.income_type.oclIsTypeOf(Pensions_and_Annuities_Income)) then &#xA;&#x9;&#x9;&#x9;if(start_year.oclIsUndefined())then&#xA;&#x9;&#x9;&#x9;-1&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;let res:Integer=self.taxPayer.from_agent.taxation_year-start_year in&#xA;&#x9;&#x9;&#x9;if(res&lt;0) then&#xA;&#x9;&#x9;&#x9;0&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;res&#xA;&#x9;&#x9;&#x9;endif&#xA;&#x9;&#x9;&#x9;endif&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;-1&#xA;&#x9;&#x9;&#x9;endif"/>
857 </eAnnotations>
858 <ownedParameter xmi:type="uml:Parameter" xmi:id="_a5VsIDofEeWWiJDOmt7xhQ" direction="return">
859 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
860 </ownedParameter>
861 </ownedOperation>
862 </packagedElement>
863 <packagedElement xmi:type="uml:Class" xmi:id="Income_Type" name="Income_Type" isAbstract="true">
864 <ownedAttribute xmi:type="uml:Property" xmi:id="Income_Type-income" name="income" type="Income" isOrdered="true" association="_packagedElement.34"/>
865 <ownedAttribute xmi:type="uml:Property" xmi:id="Income_Type-subjectToWithholdingTax" name="subjectToWithholdingTax" visibility="public" isOrdered="true" isDerived="true">
866 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="Income_Type-subjectToWithholdingTax-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
867 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Income_Type-subjectToWithholdingTax-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot-_details.0" key="derivation" value="&#xA;&#x9;&#x9;&#x9;&#x9;self.income.tax_card->notEmpty()&#xA;&#x9;&#x9;&#x9;&#x9;"/>
868 </eAnnotations>
869 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
870 </ownedAttribute>
871 <ownedAttribute xmi:type="uml:Property" xmi:id="_DQ8-4EzqEeaVApgXPK28xA" name="id8" isID="true">
872 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
873 </ownedAttribute>
874 </packagedElement>
875 <packagedElement xmi:type="uml:Association" xmi:id="_packagedElement.34" memberEnd="Income-income_type Income_Type-income"/>
876 <packagedElement xmi:type="uml:Class" xmi:id="Tax_Card" name="Tax_Card">
877 <ownedAttribute xmi:type="uml:Property" xmi:id="Tax_Card-card_identifier" name="card_identifier" visibility="public" isOrdered="true" isID="true">
878 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
879 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_xd0PYJHnEeWJZtt1pWzjeQ"/>
880 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_xd1dgJHnEeWJZtt1pWzjeQ" value="1"/>
881 </ownedAttribute>
882 <ownedAttribute xmi:type="uml:Property" xmi:id="Tax_Card-tax_card_type" name="tax_card_type" visibility="public" type="Tax_Card_Type" isOrdered="true" isDerived="true">
883 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="Tax_Card-tax_card_type-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
884 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Tax_Card-tax_card_type-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot-_details.0" key="derivation" value="if(self.income.taxPayer.incomes->size()=1) then &#xA;Tax_Card_Type::Principal&#xA;&#x9;else&#xA;&#x9;&#x9;let all_incomes:OrderedSet(Income)=self.income.taxPayer.incomes->select(inc:Income| inc.income_amount= self.income.taxPayer.incomes.income_amount->max())->asOrderedSet() in&#xA;&#x9;&#x9;let bigest_income:Income= all_incomes->first() in&#xA;&#x9;&#x9;&#x9; if(bigest_income=self.income) then&#xA;&#x9;&#x9;&#x9; &#x9; Tax_Card_Type::Principal&#xA;&#x9;&#x9;&#x9; else&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;Tax_Card_Type::Additional&#xA;&#x9;&#x9;&#x9;&#x9;endif&#xA;endif&#xA;&#x9;&#x9;&#x9;&#x9;"/>
885 </eAnnotations>
886 </ownedAttribute>
887 <ownedAttribute xmi:type="uml:Property" xmi:id="Tax_Card-tax_office" name="tax_office" visibility="public" type="Tax_Office" isOrdered="true"/>
888 <ownedAttribute xmi:type="uml:Property" xmi:id="Tax_Card-valid_from_date" name="valid_from_date" visibility="public" isUnique="false">
889 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDate"/>
890 </ownedAttribute>
891 <ownedAttribute xmi:type="uml:Property" xmi:id="Tax_Card-valid_until_date" name="valid_until_date" visibility="public" isUnique="false">
892 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDate"/>
893 </ownedAttribute>
894 <ownedAttribute xmi:type="uml:Property" xmi:id="Tax_Card-percentage_of_witholding" name="percentage_of_witholding" visibility="public" isOrdered="true">
895 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
896 </ownedAttribute>
897 <ownedAttribute xmi:type="uml:Property" xmi:id="Tax_Card-tax_payers_name_surname" name="tax_payers_name_surname" visibility="public">
898 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
899 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Tax_Card-tax_payers_name_surname-_lowerValue"/>
900 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Tax_Card-tax_payers_name_surname-_upperValue" value="*"/>
901 </ownedAttribute>
902 <ownedAttribute xmi:type="uml:Property" xmi:id="Tax_Card-tax_payers_partner_name_surname" name="tax_payers_partner_name_surname" visibility="public">
903 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
904 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Tax_Card-tax_payers_partner_name_surname-_lowerValue"/>
905 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Tax_Card-tax_payers_partner_name_surname-_upperValue" value="*"/>
906 </ownedAttribute>
907 <ownedAttribute xmi:type="uml:Property" xmi:id="Tax_Card-tax_payers_address" name="tax_payers_address" type="Address" isOrdered="true">
908 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_tnXU0EK4EeaQU66UNd8S3g"/>
909 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_tnX74EK4EeaQU66UNd8S3g" value="1"/>
910 </ownedAttribute>
911 <ownedAttribute xmi:type="uml:Property" xmi:id="Tax_Card-jobs_Employer_SSNo" name="jobs_Employer_SSNo" visibility="public" isUnique="false">
912 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
913 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3tgkwELAEeaQU66UNd8S3g"/>
914 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3thL0ELAEeaQU66UNd8S3g" value="1"/>
915 </ownedAttribute>
916 <ownedAttribute xmi:type="uml:Property" xmi:id="Tax_Card-jobs_employers_name" name="jobs_employers_name" visibility="public" isUnique="false">
917 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
918 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_5qhrEELAEeaQU66UNd8S3g"/>
919 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_5qhrEULAEeaQU66UNd8S3g" value="1"/>
920 </ownedAttribute>
921 <ownedAttribute xmi:type="uml:Property" xmi:id="Tax_Card-jobs_activity_type" name="jobs_activity_type" visibility="public" type="Job_Activity" isOrdered="true"/>
922 <ownedAttribute xmi:type="uml:Property" xmi:id="Tax_Card-jobs_place_of_work" name="jobs_place_of_work" visibility="public" type="Town" isOrdered="true"/>
923 <ownedAttribute xmi:type="uml:Property" xmi:id="Tax_Card-deduction_FD_daily" name="deduction_FD_daily" visibility="public" isUnique="false">
924 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
925 <defaultValue xmi:type="uml:LiteralReal" xmi:id="Tax_Card-deduction_FD_daily-_defaultValue">
926 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
927 </defaultValue>
928 </ownedAttribute>
929 <ownedAttribute xmi:type="uml:Property" xmi:id="Tax_Card-deduction_FD_monthly" name="deduction_FD_monthly" visibility="public" isUnique="false">
930 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
931 <defaultValue xmi:type="uml:LiteralReal" xmi:id="Tax_Card-deduction_FD_monthly-_defaultValue">
932 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
933 </defaultValue>
934 </ownedAttribute>
935 <ownedAttribute xmi:type="uml:Property" xmi:id="Tax_Card-deduction_FD_yearly" name="deduction_FD_yearly" visibility="public" isOrdered="true" isUnique="false">
936 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
937 <defaultValue xmi:type="uml:LiteralReal" xmi:id="Tax_Card-deduction_FD_yearly-_defaultValue">
938 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
939 </defaultValue>
940 </ownedAttribute>
941 <ownedAttribute xmi:type="uml:Property" xmi:id="Tax_Card-deduction_AC_daily" name="deduction_AC_daily" visibility="public" isOrdered="true" isUnique="false">
942 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
943 <defaultValue xmi:type="uml:LiteralReal" xmi:id="Tax_Card-deduction_AC_daily-_defaultValue">
944 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
945 </defaultValue>
946 </ownedAttribute>
947 <ownedAttribute xmi:type="uml:Property" xmi:id="Tax_Card-deduction_AC_monthly" name="deduction_AC_monthly" visibility="public" isOrdered="true" isUnique="false">
948 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
949 <defaultValue xmi:type="uml:LiteralReal" xmi:id="Tax_Card-deduction_AC_monthly-_defaultValue">
950 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
951 </defaultValue>
952 </ownedAttribute>
953 <ownedAttribute xmi:type="uml:Property" xmi:id="Tax_Card-deduction_AC_yearly" name="deduction_AC_yearly" visibility="public" isOrdered="true" isUnique="false">
954 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
955 <defaultValue xmi:type="uml:LiteralReal" xmi:id="Tax_Card-deduction_AC_yearly-_defaultValue">
956 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
957 </defaultValue>
958 </ownedAttribute>
959 <ownedAttribute xmi:type="uml:Property" xmi:id="Tax_Card-deduction_CE_daily" name="deduction_CE_daily" visibility="public" isOrdered="true" isUnique="false">
960 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
961 <defaultValue xmi:type="uml:LiteralReal" xmi:id="Tax_Card-deduction_CE_daily-_defaultValue">
962 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
963 </defaultValue>
964 </ownedAttribute>
965 <ownedAttribute xmi:type="uml:Property" xmi:id="Tax_Card-deduction_CE_monthly" name="deduction_CE_monthly" visibility="public" isOrdered="true" isUnique="false">
966 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
967 <defaultValue xmi:type="uml:LiteralReal" xmi:id="Tax_Card-deduction_CE_monthly-_defaultValue">
968 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
969 </defaultValue>
970 </ownedAttribute>
971 <ownedAttribute xmi:type="uml:Property" xmi:id="Tax_Card-deduction_CE_yearly" name="deduction_CE_yearly" visibility="public" isOrdered="true" isUnique="false">
972 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
973 <defaultValue xmi:type="uml:LiteralReal" xmi:id="Tax_Card-deduction_CE_yearly-_defaultValue">
974 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
975 </defaultValue>
976 </ownedAttribute>
977 <ownedAttribute xmi:type="uml:Property" xmi:id="Tax_Card-deduction_CE_invalidity_yearly" name="deduction_CE_invalidity_yearly" visibility="public" isOrdered="true" isUnique="false">
978 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
979 <defaultValue xmi:type="uml:LiteralReal" xmi:id="Tax_Card-deduction_CE_invalidity_yearly-_defaultValue">
980 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
981 </defaultValue>
982 </ownedAttribute>
983 <ownedAttribute xmi:type="uml:Property" xmi:id="Tax_Card-deduction_DS_daily" name="deduction_DS_daily" visibility="public" isOrdered="true" isUnique="false">
984 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
985 <defaultValue xmi:type="uml:LiteralReal" xmi:id="Tax_Card-deduction_DS_daily-_defaultValue">
986 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
987 </defaultValue>
988 </ownedAttribute>
989 <ownedAttribute xmi:type="uml:Property" xmi:id="Tax_Card-deduction_DS_monthly" name="deduction_DS_monthly" visibility="public" isOrdered="true">
990 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
991 <defaultValue xmi:type="uml:LiteralReal" xmi:id="Tax_Card-deduction_DS_monthly-_defaultValue">
992 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
993 </defaultValue>
994 </ownedAttribute>
995 <ownedAttribute xmi:type="uml:Property" xmi:id="Tax_Card-deduction_DS_yearly" name="deduction_DS_yearly" visibility="public" isOrdered="true" isUnique="false">
996 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
997 <defaultValue xmi:type="uml:LiteralReal" xmi:id="Tax_Card-deduction_DS_yearly-_defaultValue">
998 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
999 </defaultValue>
1000 </ownedAttribute>
1001 <ownedAttribute xmi:type="uml:Property" xmi:id="Tax_Card-deduction_FO_daily" name="deduction_FO_daily" visibility="public" isOrdered="true" isUnique="false">
1002 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
1003 <defaultValue xmi:type="uml:LiteralReal" xmi:id="Tax_Card-deduction_FO_daily-_defaultValue">
1004 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
1005 </defaultValue>
1006 </ownedAttribute>
1007 <ownedAttribute xmi:type="uml:Property" xmi:id="Tax_Card-deduction_FO_monthly" name="deduction_FO_monthly" visibility="public" isOrdered="true" isUnique="false">
1008 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
1009 <defaultValue xmi:type="uml:LiteralReal" xmi:id="Tax_Card-deduction_FO_monthly-_defaultValue">
1010 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
1011 </defaultValue>
1012 </ownedAttribute>
1013 <ownedAttribute xmi:type="uml:Property" xmi:id="Tax_Card-deduction_FO_yearly" name="deduction_FO_yearly" visibility="public" isOrdered="true" isUnique="false">
1014 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
1015 <defaultValue xmi:type="uml:LiteralReal" xmi:id="Tax_Card-deduction_FO_yearly-_defaultValue">
1016 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
1017 </defaultValue>
1018 </ownedAttribute>
1019 <ownedAttribute xmi:type="uml:Property" xmi:id="Tax_Card-credit_CIS_daily" name="credit_CIS_daily" visibility="public" isOrdered="true" isUnique="false">
1020 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
1021 <defaultValue xmi:type="uml:LiteralReal" xmi:id="Tax_Card-credit_CIS_daily-_defaultValue">
1022 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
1023 </defaultValue>
1024 </ownedAttribute>
1025 <ownedAttribute xmi:type="uml:Property" xmi:id="Tax_Card-credit_CIS_monthly" name="credit_CIS_monthly" visibility="public" isOrdered="true" isUnique="false">
1026 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
1027 <defaultValue xmi:type="uml:LiteralReal" xmi:id="Tax_Card-credit_CIS_monthly-_defaultValue">
1028 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
1029 </defaultValue>
1030 </ownedAttribute>
1031 <ownedAttribute xmi:type="uml:Property" xmi:id="Tax_Card-credit_CIP_monthly" name="credit_CIP_monthly" visibility="public" isOrdered="true" isUnique="false">
1032 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
1033 <defaultValue xmi:type="uml:LiteralReal" xmi:id="Tax_Card-credit_CIP_monthly-_defaultValue">
1034 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
1035 </defaultValue>
1036 </ownedAttribute>
1037 <ownedAttribute xmi:type="uml:Property" xmi:id="Tax_Card-credit_CIP_yearly" name="credit_CIP_yearly" visibility="public" isOrdered="true" isUnique="false">
1038 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
1039 <defaultValue xmi:type="uml:LiteralReal" xmi:id="Tax_Card-credit_CIP_yearly-_defaultValue">
1040 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
1041 </defaultValue>
1042 </ownedAttribute>
1043 <ownedAttribute xmi:type="uml:Property" xmi:id="Tax_Card-credit_CIM_daily" name="credit_CIM_daily" visibility="public" isOrdered="true" isUnique="false">
1044 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
1045 <defaultValue xmi:type="uml:LiteralReal" xmi:id="Tax_Card-credit_CIM_daily-_defaultValue">
1046 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
1047 </defaultValue>
1048 </ownedAttribute>
1049 <ownedAttribute xmi:type="uml:Property" xmi:id="Tax_Card-credit_CIM_monthly" name="credit_CIM_monthly" visibility="public" isOrdered="true" isUnique="false">
1050 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
1051 <defaultValue xmi:type="uml:LiteralReal" xmi:id="Tax_Card-credit_CIM_monthly-_defaultValue">
1052 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
1053 </defaultValue>
1054 </ownedAttribute>
1055 <ownedAttribute xmi:type="uml:Property" xmi:id="Tax_Card-credit_CIS_yearly" name="credit_CIS_yearly" visibility="public" isOrdered="true" isUnique="false">
1056 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
1057 <defaultValue xmi:type="uml:LiteralReal" xmi:id="Tax_Card-credit_CIS_yearly-_defaultValue">
1058 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
1059 </defaultValue>
1060 </ownedAttribute>
1061 <ownedAttribute xmi:type="uml:Property" xmi:id="Tax_Card-validity" name="validity" visibility="public" isOrdered="true">
1062 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
1063 </ownedAttribute>
1064 <ownedAttribute xmi:type="uml:Property" xmi:id="Tax_Card-income_Tax_Credit" name="income_Tax_Credit" type="Income_Tax_Credit" association="_packagedElement.43">
1065 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Tax_Card-income_Tax_Credit-_lowerValue"/>
1066 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Tax_Card-income_Tax_Credit-_upperValue" value="*"/>
1067 </ownedAttribute>
1068 <ownedAttribute xmi:type="uml:Property" xmi:id="Tax_Card-previous" name="previous" type="Tax_Card" isOrdered="true" association="_packagedElement.48">
1069 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Tax_Card-previous-_lowerValue"/>
1070 </ownedAttribute>
1071 <ownedAttribute xmi:type="uml:Property" xmi:id="Tax_Card-current_tax_card" name="current_tax_card" type="Tax_Card" isOrdered="true" association="_packagedElement.48">
1072 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_uUHzgELAEeaQU66UNd8S3g"/>
1073 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_uUIakELAEeaQU66UNd8S3g" value="1"/>
1074 </ownedAttribute>
1075 <ownedAttribute xmi:type="uml:Property" xmi:id="Tax_Card-income" name="income" type="Income" isOrdered="true" association="_packagedElement.49"/>
1076 <ownedAttribute xmi:type="uml:Property" xmi:id="_SFQCkJD1EeSMh_pkRTiRPQ" name="credit_CIM_yearly">
1077 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
1078 </ownedAttribute>
1079 <ownedAttribute xmi:type="uml:Property" xmi:id="_s_isgJNrEeSZisr9dyMXhQ" name="deduction_DS_Alimony_yearly">
1080 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1081 </ownedAttribute>
1082 <ownedAttribute xmi:type="uml:Property" xmi:id="_iIM5AJQ7EeSMZqrJQmR94g" name="deduction_DS_Debt_yearly">
1083 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1084 </ownedAttribute>
1085 <ownedOperation xmi:type="uml:Operation" xmi:id="_E3gpkIxNEeSQ-eW2JAQJHg" name="getSumDeductionsYear">
1086 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OxHzAIxNEeSQ-eW2JAQJHg" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1087 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Use-MIxNEeSQ-eW2JAQJHg" key="body" value="deduction_FO_yearly+deduction_FD_yearly+deduction_CE_invalidity_yearly"/>
1088 </eAnnotations>
1089 <ownedParameter xmi:type="uml:Parameter" xmi:id="_LKXuwIxNEeSQ-eW2JAQJHg" direction="return">
1090 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1091 </ownedParameter>
1092 </ownedOperation>
1093 <ownedOperation xmi:type="uml:Operation" xmi:id="_r7hdAJD1EeSMh_pkRTiRPQ" name="getSumCreditsYear">
1094 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1xO94JD1EeSMh_pkRTiRPQ" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1095 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2F9QsJD1EeSMh_pkRTiRPQ" key="body" value="credit_CIS_yearly+credit_CIP_yearly"/>
1096 </eAnnotations>
1097 <ownedParameter xmi:type="uml:Parameter" xmi:id="_xL9b4JD1EeSMh_pkRTiRPQ" direction="return">
1098 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1099 </ownedParameter>
1100 </ownedOperation>
1101 </packagedElement>
1102 <packagedElement xmi:type="uml:Class" xmi:id="Income_Tax_Credit" name="Income_Tax_Credit">
1103 <ownedAttribute xmi:type="uml:Property" xmi:id="Income_Tax_Credit-grantedBy" name="grantedBy" visibility="public" type="Grantor" isOrdered="true"/>
1104 <ownedAttribute xmi:type="uml:Property" xmi:id="Income_Tax_Credit-taxPayer" name="taxPayer" type="Tax_Payer" isOrdered="true">
1105 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Income_Tax_Credit-taxPayer-_lowerValue"/>
1106 </ownedAttribute>
1107 <ownedAttribute xmi:type="uml:Property" xmi:id="Income_Tax_Credit-tax_year" name="tax_year" visibility="public" isOrdered="true">
1108 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EInt"/>
1109 </ownedAttribute>
1110 <ownedAttribute xmi:type="uml:Property" xmi:id="Income_Tax_Credit-yearly" name="yearly" visibility="public" isOrdered="true">
1111 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
1112 <defaultValue xmi:type="uml:LiteralReal" xmi:id="Income_Tax_Credit-yearly-_defaultValue" value="300.0">
1113 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
1114 </defaultValue>
1115 </ownedAttribute>
1116 <ownedAttribute xmi:type="uml:Property" xmi:id="Income_Tax_Credit-monthly" name="monthly" visibility="public" isOrdered="true">
1117 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
1118 <defaultValue xmi:type="uml:LiteralReal" xmi:id="Income_Tax_Credit-monthly-_defaultValue" value="25.0">
1119 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
1120 </defaultValue>
1121 </ownedAttribute>
1122 <ownedAttribute xmi:type="uml:Property" xmi:id="Income_Tax_Credit-daily" name="daily" visibility="public" isOrdered="true">
1123 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
1124 <defaultValue xmi:type="uml:LiteralReal" xmi:id="Income_Tax_Credit-daily-_defaultValue" value="1.0">
1125 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
1126 </defaultValue>
1127 </ownedAttribute>
1128 <ownedAttribute xmi:type="uml:Property" xmi:id="Income_Tax_Credit-taxation_Frame" name="taxation_Frame" type="Tax_Card" isOrdered="true" association="_packagedElement.43">
1129 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Income_Tax_Credit-taxation_Frame-_lowerValue"/>
1130 </ownedAttribute>
1131 <ownedAttribute xmi:type="uml:Property" xmi:id="_C1HFgEzsEeaVApgXPK28xA" name="id7" isID="true">
1132 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
1133 </ownedAttribute>
1134 </packagedElement>
1135 <packagedElement xmi:type="uml:Association" xmi:id="_packagedElement.43" memberEnd="Income_Tax_Credit-taxation_Frame Tax_Card-income_Tax_Credit"/>
1136 <packagedElement xmi:type="uml:Association" xmi:id="_packagedElement.48" memberEnd="Tax_Card-current_tax_card Tax_Card-previous"/>
1137 <packagedElement xmi:type="uml:Association" xmi:id="_packagedElement.49" memberEnd="Income-tax_card Tax_Card-income"/>
1138 <packagedElement xmi:type="uml:Association" xmi:id="_packagedElement.50" memberEnd="Income-expenses Expense-income"/>
1139 <packagedElement xmi:type="uml:Association" xmi:id="_bpLVMJQ9EeSMZqrJQmR94g" memberEnd="_bpLVMZQ9EeSMZqrJQmR94g _bpKHEJQ9EeSMZqrJQmR94g"/>
1140 <packagedElement xmi:type="uml:Association" xmi:id="_packagedElement.51" memberEnd="Tax_Payer-incomes Income-taxPayer"/>
1141 <packagedElement xmi:type="uml:Class" xmi:id="Income_Detail" name="Income_Detail">
1142 <ownedAttribute xmi:type="uml:Property" xmi:id="Income_Detail-month" name="month" visibility="public" isUnique="false">
1143 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EInt"/>
1144 </ownedAttribute>
1145 <ownedAttribute xmi:type="uml:Property" xmi:id="Income_Detail-amount" name="amount" visibility="public" isOrdered="true">
1146 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
1147 </ownedAttribute>
1148 <ownedAttribute xmi:type="uml:Property" xmi:id="Income_Detail-is_worked" name="is_worked" visibility="public" isOrdered="true">
1149 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
1150 </ownedAttribute>
1151 <ownedAttribute xmi:type="uml:Property" xmi:id="Income_Detail-distance" name="distance" visibility="public" isOrdered="true">
1152 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
1153 </ownedAttribute>
1154 <ownedAttribute xmi:type="uml:Property" xmi:id="Income_Detail-worked_days" name="worked_days" visibility="public" isOrdered="true">
1155 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EInt"/>
1156 </ownedAttribute>
1157 <ownedAttribute xmi:type="uml:Property" xmi:id="Income_Detail-income" name="income" type="Income" isOrdered="true" association="_packagedElement.53"/>
1158 <ownedAttribute xmi:type="uml:Property" xmi:id="_nhySMI9sEeSET8mBcpxzqQ" name="is_contributing_CNS">
1159 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
1160 </ownedAttribute>
1161 <ownedAttribute xmi:type="uml:Property" xmi:id="_rG-3QI9sEeSET8mBcpxzqQ" name="is_contributing_pension">
1162 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
1163 </ownedAttribute>
1164 <ownedAttribute xmi:type="uml:Property" xmi:id="_5ctywEzrEeaVApgXPK28xA" name="id5" isID="true">
1165 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
1166 </ownedAttribute>
1167 </packagedElement>
1168 <packagedElement xmi:type="uml:Association" xmi:id="_packagedElement.53" memberEnd="Income-details Income_Detail-income"/>
1169 <packagedElement xmi:type="uml:Class" xmi:id="FromLaw" name="FromLaw">
1170 <ownedAttribute xmi:type="uml:Property" xmi:id="FromLaw-taxPayer" name="taxPayer" type="Tax_Payer" isOrdered="true" association="_packagedElement.56"/>
1171 <ownedAttribute xmi:type="uml:Property" xmi:id="_t3FzcEzrEeaVApgXPK28xA" name="id" isID="true">
1172 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
1173 </ownedAttribute>
1174 <ownedOperation xmi:type="uml:Operation" xmi:id="FromLaw-CE_INVALIDITY_FLAT_RATE_TYPE_E" name="CE_INVALIDITY_FLAT_RATE_TYPE_E" visibility="public">
1175 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="FromLaw-CE_INVALIDITY_FLAT_RATE_TYPE_E-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1176 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="FromLaw-CE_INVALIDITY_FLAT_RATE_TYPE_E-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot-_details.0" key="body" value="1455"/>
1177 </eAnnotations>
1178 <ownedParameter xmi:type="uml:Parameter" xmi:id="FromLaw-CE_INVALIDITY_FLAT_RATE_TYPE_E-_ownedParameter.0" isOrdered="true" direction="return">
1179 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBigDecimal"/>
1180 </ownedParameter>
1181 </ownedOperation>
1182 <ownedOperation xmi:type="uml:Operation" xmi:id="FromLaw-CIP_MINIMUM_INCOME_MONTH" name="CIP_MINIMUM_INCOME_MONTH" visibility="public">
1183 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="FromLaw-CIP_MINIMUM_INCOME_MONTH-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1184 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="FromLaw-CIP_MINIMUM_INCOME_MONTH-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot-_details.0" key="body" value="25"/>
1185 </eAnnotations>
1186 <ownedParameter xmi:type="uml:Parameter" xmi:id="FromLaw-CIP_MINIMUM_INCOME_MONTH-_ownedParameter.0" isOrdered="true" direction="return">
1187 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBigDecimal"/>
1188 </ownedParameter>
1189 </ownedOperation>
1190 <ownedOperation xmi:type="uml:Operation" xmi:id="FromLaw-CIP_MINIMUM_INCOME_YEAR" name="CIP_MINIMUM_INCOME_YEAR" visibility="public">
1191 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="FromLaw-CIP_MINIMUM_INCOME_YEAR-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1192 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="FromLaw-CIP_MINIMUM_INCOME_YEAR-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot-_details.0" key="body" value="300"/>
1193 </eAnnotations>
1194 <ownedParameter xmi:type="uml:Parameter" xmi:id="FromLaw-CIP_MINIMUM_INCOME_YEAR-_ownedParameter.0" isOrdered="true" direction="return">
1195 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBigDecimal"/>
1196 </ownedParameter>
1197 </ownedOperation>
1198 <ownedOperation xmi:type="uml:Operation" xmi:id="FromLaw-FLAT_RATE_CIP_YEARLY" name="FLAT_RATE_CIP_YEARLY" visibility="public">
1199 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="FromLaw-FLAT_RATE_CIP_YEARLY-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1200 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="FromLaw-FLAT_RATE_CIP_YEARLY-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot-_details.0" key="body" value="300"/>
1201 </eAnnotations>
1202 <ownedParameter xmi:type="uml:Parameter" xmi:id="FromLaw-FLAT_RATE_CIP_YEARLY-_ownedParameter.0" isOrdered="true" direction="return">
1203 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBigDecimal"/>
1204 </ownedParameter>
1205 </ownedOperation>
1206 <ownedOperation xmi:type="uml:Operation" xmi:id="FromLaw-FLAT_RATE_PER_UNIT" name="FLAT_RATE_PER_UNIT" visibility="public">
1207 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="FromLaw-FLAT_RATE_PER_UNIT-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1208 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="FromLaw-FLAT_RATE_PER_UNIT-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot-_details.0" key="body" value="99"/>
1209 </eAnnotations>
1210 <ownedParameter xmi:type="uml:Parameter" xmi:id="FromLaw-FLAT_RATE_PER_UNIT-_ownedParameter.0" isOrdered="true" direction="return">
1211 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBigDecimal"/>
1212 </ownedParameter>
1213 </ownedOperation>
1214 <ownedOperation xmi:type="uml:Operation" xmi:id="FromLaw-MAXIMUM_DISTANCE_IN_UNITS" name="MAXIMUM_DISTANCE_IN_UNITS" visibility="public">
1215 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="FromLaw-MAXIMUM_DISTANCE_IN_UNITS-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1216 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="FromLaw-MAXIMUM_DISTANCE_IN_UNITS-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot-_details.0" key="body" value="30"/>
1217 </eAnnotations>
1218 <ownedParameter xmi:type="uml:Parameter" xmi:id="FromLaw-MAXIMUM_DISTANCE_IN_UNITS-_ownedParameter.0" isOrdered="true" direction="return">
1219 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBigDecimal"/>
1220 </ownedParameter>
1221 </ownedOperation>
1222 <ownedOperation xmi:type="uml:Operation" xmi:id="FromLaw-MINIMUM_DISTANCE_IN_UNITS" name="MINIMUM_DISTANCE_IN_UNITS" visibility="public">
1223 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="FromLaw-MINIMUM_DISTANCE_IN_UNITS-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1224 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="FromLaw-MINIMUM_DISTANCE_IN_UNITS-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot-_details.0" key="body" value="4"/>
1225 </eAnnotations>
1226 <ownedParameter xmi:type="uml:Parameter" xmi:id="FromLaw-MINIMUM_DISTANCE_IN_UNITS-_ownedParameter.0" isOrdered="true" direction="return">
1227 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBigDecimal"/>
1228 </ownedParameter>
1229 </ownedOperation>
1230 <ownedOperation xmi:type="uml:Operation" xmi:id="FromLaw-FLAT_MAXIMUM_FD" name="FLAT_MAXIMUM_FD" visibility="public">
1231 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="FromLaw-FLAT_MAXIMUM_FD-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1232 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="FromLaw-FLAT_MAXIMUM_FD-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot-_details.0" key="body" value="2574"/>
1233 </eAnnotations>
1234 <ownedParameter xmi:type="uml:Parameter" xmi:id="FromLaw-FLAT_MAXIMUM_FD-_ownedParameter.0" isOrdered="true" direction="return">
1235 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBigDecimal"/>
1236 </ownedParameter>
1237 </ownedOperation>
1238 <ownedOperation xmi:type="uml:Operation" xmi:id="FromLaw-CIS_MINIMUM_INCOME_DAY" name="CIS_MINIMUM_INCOME_DAY" visibility="public">
1239 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="FromLaw-CIS_MINIMUM_INCOME_DAY-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1240 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="FromLaw-CIS_MINIMUM_INCOME_DAY-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot-_details.0" key="body" value="3.12"/>
1241 </eAnnotations>
1242 <ownedParameter xmi:type="uml:Parameter" xmi:id="FromLaw-CIS_MINIMUM_INCOME_DAY-_ownedParameter.0" isOrdered="true" direction="return">
1243 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBigDecimal"/>
1244 </ownedParameter>
1245 </ownedOperation>
1246 <ownedOperation xmi:type="uml:Operation" xmi:id="FromLaw-CIS_MINIMUM_INCOME_MONTH" name="CIS_MINIMUM_INCOME_MONTH" visibility="public">
1247 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="FromLaw-CIS_MINIMUM_INCOME_MONTH-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1248 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="FromLaw-CIS_MINIMUM_INCOME_MONTH-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot-_details.0" key="body" value="78"/>
1249 </eAnnotations>
1250 <ownedParameter xmi:type="uml:Parameter" xmi:id="FromLaw-CIS_MINIMUM_INCOME_MONTH-_ownedParameter.0" isOrdered="true" direction="return">
1251 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBigDecimal"/>
1252 </ownedParameter>
1253 </ownedOperation>
1254 <ownedOperation xmi:type="uml:Operation" xmi:id="FromLaw-CIS_MINIMUM_INCOME_YEAR" name="CIS_MINIMUM_INCOME_YEAR" visibility="public">
1255 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="FromLaw-CIS_MINIMUM_INCOME_YEAR-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1256 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="FromLaw-CIS_MINIMUM_INCOME_YEAR-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot-_details.0" key="body" value="936"/>
1257 </eAnnotations>
1258 <ownedParameter xmi:type="uml:Parameter" xmi:id="FromLaw-CIS_MINIMUM_INCOME_YEAR-_ownedParameter.0" isOrdered="true" direction="return">
1259 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBigDecimal"/>
1260 </ownedParameter>
1261 </ownedOperation>
1262 <ownedOperation xmi:type="uml:Operation" xmi:id="FromLaw-FLAT_RATE_CIS_DAILY" name="FLAT_RATE_CIS_DAILY" visibility="public">
1263 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="FromLaw-FLAT_RATE_CIS_DAILY-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1264 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="FromLaw-FLAT_RATE_CIS_DAILY-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot-_details.0" key="body" value="1"/>
1265 </eAnnotations>
1266 <ownedParameter xmi:type="uml:Parameter" xmi:id="FromLaw-FLAT_RATE_CIS_DAILY-_ownedParameter.0" isOrdered="true" direction="return">
1267 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBigDecimal"/>
1268 </ownedParameter>
1269 </ownedOperation>
1270 <ownedOperation xmi:type="uml:Operation" xmi:id="FromLaw-FLAT_RATE_CIS_MONTHLY" name="FLAT_RATE_CIS_MONTHLY" visibility="public">
1271 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="FromLaw-FLAT_RATE_CIS_MONTHLY-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1272 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="FromLaw-FLAT_RATE_CIS_MONTHLY-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot-_details.0" key="body" value="25"/>
1273 </eAnnotations>
1274 <ownedParameter xmi:type="uml:Parameter" xmi:id="FromLaw-FLAT_RATE_CIS_MONTHLY-_ownedParameter.0" isOrdered="true" direction="return">
1275 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBigDecimal"/>
1276 </ownedParameter>
1277 </ownedOperation>
1278 <ownedOperation xmi:type="uml:Operation" xmi:id="FromLaw-FLAT_RATE_CIS_YEARLY" name="FLAT_RATE_CIS_YEARLY" visibility="public">
1279 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="FromLaw-FLAT_RATE_CIS_YEARLY-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1280 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="FromLaw-FLAT_RATE_CIS_YEARLY-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot-_details.0" key="body" value="300"/>
1281 </eAnnotations>
1282 <ownedParameter xmi:type="uml:Parameter" xmi:id="FromLaw-FLAT_RATE_CIS_YEARLY-_ownedParameter.0" isOrdered="true" direction="return">
1283 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBigDecimal"/>
1284 </ownedParameter>
1285 </ownedOperation>
1286 <ownedOperation xmi:type="uml:Operation" xmi:id="_Agn5YH-KEeSHGtUXiBtlKg" name="get_A_for_salary_class_1">
1287 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5W3zAH-KEeSHGtUXiBtlKg" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1288 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7nfx0H-KEeSHGtUXiBtlKg" key="body" value="if(revenu&lt;= 1020) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 1180) then 0.08&#xA;&#x9;&#x9;else if(revenu &lt;= 1340) then 0.1&#xA;&#x9;&#x9;else if(revenu &lt;= 1500) then 0.12&#xA;&#x9;&#x9;else if(revenu &lt;= 1655) then 0.14&#xA;&#x9;&#x9;else if(revenu &lt;= 1815) then 0.16&#xA;&#x9;&#x9;else if(revenu &lt;= 1975) then 0.18&#xA;&#x9;&#x9;else if(revenu &lt;= 2135) then 0.2&#xA;&#x9;&#x9;else if(revenu &lt;= 2295) then 0.22&#xA;&#x9;&#x9;else if(revenu &lt;= 2450) then 0.24&#xA;&#x9;&#x9;else if(revenu &lt;= 2610) then 0.26&#xA;&#x9;&#x9;else if(revenu &lt;= 2770) then 0.28&#xA;&#x9;&#x9;else if(revenu &lt;= 2930) then 0.3&#xA;&#x9;&#x9;else if(revenu &lt;= 3090) then 0.32&#xA;&#x9;&#x9;else if(revenu &lt;= 3245) then 0.34&#xA;&#x9;&#x9;else if(revenu &lt;= 3405) then 0.36&#xA;&#x9;&#x9;else if(revenu &lt;= 3565) then 0.38&#xA;&#x9;&#x9;else if(revenu &lt;= 8415) then 0.39&#xA;&#x9;&#x9;else 0.4&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; &#x9; endif"/>
1289 </eAnnotations>
1290 <ownedParameter xmi:type="uml:Parameter" xmi:id="_O-ZKgH-KEeSHGtUXiBtlKg" direction="return">
1291 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1292 </ownedParameter>
1293 <ownedParameter xmi:type="uml:Parameter" xmi:id="_V7zokH-KEeSHGtUXiBtlKg" name="revenu">
1294 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1295 </ownedParameter>
1296 </ownedOperation>
1297 <ownedOperation xmi:type="uml:Operation" xmi:id="_ZGhmMH-MEeSvcM-kBpd7hg" name="get_B_for_salary_class_1">
1298 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8Zk_8H-TEeS7YrVIFIBXnQ" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1299 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9IKkQH-TEeS7YrVIFIBXnQ" key="body" value="if(revenu&lt;= 1020) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 1180) then 81.9&#xA;&#x9;&#x9;else if(revenu &lt;= 1340) then 105.555&#xA;&#x9;&#x9;else if(revenu &lt;= 1500) then 132.39000&#xA;&#x9;&#x9;else if(revenu &lt;= 1655) then 162.405&#xA;&#x9;&#x9;else if(revenu &lt;= 1815) then 195.6&#xA;&#x9;&#x9;else if(revenu &lt;= 1975) then 231.975&#xA;&#x9;&#x9;else if(revenu &lt;= 2135) then 271.53&#xA;&#x9;&#x9;else if(revenu &lt;= 2295) then 314.265&#xA;&#x9;&#x9;else if(revenu &lt;= 2450) then 360.18&#xA;&#x9;&#x9;else if(revenu &lt;= 2610) then 409.275&#xA;&#x9;&#x9;else if(revenu &lt;= 2770) then 461.55&#xA;&#x9;&#x9;else if(revenu &lt;= 2930) then 517.005&#xA;&#x9;&#x9;else if(revenu &lt;= 3090) then 575.64&#xA;&#x9;&#x9;else if(revenu &lt;= 3245) then 637.455&#xA;&#x9;&#x9;else if(revenu &lt;= 3405) then 702.45&#xA;&#x9;&#x9;else if(revenu &lt;= 3565) then 770.625&#xA;&#x9;&#x9;else if(revenu &lt;= 8415) then 806.30250 &#xA;&#x9;&#x9;else 890.48583&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
1300 </eAnnotations>
1301 <ownedParameter xmi:type="uml:Parameter" xmi:id="_eRz_UH-MEeSvcM-kBpd7hg" direction="return">
1302 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1303 </ownedParameter>
1304 <ownedParameter xmi:type="uml:Parameter" xmi:id="_V_TjQIBgEeSS--Tr1brRQQ" name="revenu">
1305 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1306 </ownedParameter>
1307 </ownedOperation>
1308 <ownedOperation xmi:type="uml:Operation" xmi:id="_vT3LEH-MEeSvcM-kBpd7hg" name="get_A_for_salary_class_1A">
1309 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Dtq4oH-UEeS7YrVIFIBXnQ" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1310 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GTAjMH-UEeS7YrVIFIBXnQ" key="body" value="if(revenu&lt;= 1960) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 2065) then 0.12&#xA;&#x9;&#x9;else if(revenu &lt;= 2170) then 0.15&#xA;&#x9;&#x9;else if(revenu &lt;= 2280) then 0.18&#xA;&#x9;&#x9;else if(revenu &lt;= 2385) then 0.21&#xA;&#x9;&#x9;else if(revenu &lt;= 2490) then 0.24&#xA;&#x9;&#x9;else if(revenu &lt;= 2595) then 0.27&#xA;&#x9;&#x9;else if(revenu &lt;= 2700) then 0.3&#xA;&#x9;&#x9;else if(revenu &lt;= 2810) then 0.33&#xA;&#x9;&#x9;else if(revenu &lt;= 2915) then 0.36&#xA;&#x9;&#x9;else if(revenu &lt;= 3020) then 0.39&#xA;&#x9;&#x9;else 0.4&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
1311 </eAnnotations>
1312 <ownedParameter xmi:type="uml:Parameter" xmi:id="_xmriQH-MEeSvcM-kBpd7hg" direction="return">
1313 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1314 </ownedParameter>
1315 <ownedParameter xmi:type="uml:Parameter" xmi:id="_zZY2AH-MEeSvcM-kBpd7hg" name="revenu">
1316 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1317 </ownedParameter>
1318 </ownedOperation>
1319 <ownedOperation xmi:type="uml:Operation" xmi:id="_AxdqYH-NEeSvcM-kBpd7hg" name="get_B_for_salary_class_1A">
1320 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KVbPwH-UEeS7YrVIFIBXnQ" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1321 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LsqvgH-UEeS7YrVIFIBXnQ" key="body" value="if(revenu&lt;= 1960) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 2065) then 235.5&#xA;&#x9;&#x9;else if(revenu &lt;= 2170) then 297.555&#xA;&#x9;&#x9;else if(revenu &lt;= 2280) then 362.79&#xA;&#x9;&#x9;else if(revenu &lt;= 2385) then 431.205&#xA;&#x9;&#x9;else if(revenu &lt;= 2490) then 502.8&#xA;&#x9;&#x9;else if(revenu &lt;= 2595) then 577.575&#xA;&#x9;&#x9;else if(revenu &lt;= 2700) then 655.53&#xA;&#x9;&#x9;else if(revenu &lt;= 2810) then 736.665&#xA;&#x9;&#x9;else if(revenu &lt;= 2915) then 820.98&#xA;&#x9;&#x9;else if(revenu &lt;= 3020) then 908.475&#xA;&#x9;&#x9;else 938.7&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; &#x9;&#x9;endif"/>
1322 </eAnnotations>
1323 <ownedParameter xmi:type="uml:Parameter" xmi:id="_lh4eMH-NEeSCSdACpDfnSA" direction="return">
1324 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1325 </ownedParameter>
1326 <ownedParameter xmi:type="uml:Parameter" xmi:id="_oBhJYH-NEeSCSdACpDfnSA" name="revenu">
1327 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1328 </ownedParameter>
1329 </ownedOperation>
1330 <ownedOperation xmi:type="uml:Operation" xmi:id="_tm-9EH-NEeSCSdACpDfnSA" name="get_A_for_salary_class_2">
1331 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_V8W2oH-UEeS7YrVIFIBXnQ" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1332 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XHtPcH-UEeS7YrVIFIBXnQ" key="body" value="if(revenu&lt;= 1960) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 2280) then 0.08&#xA;&#x9;&#x9;else if(revenu &lt;= 2595) then 0.1&#xA;&#x9;&#x9;else if(revenu &lt;= 2915) then 0.12&#xA;&#x9;&#x9;else if(revenu &lt;= 3230) then 0.14&#xA;&#x9;&#x9;else if(revenu &lt;= 3550) then 0.16&#xA;&#x9;&#x9;else if(revenu &lt;= 3870) then 0.18&#xA;&#x9;&#x9;else if(revenu &lt;= 4185) then 0.2&#xA;&#x9;&#x9;else if(revenu &lt;= 4505) then 0.22&#xA;&#x9;&#x9;else if(revenu &lt;= 4820) then 0.24&#xA;&#x9;&#x9;else if(revenu &lt;= 5140) then 0.26&#xA;&#x9;&#x9;else if(revenu &lt;= 5460) then 0.28&#xA;&#x9;&#x9;else if(revenu &lt;= 5775) then 0.3&#xA;&#x9;&#x9;else if(revenu &lt;= 6095) then 0.32&#xA;&#x9;&#x9;else if(revenu &lt;= 6410) then 0.34&#xA;&#x9;&#x9;else if(revenu &lt;= 6730) then 0.36&#xA;&#x9;&#x9;else if(revenu &lt;= 7050) then 0.38&#xA;&#x9;&#x9;else if(revenu &lt;= 16750) then 0.39&#xA;&#x9;&#x9;else 0.4&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
1333 </eAnnotations>
1334 <ownedParameter xmi:type="uml:Parameter" xmi:id="_xu1jQH-NEeSCSdACpDfnSA" direction="return">
1335 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1336 </ownedParameter>
1337 <ownedParameter xmi:type="uml:Parameter" xmi:id="_6t_2oH-NEeSCSdACpDfnSA" name="revenu">
1338 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1339 </ownedParameter>
1340 </ownedOperation>
1341 <ownedOperation xmi:type="uml:Operation" xmi:id="_-VPDEH-NEeSCSdACpDfnSA" name="get_B_for_salary_class_2">
1342 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jitXkH-UEeS7YrVIFIBXnQ" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1343 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kjv90H-UEeS7YrVIFIBXnQ" key="body" value="if(revenu&lt;= 1960) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 2280) then 157&#xA;&#x9;&#x9;else if(revenu &lt;= 2595) then 202.61&#xA;&#x9;&#x9;else if(revenu &lt;= 2915) then 254.58&#xA;&#x9;&#x9;else if(revenu &lt;= 3230) then 312.91&#xA;&#x9;&#x9;else if(revenu &lt;= 3550) then 377.6&#xA;&#x9;&#x9;else if(revenu &lt;= 3870) then 448.65&#xA;&#x9;&#x9;else if(revenu &lt;= 4185) then 526.06&#xA;&#x9;&#x9;else if(revenu &lt;= 4505) then 609.83&#xA;&#x9;&#x9;else if(revenu &lt;= 4820) then 699.96&#xA;&#x9;&#x9;else if(revenu &lt;= 5140) then 796.45&#xA;&#x9;&#x9;else if(revenu &lt;= 5460) then 899.3&#xA;&#x9;&#x9;else if(revenu &lt;= 5775) then 1008.51&#xA;&#x9;&#x9;else if(revenu &lt;= 6095) then 1124.08&#xA;&#x9;&#x9;else if(revenu &lt;= 6410) then 1246.01&#xA;&#x9;&#x9;else if(revenu &lt;= 6730) then 1374.3&#xA;&#x9;&#x9;else if(revenu &lt;= 7050) then 1508.95&#xA;&#x9;&#x9;else if(revenu &lt;= 16750) then 1579.455&#xA;&#x9;&#x9;else 1746.97166&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
1344 </eAnnotations>
1345 <ownedParameter xmi:type="uml:Parameter" xmi:id="_Es694H-OEeSCSdACpDfnSA" direction="return">
1346 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1347 </ownedParameter>
1348 <ownedParameter xmi:type="uml:Parameter" xmi:id="_GYRFYH-OEeSCSdACpDfnSA" name="revenu">
1349 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1350 </ownedParameter>
1351 </ownedOperation>
1352 <ownedOperation xmi:type="uml:Operation" xmi:id="_ILL0gH-OEeSCSdACpDfnSA" name="get_A_for_pension_class_1">
1353 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_obMwgH-UEeS7YrVIFIBXnQ" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1354 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_p3wOEH-UEeS7YrVIFIBXnQ" key="body" value="if(revenu&lt;= 1000) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 1160) then 0.08&#xA;&#x9;&#x9;else if(revenu &lt;= 1320) then 0.1&#xA;&#x9;&#x9;else if(revenu &lt;= 1480) then 0.12&#xA;&#x9;&#x9;else if(revenu &lt;= 1635) then 0.14&#xA;&#x9;&#x9;else if(revenu &lt;= 1795) then 0.16&#xA;&#x9;&#x9;else if(revenu &lt;= 1955) then 0.18&#xA;&#x9;&#x9;else if(revenu &lt;= 2115) then 0.2&#xA;&#x9;&#x9;else if(revenu &lt;= 2275) then 0.22&#xA;&#x9;&#x9;else if(revenu &lt;= 2430) then 0.24&#xA;&#x9;&#x9;else if(revenu &lt;= 2590) then 0.26&#xA;&#x9;&#x9;else if(revenu &lt;= 2750) then 0.28&#xA;&#x9;&#x9;else if(revenu &lt;= 2910) then 0.3&#xA;&#x9;&#x9;else if(revenu &lt;= 3070) then 0.32&#xA;&#x9;&#x9;else if(revenu &lt;= 3225) then 0.34&#xA;&#x9;&#x9;else if(revenu &lt;= 3385) then 0.36&#xA;&#x9;&#x9;else if(revenu &lt;= 3545) then 0.38&#xA;&#x9;&#x9;else if(revenu &lt;= 8395) then 0.39&#xA;&#x9;&#x9;else 0.4&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
1355 </eAnnotations>
1356 <ownedParameter xmi:type="uml:Parameter" xmi:id="_NjpG8H-OEeSCSdACpDfnSA" direction="return">
1357 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1358 </ownedParameter>
1359 <ownedParameter xmi:type="uml:Parameter" xmi:id="_O_ey0H-OEeSCSdACpDfnSA" name="revenu">
1360 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1361 </ownedParameter>
1362 </ownedOperation>
1363 <ownedOperation xmi:type="uml:Operation" xmi:id="_ROtqgH-OEeSCSdACpDfnSA" name="get_B_for_pension_class_1">
1364 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tuyKAH-UEeS7YrVIFIBXnQ" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1365 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_u1q5kH-UEeS7YrVIFIBXnQ" key="body" value="if(revenu&lt;= 1000) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 1160) then 80.3&#xA;&#x9;&#x9;else if(revenu &lt;= 1320) then 103.555&#xA;&#x9;&#x9;else if(revenu &lt;= 1480) then 129.99&#xA;&#x9;&#x9;else if(revenu &lt;= 1635) then 159.605&#xA;&#x9;&#x9;else if(revenu &lt;= 1795) then 192.4&#xA;&#x9;&#x9;else if(revenu &lt;= 1955) then 228.375&#xA;&#x9;&#x9;else if(revenu &lt;= 2115) then 267.53&#xA;&#x9;&#x9;else if(revenu &lt;= 2275) then 309.865&#xA;&#x9;&#x9;else if(revenu &lt;= 2430) then 355.38&#xA;&#x9;&#x9;else if(revenu &lt;= 2590) then 404.075&#xA;&#x9;&#x9;else if(revenu &lt;= 2750) then 455.95&#xA;&#x9;&#x9;else if(revenu &lt;= 2910) then 511.005&#xA;&#x9;&#x9;else if(revenu &lt;= 3070) then 569.24&#xA;&#x9;&#x9;else if(revenu &lt;= 3225) then 630.655&#xA;&#x9;&#x9;else if(revenu &lt;= 3385) then 695.25&#xA;&#x9;&#x9;else if(revenu &lt;= 3545) then 763.025&#xA;&#x9;&#x9;else if(revenu &lt;= 8395) then 798.5025&#xA;&#x9;&#x9;else 882.48583&#x9;&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
1366 </eAnnotations>
1367 <ownedParameter xmi:type="uml:Parameter" xmi:id="_UgjOsH-OEeSCSdACpDfnSA" direction="return">
1368 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1369 </ownedParameter>
1370 <ownedParameter xmi:type="uml:Parameter" xmi:id="_aPaO8H-OEeSCSdACpDfnSA" name="revenu">
1371 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1372 </ownedParameter>
1373 </ownedOperation>
1374 <ownedOperation xmi:type="uml:Operation" xmi:id="_c6R5wH-OEeSCSdACpDfnSA" name="get_A_for_pension_class_1A">
1375 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6dkJwH-UEeS7YrVIFIBXnQ" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1376 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8OetwH-UEeS7YrVIFIBXnQ" key="body" value="if(revenu&lt;= 1940) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 2045) then 0.12&#xA;&#x9;&#x9;else if(revenu &lt;= 2150) then 0.15&#xA;&#x9;&#x9;else if(revenu &lt;= 2260) then 0.18&#xA;&#x9;&#x9;else if(revenu &lt;= 2365) then 0.21&#xA;&#x9;&#x9;else if(revenu &lt;= 2470) then 0.24&#xA;&#x9;&#x9;else if(revenu &lt;= 2575) then 0.27&#xA;&#x9;&#x9;else if(revenu &lt;= 2680) then 0.3&#xA;&#x9;&#x9;else if(revenu &lt;= 2790) then 0.33&#xA;&#x9;&#x9;else if(revenu &lt;= 2895) then 0.36&#xA;&#x9;&#x9;else if(revenu &lt;= 3000) then 0.39&#xA;&#x9;&#x9;else 0.4&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
1377 </eAnnotations>
1378 <ownedParameter xmi:type="uml:Parameter" xmi:id="_f-B-oH-OEeSCSdACpDfnSA" direction="return">
1379 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1380 </ownedParameter>
1381 <ownedParameter xmi:type="uml:Parameter" xmi:id="_hdgNUH-OEeSCSdACpDfnSA" name="revenu">
1382 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1383 </ownedParameter>
1384 </ownedOperation>
1385 <ownedOperation xmi:type="uml:Operation" xmi:id="_jsOusH-OEeSCSdACpDfnSA" name="get_B_for_pension_class_1A">
1386 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AXUycH-VEeS7YrVIFIBXnQ" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1387 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BnkSUH-VEeS7YrVIFIBXnQ" key="body" value="if(revenu&lt;= 1940) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 2045) then 233.100&#xA;&#x9;&#x9;else if(revenu &lt;= 2150) then 294.555&#xA;&#x9;&#x9;else if(revenu &lt;= 2260) then 359.190&#xA;&#x9;&#x9;else if(revenu &lt;= 2365) then 427.005&#xA;&#x9;&#x9;else if(revenu &lt;= 2470) then 498&#xA;&#x9;&#x9;else if(revenu &lt;= 2575) then 572.175&#xA;&#x9;&#x9;else if(revenu &lt;= 2680) then 649.53&#xA;&#x9;&#x9;else if(revenu &lt;= 2790) then 730.065&#xA;&#x9;&#x9;else if(revenu &lt;= 2895) then 813.780&#xA;&#x9;&#x9;else if(revenu &lt;= 3000) then 900.675&#xA;&#x9;&#x9;else 930.700&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
1388 </eAnnotations>
1389 <ownedParameter xmi:type="uml:Parameter" xmi:id="_mYT6cH-OEeSCSdACpDfnSA" direction="return">
1390 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1391 </ownedParameter>
1392 <ownedParameter xmi:type="uml:Parameter" xmi:id="_num_AH-OEeSCSdACpDfnSA" name="revenu">
1393 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1394 </ownedParameter>
1395 </ownedOperation>
1396 <ownedOperation xmi:type="uml:Operation" xmi:id="_NsMwkH-PEeSJlstZl0yjnQ" name="get_A_for_pension_class_2">
1397 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DlLOgH-VEeS7YrVIFIBXnQ" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1398 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZnOwcH-VEeS7YrVIFIBXnQ" key="body" value="if(revenu&lt;= 1940) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 2260) then 0.08&#xA;&#x9;&#x9;else if(revenu &lt;= 2575) then 0.1&#xA;&#x9;&#x9;else if(revenu &lt;= 2895) then 0.12&#xA;&#x9;&#x9;else if(revenu &lt;= 3210) then 0.14&#xA;&#x9;&#x9;else if(revenu &lt;= 3530) then 0.16&#xA;&#x9;&#x9;else if(revenu &lt;= 3850) then 0.18&#xA;&#x9;&#x9;else if(revenu &lt;= 4165) then 0.2&#xA;&#x9;&#x9;else if(revenu &lt;= 4485) then 0.22&#xA;&#x9;&#x9;else if(revenu &lt;= 4800) then 0.24&#xA;&#x9;&#x9;else if(revenu &lt;= 5120) then 0.26&#xA;&#x9;&#x9;else if(revenu &lt;= 5440) then 0.28&#xA;&#x9;&#x9;else if(revenu &lt;= 5755) then 0.3&#xA;&#x9;&#x9;else if(revenu &lt;= 6075) then 0.32&#xA;&#x9;&#x9;else if(revenu &lt;= 6390) then 0.34&#xA;&#x9;&#x9;else if(revenu &lt;= 6710) then 0.36&#xA;&#x9;&#x9;else if(revenu &lt;= 7030) then 0.38&#xA;&#x9;&#x9;else if(revenu &lt;= 16730) then 0.39&#xA;&#x9;&#x9;else 0.4&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
1399 </eAnnotations>
1400 <ownedParameter xmi:type="uml:Parameter" xmi:id="_RRI28H-PEeSJlstZl0yjnQ" direction="return">
1401 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1402 </ownedParameter>
1403 <ownedParameter xmi:type="uml:Parameter" xmi:id="_Sp714H-PEeSJlstZl0yjnQ" name="revenu">
1404 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1405 </ownedParameter>
1406 </ownedOperation>
1407 <ownedOperation xmi:type="uml:Operation" xmi:id="_U4mF0H-PEeSJlstZl0yjnQ" name="get_B_for_pension_class_2">
1408 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_E7tjoH-VEeS7YrVIFIBXnQ" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1409 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Y7XI8H-VEeS7YrVIFIBXnQ" key="body" value="if(revenu&lt;= 1940) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 2260) then 155.4&#xA;&#x9;&#x9;else if(revenu &lt;= 2575) then 200.61&#xA;&#x9;&#x9;else if(revenu &lt;= 2895) then 252.18&#xA;&#x9;&#x9;else if(revenu &lt;= 3210) then 310.11&#xA;&#x9;&#x9;else if(revenu &lt;= 3530) then 374.4&#xA;&#x9;&#x9;else if(revenu &lt;= 3850) then 445.05&#xA;&#x9;&#x9;else if(revenu &lt;= 4165) then 522.06&#xA;&#x9;&#x9;else if(revenu &lt;= 4485) then 605.43&#xA;&#x9;&#x9;else if(revenu &lt;= 4800) then 695.16&#xA;&#x9;&#x9;else if(revenu &lt;= 5120) then 791.25&#xA;&#x9;&#x9;else if(revenu &lt;= 5440) then 893.7&#xA;&#x9;&#x9;else if(revenu &lt;= 5755) then 1002.51&#xA;&#x9;&#x9;else if(revenu &lt;= 6075) then 1117.68&#xA;&#x9;&#x9;else if(revenu &lt;= 6390) then 1239.21&#xA;&#x9;&#x9;else if(revenu &lt;= 6710) then 1367.1&#xA;&#x9;&#x9;else if(revenu &lt;= 7030) then 1501.35&#xA;&#x9;&#x9;else if(revenu &lt;= 16730) then 1571.655&#xA;&#x9;&#x9;else 1738.97166&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
1410 </eAnnotations>
1411 <ownedParameter xmi:type="uml:Parameter" xmi:id="_XRUQsH-PEeSJlstZl0yjnQ" direction="return">
1412 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1413 </ownedParameter>
1414 <ownedParameter xmi:type="uml:Parameter" xmi:id="_aly5MH-PEeSJlstZl0yjnQ" name="revenu">
1415 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1416 </ownedParameter>
1417 </ownedOperation>
1418 <ownedOperation xmi:type="uml:Operation" xmi:id="_mYK7EH-PEeSJlstZl0yjnQ" name="get_A_for_other_yearly_class_1">
1419 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_F8K7EH-VEeS7YrVIFIBXnQ" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1420 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_YRCZkH-VEeS7YrVIFIBXnQ" key="body" value=" if(revenu&lt;= 11250) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 13150) then 0.08&#xA;&#x9;&#x9;else if(revenu &lt;= 15050) then 0.1&#xA;&#x9;&#x9;else if(revenu &lt;= 16950) then 0.12&#xA;&#x9;&#x9;else if(revenu &lt;= 18850) then 0.14&#xA;&#x9;&#x9;else if(revenu &lt;= 20800) then 0.16&#xA;&#x9;&#x9;else if(revenu &lt;= 22700) then 0.18&#xA;&#x9;&#x9;else if(revenu &lt;= 24600) then 0.2&#xA;&#x9;&#x9;else if(revenu &lt;= 26500) then 0.22&#xA;&#x9;&#x9;else if(revenu &lt;= 28400) then 0.24&#xA;&#x9;&#x9;else if(revenu &lt;= 30300) then 0.26&#xA;&#x9;&#x9;else if(revenu &lt;= 32250) then 0.28&#xA;&#x9;&#x9;else if(revenu &lt;= 34150) then 0.3&#xA;&#x9;&#x9;else if(revenu &lt;= 36050) then 0.32&#xA;&#x9;&#x9;else if(revenu &lt;= 37950) then 0.34&#xA;&#x9;&#x9;else if(revenu &lt;= 39850) then 0.36&#xA;&#x9;&#x9;else if(revenu &lt;= 41750) then 0.38&#xA;&#x9;&#x9;else if(revenu &lt;= 100000) then 0.39&#xA;&#x9;&#x9;else 0.4&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
1421 </eAnnotations>
1422 <ownedParameter xmi:type="uml:Parameter" xmi:id="_pF00IH-PEeSJlstZl0yjnQ" direction="return">
1423 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1424 </ownedParameter>
1425 <ownedParameter xmi:type="uml:Parameter" xmi:id="_zNKbEH-QEeSipvspW3BzGA" name="revenu">
1426 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1427 </ownedParameter>
1428 </ownedOperation>
1429 <ownedOperation xmi:type="uml:Operation" xmi:id="_62GiYH-QEeSipvspW3BzGA" name="get_B_for_other_yearly_class_1">
1430 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G-WJwH-VEeS7YrVIFIBXnQ" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1431 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Xqc6sH-VEeS7YrVIFIBXnQ" key="body" value="if(revenu&lt;= 11250) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 13150) then 901.200 &#xA;&#x9;&#x9;else if(revenu &lt;= 15050) then 1164.660&#xA;&#x9;&#x9;else if(revenu &lt;= 16950) then 1466.280&#xA;&#x9;&#x9;else if(revenu &lt;= 18850) then 1806.060&#xA;&#x9;&#x9;else if(revenu &lt;= 20800) then 2184&#xA;&#x9;&#x9;else if(revenu &lt;= 22700) then 2600.100&#xA;&#x9;&#x9;else if(revenu &lt;= 24600) then 3054.360&#xA;&#x9;&#x9;else if(revenu &lt;= 26500) then 3546.780 &#xA;&#x9;&#x9;else if(revenu &lt;= 28400) then 4077.360&#xA;&#x9;&#x9;else if(revenu &lt;= 30300) then 4646.100&#xA;&#x9;&#x9;else if(revenu &lt;= 32250) then 5253&#xA;&#x9;&#x9;else if(revenu &lt;= 34150) then 5898.060&#xA;&#x9;&#x9;else if(revenu &lt;= 36050) then 6581.28&#xA;&#x9;&#x9;else if(revenu &lt;= 37950) then 7302.66&#xA;&#x9;&#x9;else if(revenu &lt;= 39850) then 8062.2&#xA;&#x9;&#x9;else if(revenu &lt;= 41750) then 8859.9&#xA;&#x9;&#x9;else if(revenu &lt;= 100000) then 9277.83&#xA;&#x9;&#x9;else 10277.83&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
1432 </eAnnotations>
1433 <ownedParameter xmi:type="uml:Parameter" xmi:id="_9UmlIH-QEeSipvspW3BzGA" direction="return">
1434 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1435 </ownedParameter>
1436 <ownedParameter xmi:type="uml:Parameter" xmi:id="__BDf4H-QEeSipvspW3BzGA" name="revenu">
1437 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1438 </ownedParameter>
1439 </ownedOperation>
1440 <ownedOperation xmi:type="uml:Operation" xmi:id="__11LwH-QEeSipvspW3BzGA" name="get_A_for_other_yearly_class_1A">
1441 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_H5BCQH-VEeS7YrVIFIBXnQ" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1442 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XEo34H-VEeS7YrVIFIBXnQ" key="body" value="if(revenu&lt;=22500) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 23800) then 0.12&#xA;&#x9;&#x9;else if(revenu &lt;= 25050) then 0.15&#xA;&#x9;&#x9;else if(revenu &lt;= 26300) then 0.18&#xA;&#x9;&#x9;else if(revenu &lt;= 27600) then 0.21&#xA;&#x9;&#x9;else if(revenu &lt;= 28850) then 0.24&#xA;&#x9;&#x9;else if(revenu &lt;= 30150) then 0.27&#xA;&#x9;&#x9;else if(revenu &lt;= 31400) then 0.3&#xA;&#x9;&#x9;else if(revenu &lt;= 32700) then 0.33&#xA;&#x9;&#x9;else if(revenu &lt;= 33950) then 0.36&#xA;&#x9;&#x9;else if(revenu &lt;= 35250) then 0.39&#xA;&#x9;&#x9;else 0.4&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
1443 </eAnnotations>
1444 <ownedParameter xmi:type="uml:Parameter" xmi:id="_FvcqgH-REeSipvspW3BzGA" direction="return">
1445 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1446 </ownedParameter>
1447 <ownedParameter xmi:type="uml:Parameter" xmi:id="_tpBAkH-REeS7YrVIFIBXnQ" name="revenu">
1448 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1449 </ownedParameter>
1450 </ownedOperation>
1451 <ownedOperation xmi:type="uml:Operation" xmi:id="_JT3zgH-REeSipvspW3BzGA" name="get_B_for_other_yearly_class_1A">
1452 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_IzJIMH-VEeS7YrVIFIBXnQ" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1453 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WgisUH-VEeS7YrVIFIBXnQ" key="body" value="if(revenu&lt;=22500) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 23800) then 2703.600&#xA;&#x9;&#x9;else if(revenu &lt;= 25050) then 3417.660&#xA;&#x9;&#x9;else if(revenu &lt;= 26300) then 4169.880&#xA;&#x9;&#x9;else if(revenu &lt;= 27600) then 4960.260&#xA;&#x9;&#x9;else if(revenu &lt;= 28850) then 5788.800&#xA;&#x9;&#x9;else if(revenu &lt;= 30150) then 6655.500&#xA;&#x9;&#x9;else if(revenu &lt;= 31400) then 7560.360&#xA;&#x9;&#x9;else if(revenu &lt;= 32700) then 8503.380&#xA;&#x9;&#x9;else if(revenu &lt;= 33950) then 9484.560&#xA;&#x9;&#x9;else if(revenu &lt;= 35250) then 10503.900&#xA;&#x9;&#x9;else 10856.400&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
1454 </eAnnotations>
1455 <ownedParameter xmi:type="uml:Parameter" xmi:id="_vnOZsH-REeS7YrVIFIBXnQ" direction="return">
1456 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1457 </ownedParameter>
1458 <ownedParameter xmi:type="uml:Parameter" xmi:id="_7SiKQH-REeS7YrVIFIBXnQ" name="revenu">
1459 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1460 </ownedParameter>
1461 </ownedOperation>
1462 <ownedOperation xmi:type="uml:Operation" xmi:id="_OMP3sH-REeSipvspW3BzGA" name="get_A_for_other_yearly_class_2">
1463 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_J37mAH-VEeS7YrVIFIBXnQ" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1464 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VvWf8H-VEeS7YrVIFIBXnQ" key="body" value="if(revenu&lt;=22500) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 26300) then 0.08&#xA;&#x9;&#x9;else if(revenu &lt;= 30150) then 0.1&#xA;&#x9;&#x9;else if(revenu &lt;= 33950) then 0.12&#xA;&#x9;&#x9;else if(revenu &lt;= 37750) then 0.14&#xA;&#x9;&#x9;else if(revenu &lt;= 41600) then 0.16&#xA;&#x9;&#x9;else if(revenu &lt;= 45400) then 0.18&#xA;&#x9;&#x9;else if(revenu &lt;= 49200) then 0.2&#xA;&#x9;&#x9;else if(revenu &lt;= 53050) then 0.22&#xA;&#x9;&#x9;else if(revenu &lt;= 56850) then 0.24&#xA;&#x9;&#x9;else if(revenu &lt;= 60650) then 0.26&#xA;&#x9;&#x9;else if(revenu &lt;= 64500) then 0.28&#xA;&#x9;&#x9;else if(revenu &lt;= 68300) then 0.3&#xA;&#x9;&#x9;else if(revenu &lt;= 72100) then 0.32&#xA;&#x9;&#x9;else if(revenu &lt;= 75950) then 0.34&#xA;&#x9;&#x9;else if(revenu &lt;= 79750) then 0.36&#xA;&#x9;&#x9;else if(revenu &lt;= 83550) then 0.38&#xA;&#x9;&#x9;else if(revenu &lt;= 200000) then 0.39&#xA;&#x9;&#x9;else 0.4&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
1465 </eAnnotations>
1466 <ownedParameter xmi:type="uml:Parameter" xmi:id="_xh-2MH-REeS7YrVIFIBXnQ" direction="return">
1467 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1468 </ownedParameter>
1469 <ownedParameter xmi:type="uml:Parameter" xmi:id="_9G4cwH-REeS7YrVIFIBXnQ" name="revenu">
1470 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1471 </ownedParameter>
1472 </ownedOperation>
1473 <ownedOperation xmi:type="uml:Operation" xmi:id="_SPPzEH-REeSipvspW3BzGA" name="get_B_for_other_yearly_class_2">
1474 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KyXN8H-VEeS7YrVIFIBXnQ" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1475 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VAfO0H-VEeS7YrVIFIBXnQ" key="body" value="if(revenu&lt;=22500) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 26300) then 1802.400 &#xA;&#x9;&#x9;else if(revenu &lt;= 30150) then 2329.320&#xA;&#x9;&#x9;else if(revenu &lt;= 33950) then 2932.560&#xA;&#x9;&#x9;else if(revenu &lt;= 37750) then 3612.120&#xA;&#x9;&#x9;else if(revenu &lt;= 41600) then 4368.000&#xA;&#x9;&#x9;else if(revenu &lt;= 45400) then 5200.200&#xA;&#x9;&#x9;else if(revenu &lt;= 49200) then 6108.720&#xA;&#x9;&#x9;else if(revenu &lt;= 53050) then 7093.560&#xA;&#x9;&#x9;else if(revenu &lt;= 56850) then 8154.720&#xA;&#x9;&#x9;else if(revenu &lt;= 60650) then 9292.200&#xA;&#x9;&#x9;else if(revenu &lt;= 64500) then 10506.000&#xA;&#x9;&#x9;else if(revenu &lt;= 68300) then 11796.120&#xA;&#x9;&#x9;else if(revenu &lt;= 72100) then 13162.560&#xA;&#x9;&#x9;else if(revenu &lt;= 75950) then 14605.320&#xA;&#x9;&#x9;else if(revenu &lt;= 79750) then 16124.400&#xA;&#x9;&#x9;else if(revenu &lt;= 83550) then 17719.800&#xA;&#x9;&#x9;else if(revenu &lt;= 200000) then 18555.660&#xA;&#x9;&#x9;else 20555.660&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
1476 </eAnnotations>
1477 <ownedParameter xmi:type="uml:Parameter" xmi:id="_zEvpcH-REeS7YrVIFIBXnQ" direction="return">
1478 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1479 </ownedParameter>
1480 <ownedParameter xmi:type="uml:Parameter" xmi:id="_-ekocH-REeS7YrVIFIBXnQ" name="revenu">
1481 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1482 </ownedParameter>
1483 </ownedOperation>
1484 <ownedOperation xmi:type="uml:Operation" xmi:id="_Z4wiIH-REeSipvspW3BzGA" name="calculate_taxes_per_month">
1485 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Ln3SkH-VEeS7YrVIFIBXnQ" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1486 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Tq-NYH-VEeS7YrVIFIBXnQ" key="body" value="if(income_type='Employment') then&#xA;&#x9;&#x9;&#x9;let a:Real = if(classe=Tax_Class_Category::One_A) then get_A_for_salary_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_A_for_salary_class_2(amount) else get_A_for_salary_class_1(amount) endif endif in&#xA;&#x9;&#x9;&#x9;let b:Real = if(classe=Tax_Class_Category::One_A) then get_B_for_salary_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_B_for_salary_class_2(amount) else get_B_for_salary_class_1(amount) endif endif in&#xA;&#x9;&#x9; let res:Real = round_ten_cent(a * amount - b) in&#xA; let max:Real = if(classe=Tax_Class_Category::Two) then 25085 else 12585 endif in&#xA; &#xA;&#x9;&#x9; if(amount&lt;max) then&#xA;&#x9;&#x9; let final_res:Real= round_ten_cent(res*1.07) in&#xA;&#x9;&#x9; if(final_res&lt;1)then&#xA;&#x9;&#x9; 0&#xA;&#x9;&#x9; else&#xA;&#x9;&#x9; final_res&#xA;&#x9;&#x9; endif&#xA;&#x9;&#x9; else &#xA;&#x9;&#x9; let adjustement:Real= if(classe=Tax_Class_Category::One_A) then 81.906 else if(classe=Tax_Class_Category::Two) then 165.74 else 82.87 endif endif in&#xA;&#x9;&#x9; &#x9;let final_res:Real= round_ten_cent(res + (res*0.09-adjustement)) in&#xA;&#x9;&#x9; &#x9;if(final_res&lt;1)then&#xA;&#x9;&#x9; 0&#xA;&#x9;&#x9; else&#xA;&#x9;&#x9; final_res&#xA;&#x9;&#x9; endif&#xA;&#x9;&#x9; endif&#xA;&#x9;&#x9; &#xA;&#x9;&#x9; &#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;if(income_type='Pension') then&#xA;&#x9;&#x9;&#x9;let a:Real = if(classe=Tax_Class_Category::One_A) then get_A_for_pension_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_A_for_pension_class_2(amount) else get_A_for_pension_class_1(amount) endif endif in&#xA;&#x9;&#x9;&#x9;let b:Real = if(classe=Tax_Class_Category::One_A) then get_B_for_pension_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_B_for_pension_class_2(amount) else get_B_for_pension_class_1(amount) endif endif in&#xA;&#x9;&#x9; let res:Real = round_ten_cent(a * amount - b) in&#xA;&#x9;&#x9; let max:Real = if(classe=Tax_Class_Category::Two) then 25065 else 12565 endif in&#xA; &#xA;&#x9;&#x9; if(amount&lt;max) then&#xA;&#x9;&#x9; let final_res:Real= round_ten_cent(res*1.07) in&#xA;&#x9;&#x9; if(final_res&lt;1)then&#xA;&#x9;&#x9; 0&#xA;&#x9;&#x9; else&#xA;&#x9;&#x9; final_res&#xA;&#x9;&#x9; endif&#xA;&#x9;&#x9; else &#xA;&#x9;&#x9; let adjustement:Real= if(classe=Tax_Class_Category::One_A) then 81.906 else if(classe=Tax_Class_Category::Two) then 165.74 else 82.87 endif endif in&#xA;&#x9;&#x9; &#x9;let final_res:Real= round_ten_cent(res + (res*0.09-adjustement)) in&#xA;&#x9;&#x9; &#x9;if(final_res&lt;1)then&#xA;&#x9;&#x9; 0&#xA;&#x9;&#x9; else&#xA;&#x9;&#x9; final_res&#xA;&#x9;&#x9; endif&#xA;&#x9;&#x9; endif&#x9;&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;-1&#xA;&#x9;&#x9;&#x9;endif&#xA;&#x9;&#x9;&#x9;endif"/>
1487 </eAnnotations>
1488 <ownedParameter xmi:type="uml:Parameter" xmi:id="_0rCR0H-REeS7YrVIFIBXnQ" direction="return">
1489 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1490 </ownedParameter>
1491 <ownedParameter xmi:type="uml:Parameter" xmi:id="_HnAzoH-SEeS7YrVIFIBXnQ" name="amount">
1492 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1493 </ownedParameter>
1494 <ownedParameter xmi:type="uml:Parameter" xmi:id="_M_PckH-SEeS7YrVIFIBXnQ" name="classe" type="Tax_Class_Category"/>
1495 <ownedParameter xmi:type="uml:Parameter" xmi:id="_Q9sPIH-SEeS7YrVIFIBXnQ" name="income_type">
1496 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
1497 </ownedParameter>
1498 </ownedOperation>
1499 <ownedOperation xmi:type="uml:Operation" xmi:id="_eU-OwH-REeSipvspW3BzGA" name="round_lower_euros">
1500 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ORMFQH-VEeS7YrVIFIBXnQ" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1501 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_S6kEIH-VEeS7YrVIFIBXnQ" key="body" value="let p1:Integer = amount.floor() in&#xA;&#x9;&#x9;&#x9;p1.toString().toReal()"/>
1502 </eAnnotations>
1503 <ownedParameter xmi:type="uml:Parameter" xmi:id="_2746IH-REeS7YrVIFIBXnQ" direction="return">
1504 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1505 </ownedParameter>
1506 <ownedParameter xmi:type="uml:Parameter" xmi:id="_EU14QH-SEeS7YrVIFIBXnQ" name="amount">
1507 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1508 </ownedParameter>
1509 </ownedOperation>
1510 <ownedOperation xmi:type="uml:Operation" xmi:id="_gyPicH-REeSipvspW3BzGA" name="round_ten_cent">
1511 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_P0mYwH-VEeS7YrVIFIBXnQ" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1512 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RrwHoH-VEeS7YrVIFIBXnQ" key="body" value="let p1:Integer = amount.floor() in&#xA;&#x9;&#x9;&#x9;if(p1=amount) then&#xA;&#x9;&#x9;&#x9;amount&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;let p2_temp:Real = (amount-p1) * 10 in&#xA;&#x9;&#x9;&#x9;let p2:Integer = p2_temp.floor() in&#xA;&#x9;&#x9;&#x9;p1.toString().toReal()+(p2.toString().toReal()/10.0)&#xA;&#x9;&#x9;&#x9;endif"/>
1513 </eAnnotations>
1514 <ownedParameter xmi:type="uml:Parameter" xmi:id="_449q0H-REeS7YrVIFIBXnQ" direction="return">
1515 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1516 </ownedParameter>
1517 <ownedParameter xmi:type="uml:Parameter" xmi:id="_C2OlMH-SEeS7YrVIFIBXnQ" name="amount">
1518 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1519 </ownedParameter>
1520 </ownedOperation>
1521 <ownedOperation xmi:type="uml:Operation" xmi:id="_UcdfMIBaEeSS--Tr1brRQQ" name="get_A_for_salary_yearly_class_1">
1522 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_72KM8IBbEeSS--Tr1brRQQ" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1523 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KA83sIBcEeSS--Tr1brRQQ" key="body" value="if(revenu&lt;= 12250) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 14150) then 0.08&#xA;&#x9;&#x9;else if(revenu &lt;= 16100) then 0.1&#xA;&#x9;&#x9;else if(revenu &lt;= 18000) then 0.12&#xA;&#x9;&#x9;else if(revenu &lt;= 19900) then 0.14&#xA;&#x9;&#x9;else if(revenu &lt;= 21800) then 0.16&#xA;&#x9;&#x9;else if(revenu &lt;= 23700) then 0.18&#xA;&#x9;&#x9;else if(revenu &lt;= 25600) then 0.2&#xA;&#x9;&#x9;else if(revenu &lt;= 27500) then 0.22&#xA;&#x9;&#x9;else if(revenu &lt;= 29450) then 0.24&#xA;&#x9;&#x9;else if(revenu &lt;= 31350) then 0.26&#xA;&#x9;&#x9;else if(revenu &lt;= 33250) then 0.28&#xA;&#x9;&#x9;else if(revenu &lt;= 35150) then 0.3&#xA;&#x9;&#x9;else if(revenu &lt;= 37050) then 0.32&#xA;&#x9;&#x9;else if(revenu &lt;= 38950) then 0.34&#xA;&#x9;&#x9;else if(revenu &lt;= 40900) then 0.36&#xA;&#x9;&#x9;else if(revenu &lt;= 42800) then 0.38&#xA;&#x9;&#x9;else if(revenu &lt;= 101000) then 0.39&#xA;&#x9;&#x9;else 0.4&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
1524 </eAnnotations>
1525 <ownedParameter xmi:type="uml:Parameter" xmi:id="_ECKagIBbEeSS--Tr1brRQQ" direction="return">
1526 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1527 </ownedParameter>
1528 <ownedParameter xmi:type="uml:Parameter" xmi:id="_dITYgIBbEeSS--Tr1brRQQ" name="revenu">
1529 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1530 </ownedParameter>
1531 </ownedOperation>
1532 <ownedOperation xmi:type="uml:Operation" xmi:id="_XDCf4IBaEeSS--Tr1brRQQ" name="get_B_for_salary_yearly_class_1">
1533 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9Q1bMIBbEeSS--Tr1brRQQ" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1534 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KubBsIBcEeSS--Tr1brRQQ" key="body" value="if(revenu&lt;= 12250) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 14150) then 982.8000&#xA;&#x9;&#x9;else if(revenu &lt;= 16100) then 1266.6600&#xA;&#x9;&#x9;else if(revenu &lt;= 18000) then 1588.6800&#xA;&#x9;&#x9;else if(revenu &lt;= 19900) then 1948.8600&#xA;&#x9;&#x9;else if(revenu &lt;= 21800) then 2347.2000&#xA;&#x9;&#x9;else if(revenu &lt;= 23700) then 2783.7000&#xA;&#x9;&#x9;else if(revenu &lt;= 25600) then 3258.3600&#xA;&#x9;&#x9;else if(revenu &lt;= 27500) then 3771.1800&#xA;&#x9;&#x9;else if(revenu &lt;= 29450) then 4322.1600&#xA;&#x9;&#x9;else if(revenu &lt;= 31350) then 4911.3000&#xA;&#x9;&#x9;else if(revenu &lt;= 33250) then 5538.6000&#xA;&#x9;&#x9;else if(revenu &lt;= 35150) then 6204.0600&#xA;&#x9;&#x9;else if(revenu &lt;= 37050) then 6907.6800&#xA;&#x9;&#x9;else if(revenu &lt;= 38950) then 7649.4600&#xA;&#x9;&#x9;else if(revenu &lt;= 40900) then 8429.4000&#xA;&#x9;&#x9;else if(revenu &lt;= 42800) then 9247.5000&#xA;&#x9;&#x9;else if(revenu &lt;= 101000) then 9675.6300&#xA;&#x9;&#x9;else 10685.8300&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
1535 </eAnnotations>
1536 <ownedParameter xmi:type="uml:Parameter" xmi:id="_HEtlgIBbEeSS--Tr1brRQQ" direction="return">
1537 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1538 </ownedParameter>
1539 <ownedParameter xmi:type="uml:Parameter" xmi:id="_ebBkoIBbEeSS--Tr1brRQQ" name="revenu">
1540 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1541 </ownedParameter>
1542 </ownedOperation>
1543 <ownedOperation xmi:type="uml:Operation" xmi:id="_e-hvwIBaEeSS--Tr1brRQQ" name="get_A_for_salary_yearly_class_1A">
1544 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-LMKoIBbEeSS--Tr1brRQQ" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1545 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LOnksIBcEeSS--Tr1brRQQ" key="body" value="if(revenu&lt;= 23500) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 24800) then 0.12&#xA;&#x9;&#x9;else if(revenu &lt;= 26050) then 0.15&#xA;&#x9;&#x9;else if(revenu &lt;= 27350) then 0.18&#xA;&#x9;&#x9;else if(revenu &lt;= 28600) then 0.21&#xA;&#x9;&#x9;else if(revenu &lt;= 29900) then 0.24&#xA;&#x9;&#x9;else if(revenu &lt;= 31150) then 0.27&#xA;&#x9;&#x9;else if(revenu &lt;= 32450) then 0.3&#xA;&#x9;&#x9;else if(revenu &lt;= 33700) then 0.33&#xA;&#x9;&#x9;else if(revenu &lt;= 34950) then 0.36&#xA;&#x9;&#x9;else if(revenu &lt;= 36250) then 0.39&#xA;&#x9;&#x9;else 0.4&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
1546 </eAnnotations>
1547 <ownedParameter xmi:type="uml:Parameter" xmi:id="_I1HMIIBbEeSS--Tr1brRQQ" direction="return">
1548 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1549 </ownedParameter>
1550 <ownedParameter xmi:type="uml:Parameter" xmi:id="_fntaMIBbEeSS--Tr1brRQQ" name="revenu">
1551 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1552 </ownedParameter>
1553 </ownedOperation>
1554 <ownedOperation xmi:type="uml:Operation" xmi:id="_homwYIBaEeSS--Tr1brRQQ" name="get_B_for_salary_yearly_class_1A">
1555 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__N92QIBbEeSS--Tr1brRQQ" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1556 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LxpZQIBcEeSS--Tr1brRQQ" key="body" value="if(revenu&lt;= 23500) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 24800) then 2826.0000&#xA;&#x9;&#x9;else if(revenu &lt;= 26050) then 3570.6600&#xA;&#x9;&#x9;else if(revenu &lt;= 27350) then 4353.4800&#xA;&#x9;&#x9;else if(revenu &lt;= 28600) then 5174.4600&#xA;&#x9;&#x9;else if(revenu &lt;= 29900) then 6033.6000&#xA;&#x9;&#x9;else if(revenu &lt;= 31150) then 6930.9000&#xA;&#x9;&#x9;else if(revenu &lt;= 32450) then 7866.3600&#xA;&#x9;&#x9;else if(revenu &lt;= 33700) then 8839.9800&#xA;&#x9;&#x9;else if(revenu &lt;= 34950) then 9851.7600&#xA;&#x9;&#x9;else if(revenu &lt;= 36250) then 10901.7000&#xA;&#x9;&#x9;else 11264.4000&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
1557 </eAnnotations>
1558 <ownedParameter xmi:type="uml:Parameter" xmi:id="_KZskUIBbEeSS--Tr1brRQQ" direction="return">
1559 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1560 </ownedParameter>
1561 <ownedParameter xmi:type="uml:Parameter" xmi:id="_gxGEIIBbEeSS--Tr1brRQQ" name="revenu">
1562 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1563 </ownedParameter>
1564 </ownedOperation>
1565 <ownedOperation xmi:type="uml:Operation" xmi:id="_j9EtYIBaEeSS--Tr1brRQQ" name="get_A_for_salary_yearly_class_2">
1566 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__83joIBbEeSS--Tr1brRQQ" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1567 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MUrN0IBcEeSS--Tr1brRQQ" key="body" value="if(revenu&lt;= 23550) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 27350) then 0.08&#xA;&#x9;&#x9;else if(revenu &lt;= 31150) then 0.1&#xA;&#x9;&#x9;else if(revenu &lt;= 34950) then 0.12&#xA;&#x9;&#x9;else if(revenu &lt;= 38800) then 0.14&#xA;&#x9;&#x9;else if(revenu &lt;= 42600) then 0.16&#xA;&#x9;&#x9;else if(revenu &lt;= 46400) then 0.18&#xA;&#x9;&#x9;else if(revenu &lt;= 50250) then 0.2&#xA;&#x9;&#x9;else if(revenu &lt;= 54050) then 0.22&#xA;&#x9;&#x9;else if(revenu &lt;= 57850) then 0.24&#xA;&#x9;&#x9;else if(revenu &lt;= 61700) then 0.26&#xA;&#x9;&#x9;else if(revenu &lt;= 65500) then 0.28&#xA;&#x9;&#x9;else if(revenu &lt;= 69300) then 0.3&#xA;&#x9;&#x9;else if(revenu &lt;= 73150) then 0.32&#xA;&#x9;&#x9;else if(revenu &lt;= 76950) then 0.34&#xA;&#x9;&#x9;else if(revenu &lt;= 80750) then 0.36&#xA;&#x9;&#x9;else if(revenu &lt;= 84600) then 0.38&#xA;&#x9;&#x9;else if(revenu &lt;= 201000) then 0.39&#xA;&#x9;&#x9;else 0.4&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
1568 </eAnnotations>
1569 <ownedParameter xmi:type="uml:Parameter" xmi:id="_MFPgIIBbEeSS--Tr1brRQQ" direction="return">
1570 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1571 </ownedParameter>
1572 <ownedParameter xmi:type="uml:Parameter" xmi:id="_iAE_wIBbEeSS--Tr1brRQQ" name="revenu">
1573 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1574 </ownedParameter>
1575 </ownedOperation>
1576 <ownedOperation xmi:type="uml:Operation" xmi:id="_mH8CcIBaEeSS--Tr1brRQQ" name="get_B_for_salary_yearly_class_2">
1577 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_A7GtgIBcEeSS--Tr1brRQQ" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1578 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M3fnAIBcEeSS--Tr1brRQQ" key="body" value=" if(revenu&lt;= 23550) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 27350) then 1884.000&#xA;&#x9;&#x9;else if(revenu &lt;= 31150) then 2431.3200&#xA;&#x9;&#x9;else if(revenu &lt;= 34950) then 3054.9600&#xA;&#x9;&#x9;else if(revenu &lt;= 38800) then 3754.9200&#xA;&#x9;&#x9;else if(revenu &lt;= 42600) then 4531.2000&#xA;&#x9;&#x9;else if(revenu &lt;= 46400) then 5383.8000&#xA;&#x9;&#x9;else if(revenu &lt;= 50250) then 6312.7200&#xA;&#x9;&#x9;else if(revenu &lt;= 54050) then 7317.9600&#xA;&#x9;&#x9;else if(revenu &lt;= 57850) then 8399.5200&#xA;&#x9;&#x9;else if(revenu &lt;= 61700) then 9557.4000&#xA;&#x9;&#x9;else if(revenu &lt;= 65500) then 10791.6000&#xA;&#x9;&#x9;else if(revenu &lt;= 69300) then 12102.1200&#xA;&#x9;&#x9;else if(revenu &lt;= 73150) then 13488.9600&#xA;&#x9;&#x9;else if(revenu &lt;= 76950) then 14952.1200&#xA;&#x9;&#x9;else if(revenu &lt;= 80750) then 16491.6000&#xA;&#x9;&#x9;else if(revenu &lt;= 84600) then 18107.4000&#xA;&#x9;&#x9;else if(revenu &lt;= 201000) then 18953.4600&#xA;&#x9;&#x9;else 20963.6600&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
1579 </eAnnotations>
1580 <ownedParameter xmi:type="uml:Parameter" xmi:id="_N7RNoIBbEeSS--Tr1brRQQ" direction="return">
1581 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1582 </ownedParameter>
1583 <ownedParameter xmi:type="uml:Parameter" xmi:id="_jWRWoIBbEeSS--Tr1brRQQ" name="revenu">
1584 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1585 </ownedParameter>
1586 </ownedOperation>
1587 <ownedOperation xmi:type="uml:Operation" xmi:id="_pf6q4IBaEeSS--Tr1brRQQ" name="get_A_for_pension_yearly_class_1">
1588 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BwSCAIBcEeSS--Tr1brRQQ" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1589 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_NY_xkIBcEeSS--Tr1brRQQ" key="body" value="if(revenu&lt;= 12000) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 13950) then 0.08&#xA;&#x9;&#x9;else if(revenu &lt;= 15850) then 0.1&#xA;&#x9;&#x9;else if(revenu &lt;= 17750) then 0.12&#xA;&#x9;&#x9;else if(revenu &lt;= 19650) then 0.14&#xA;&#x9;&#x9;else if(revenu &lt;= 21550) then 0.16&#xA;&#x9;&#x9;else if(revenu &lt;= 23450) then 0.18&#xA;&#x9;&#x9;else if(revenu &lt;= 25400) then 0.2&#xA;&#x9;&#x9;else if(revenu &lt;= 27300) then 0.22&#xA;&#x9;&#x9;else if(revenu &lt;= 29200) then 0.24&#xA;&#x9;&#x9;else if(revenu &lt;= 31100) then 0.26&#xA;&#x9;&#x9;else if(revenu &lt;= 33000) then 0.28&#xA;&#x9;&#x9;else if(revenu &lt;= 34900) then 0.3&#xA;&#x9;&#x9;else if(revenu &lt;= 36800) then 0.32&#xA;&#x9;&#x9;else if(revenu &lt;= 38750) then 0.34&#xA;&#x9;&#x9;else if(revenu &lt;= 40650) then 0.36&#xA;&#x9;&#x9;else if(revenu &lt;= 42550) then 0.38&#xA;&#x9;&#x9;else if(revenu &lt;= 100750) then 0.39&#xA;&#x9;&#x9;else 0.4&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
1590 </eAnnotations>
1591 <ownedParameter xmi:type="uml:Parameter" xmi:id="_P45_AIBbEeSS--Tr1brRQQ" direction="return">
1592 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1593 </ownedParameter>
1594 <ownedParameter xmi:type="uml:Parameter" xmi:id="_kbhHcIBbEeSS--Tr1brRQQ" name="revenu">
1595 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1596 </ownedParameter>
1597 </ownedOperation>
1598 <ownedOperation xmi:type="uml:Operation" xmi:id="_rp3Z8IBaEeSS--Tr1brRQQ" name="get_B_for_pension_yearly_class_1">
1599 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CekrYIBcEeSS--Tr1brRQQ" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1600 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_N2K1wIBcEeSS--Tr1brRQQ" key="body" value="if(revenu&lt;= 12000) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 13950) then 963.600&#xA;&#x9;&#x9;else if(revenu &lt;= 15850) then 1242.660&#xA;&#x9;&#x9;else if(revenu &lt;= 17750) then 1559.880&#xA;&#x9;&#x9;else if(revenu &lt;= 19650) then 1915.260&#xA;&#x9;&#x9;else if(revenu &lt;= 21550) then 2308.800&#xA;&#x9;&#x9;else if(revenu &lt;= 23450) then 2740.500&#xA;&#x9;&#x9;else if(revenu &lt;= 25400) then 3210.360&#xA;&#x9;&#x9;else if(revenu &lt;= 27300) then 3718.380&#xA;&#x9;&#x9;else if(revenu &lt;= 29200) then 4264.560&#xA;&#x9;&#x9;else if(revenu &lt;= 31100) then 4848.900&#xA;&#x9;&#x9;else if(revenu &lt;= 33000) then 5471.400&#xA;&#x9;&#x9;else if(revenu &lt;= 34900) then 6132.060&#xA;&#x9;&#x9;else if(revenu &lt;= 36800) then 6830.880&#xA;&#x9;&#x9;else if(revenu &lt;= 38750) then 7567.860&#xA;&#x9;&#x9;else if(revenu &lt;= 40650) then 8343.000&#xA;&#x9;&#x9;else if(revenu &lt;= 42550) then 9156.300&#xA;&#x9;&#x9;else if(revenu &lt;= 100750) then 9582.030&#xA;&#x9;&#x9;else 10589.830&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
1601 </eAnnotations>
1602 <ownedParameter xmi:type="uml:Parameter" xmi:id="_RREEwIBbEeSS--Tr1brRQQ" direction="return">
1603 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1604 </ownedParameter>
1605 <ownedParameter xmi:type="uml:Parameter" xmi:id="_lyXloIBbEeSS--Tr1brRQQ" name="revenu">
1606 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1607 </ownedParameter>
1608 </ownedOperation>
1609 <ownedOperation xmi:type="uml:Operation" xmi:id="_xivR0IBaEeSS--Tr1brRQQ" name="get_A_for_pension_yearly_class_1A">
1610 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EmpLIIBcEeSS--Tr1brRQQ" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1611 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Oc9wAIBcEeSS--Tr1brRQQ" key="body" value="if(revenu&lt;= 23300) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 24550) then 0.12&#xA;&#x9;&#x9;else if(revenu &lt;= 25850) then 0.15&#xA;&#x9;&#x9;else if(revenu &lt;= 27100) then 0.18&#xA;&#x9;&#x9;else if(revenu &lt;= 28350) then 0.21&#xA;&#x9;&#x9;else if(revenu &lt;= 29650) then 0.24&#xA;&#x9;&#x9;else if(revenu &lt;= 30900) then 0.27&#xA;&#x9;&#x9;else if(revenu &lt;= 32200) then 0.3&#xA;&#x9;&#x9;else if(revenu &lt;= 33450) then 0.33&#xA;&#x9;&#x9;else if(revenu &lt;= 34750) then 0.36&#xA;&#x9;&#x9;else if(revenu &lt;= 36000) then 0.39&#xA;&#x9;&#x9;else 0.4&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
1612 </eAnnotations>
1613 <ownedParameter xmi:type="uml:Parameter" xmi:id="_TsvdAIBbEeSS--Tr1brRQQ" direction="return">
1614 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1615 </ownedParameter>
1616 <ownedParameter xmi:type="uml:Parameter" xmi:id="_m1nLUIBbEeSS--Tr1brRQQ" name="revenu">
1617 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1618 </ownedParameter>
1619 </ownedOperation>
1620 <ownedOperation xmi:type="uml:Operation" xmi:id="_0dqK0IBaEeSS--Tr1brRQQ" name="get_B_for_pension_yearly_class_1A">
1621 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FXy7QIBcEeSS--Tr1brRQQ" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1622 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_O7W8MIBcEeSS--Tr1brRQQ" key="body" value="if(revenu&lt;= 23300) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 24550) then 2797.200&#xA;&#x9;&#x9;else if(revenu &lt;= 25850) then 3534.660&#xA;&#x9;&#x9;else if(revenu &lt;= 27100) then 4310.280&#xA;&#x9;&#x9;else if(revenu &lt;= 28350) then 5124.060&#xA;&#x9;&#x9;else if(revenu &lt;= 29650) then 5976.000&#xA;&#x9;&#x9;else if(revenu &lt;= 30900) then 6866.100&#xA;&#x9;&#x9;else if(revenu &lt;= 32200) then 7794.360&#xA;&#x9;&#x9;else if(revenu &lt;= 33450) then 8760.780&#xA;&#x9;&#x9;else if(revenu &lt;= 34750) then 9765.360&#xA;&#x9;&#x9;else if(revenu &lt;= 36000) then 10808.100&#xA;&#x9;&#x9;else 11168.400&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
1623 </eAnnotations>
1624 <ownedParameter xmi:type="uml:Parameter" xmi:id="_VIzyYIBbEeSS--Tr1brRQQ" direction="return">
1625 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1626 </ownedParameter>
1627 <ownedParameter xmi:type="uml:Parameter" xmi:id="_oHu6gIBbEeSS--Tr1brRQQ" name="revenu">
1628 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1629 </ownedParameter>
1630 </ownedOperation>
1631 <ownedOperation xmi:type="uml:Operation" xmi:id="_4krqkIBaEeSS--Tr1brRQQ" name="get_A_for_pension_yearly_class_2">
1632 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GJIRkIBcEeSS--Tr1brRQQ" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1633 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PfIXoIBcEeSS--Tr1brRQQ" key="body" value="if(revenu&lt;= 23300) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 27100) then 0.08&#xA;&#x9;&#x9;else if(revenu &lt;= 30900) then 0.1&#xA;&#x9;&#x9;else if(revenu &lt;= 34750) then 0.12&#xA;&#x9;&#x9;else if(revenu &lt;= 38550) then 0.14&#xA;&#x9;&#x9;else if(revenu &lt;= 42350) then 0.16&#xA;&#x9;&#x9;else if(revenu &lt;= 46200) then 0.18&#xA;&#x9;&#x9;else if(revenu &lt;= 50000) then 0.2&#xA;&#x9;&#x9;else if(revenu &lt;= 53800) then 0.22&#xA;&#x9;&#x9;else if(revenu &lt;= 57650) then 0.24&#xA;&#x9;&#x9;else if(revenu &lt;= 61450) then 0.26&#xA;&#x9;&#x9;else if(revenu &lt;= 65250) then 0.28&#xA;&#x9;&#x9;else if(revenu &lt;= 69100) then 0.3&#xA;&#x9;&#x9;else if(revenu &lt;= 72900) then 0.32&#xA;&#x9;&#x9;else if(revenu &lt;= 76700) then 0.34&#xA;&#x9;&#x9;else if(revenu &lt;= 80550) then 0.36&#xA;&#x9;&#x9;else if(revenu &lt;= 84350) then 0.38&#xA;&#x9;&#x9;else if(revenu &lt;= 200750) then 0.39&#xA;&#x9;&#x9;else 0.4&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
1634 </eAnnotations>
1635 <ownedParameter xmi:type="uml:Parameter" xmi:id="_WgtZcIBbEeSS--Tr1brRQQ" direction="return">
1636 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1637 </ownedParameter>
1638 <ownedParameter xmi:type="uml:Parameter" xmi:id="_pRYDIIBbEeSS--Tr1brRQQ" name="revenu">
1639 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1640 </ownedParameter>
1641 </ownedOperation>
1642 <ownedOperation xmi:type="uml:Operation" xmi:id="_5a7WEIBaEeSS--Tr1brRQQ" name="get_B_for_pension_yearly_class_2">
1643 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G6PlcIBcEeSS--Tr1brRQQ" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1644 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_P7s-4IBcEeSS--Tr1brRQQ" key="body" value="if(revenu&lt;= 23300) then 0&#xA;&#x9;&#x9;else if(revenu &lt;= 27100) then 1864.800&#xA;&#x9;&#x9;else if(revenu &lt;= 30900) then 2407.320&#xA;&#x9;&#x9;else if(revenu &lt;= 34750) then 3026.160&#xA;&#x9;&#x9;else if(revenu &lt;= 38550) then 3721.320&#xA;&#x9;&#x9;else if(revenu &lt;= 42350) then 4492.800&#xA;&#x9;&#x9;else if(revenu &lt;= 46200) then 5340.600&#xA;&#x9;&#x9;else if(revenu &lt;= 50000) then 6264.720&#xA;&#x9;&#x9;else if(revenu &lt;= 53800) then 7265.160&#xA;&#x9;&#x9;else if(revenu &lt;= 57650) then 8341.920&#xA;&#x9;&#x9;else if(revenu &lt;= 61450) then 9495.000&#xA;&#x9;&#x9;else if(revenu &lt;= 65250) then 10724.400&#xA;&#x9;&#x9;else if(revenu &lt;= 69100) then 12030.120&#xA;&#x9;&#x9;else if(revenu &lt;= 72900) then 13412.160&#xA;&#x9;&#x9;else if(revenu &lt;= 76700) then 14870.520&#xA;&#x9;&#x9;else if(revenu &lt;= 80550) then 16405.200&#xA;&#x9;&#x9;else if(revenu &lt;= 84350) then 18016.200&#xA;&#x9;&#x9;else if(revenu &lt;= 200750) then 18859.860&#xA;&#x9;&#x9;else 20867.660&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA;&#x9;&#x9;endif&#xA; endif"/>
1645 </eAnnotations>
1646 <ownedParameter xmi:type="uml:Parameter" xmi:id="_XvObAIBbEeSS--Tr1brRQQ" direction="return">
1647 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1648 </ownedParameter>
1649 <ownedParameter xmi:type="uml:Parameter" xmi:id="_qf2BYIBbEeSS--Tr1brRQQ" name="revenu">
1650 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1651 </ownedParameter>
1652 </ownedOperation>
1653 <ownedOperation xmi:type="uml:Operation" xmi:id="_8O9j8IBaEeSS--Tr1brRQQ" name="calculate_taxes_per_year">
1654 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HtMFUIBcEeSS--Tr1brRQQ" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1655 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QfclIIBcEeSS--Tr1brRQQ" key="body" value="if(income_type='Employment') then&#xA;&#x9;&#x9;&#x9;let a:Real = if(classe=Tax_Class_Category::One_A) then get_A_for_salary_yearly_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_A_for_salary_yearly_class_2(amount) else get_A_for_salary_yearly_class_1(amount) endif endif in&#xA;&#x9;&#x9;&#x9;let b:Real = if(classe=Tax_Class_Category::One_A) then get_B_for_salary_yearly_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_B_for_salary_yearly_class_2(amount) else get_B_for_salary_yearly_class_1(amount) endif endif in&#xA;&#x9;&#x9; let res:Real = round_lower_euros(a * amount - b) in&#xA; let max:Real = if(classe=Tax_Class_Category::Two) then 301020 else 151020 endif in&#xA; &#xA;&#x9;&#x9; if(amount&lt;max) then&#xA;&#x9;&#x9; let final_res:Real= round_lower_euros(res*1.07) in&#xA;&#x9;&#x9; if(final_res&lt;12)then&#xA;&#x9;&#x9; 0&#xA;&#x9;&#x9; else&#xA;&#x9;&#x9; final_res&#xA;&#x9;&#x9; endif&#xA;&#x9;&#x9; else &#xA;&#x9;&#x9; let adjustement:Real= if(classe=Tax_Class_Category::One_A) then 982.86 else if(classe=Tax_Class_Category::Two) then 1988.88 else 994.44 endif endif in&#xA;&#x9;&#x9; &#x9;let final_res:Real= round_lower_euros(res + (res*0.09-adjustement)) in&#xA;&#x9;&#x9; &#x9;if(final_res&lt;12)then&#xA;&#x9;&#x9; 0&#xA;&#x9;&#x9; else&#xA;&#x9;&#x9; final_res&#xA;&#x9;&#x9; endif&#xA;&#x9;&#x9; endif&#xA;&#x9;&#x9; &#xA;&#x9;&#x9; &#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;if(income_type='Pension') then&#xA;&#x9;&#x9;&#x9;let a:Real = if(classe=Tax_Class_Category::One_A) then get_A_for_pension_yearly_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_A_for_pension_yearly_class_2(amount) else get_A_for_pension_yearly_class_1(amount) endif endif in&#xA;&#x9;&#x9;&#x9;let b:Real = if(classe=Tax_Class_Category::One_A) then get_B_for_pension_yearly_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_B_for_pension_yearly_class_2(amount) else get_B_for_pension_yearly_class_1(amount) endif endif in&#xA;&#x9;&#x9; let res:Real = round_lower_euros(a * amount - b) in&#xA;&#x9;&#x9; let max:Real = if(classe=Tax_Class_Category::Two) then 300780 else 150780 endif in&#xA; &#xA;&#x9;&#x9; if(amount&lt;max) then&#xA;&#x9;&#x9; let final_res:Real= round_lower_euros(res*1.07) in&#xA;&#x9;&#x9; if(final_res&lt;12)then&#xA;&#x9;&#x9; 0&#xA;&#x9;&#x9; else&#xA;&#x9;&#x9; final_res&#xA;&#x9;&#x9; endif&#xA;&#x9;&#x9; else &#xA;&#x9;&#x9; let adjustement:Real= if(classe=Tax_Class_Category::One_A) then 982.86 else if(classe=Tax_Class_Category::Two) then 1988.88 else 994.44 endif endif in&#xA;&#x9;&#x9; &#x9;let final_res:Real= round_lower_euros(res + (res*0.09-adjustement)) in&#xA;&#x9;&#x9; &#x9;if(final_res&lt;12)then&#xA;&#x9;&#x9; 0&#xA;&#x9;&#x9; else&#xA;&#x9;&#x9; final_res&#xA;&#x9;&#x9; endif&#xA;&#x9;&#xA;&#x9;&#x9; endif&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;let a:Real = if(classe=Tax_Class_Category::One_A) then get_A_for_other_yearly_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_A_for_other_yearly_class_2(amount) else get_A_for_other_yearly_class_1(amount) endif endif in&#xA;&#x9;&#x9;&#x9;let b:Real = if(classe=Tax_Class_Category::One_A) then get_B_for_other_yearly_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_B_for_other_yearly_class_2(amount) else get_B_for_other_yearly_class_1(amount) endif endif in&#xA;&#x9;&#x9; let res:Real = round_lower_euros(a * amount - b) in&#xA; let max:Real = if(classe=Tax_Class_Category::Two) then 300000 else 150000 endif in&#xA; &#xA;&#x9;&#x9; if(amount&lt;max) then&#xA;&#x9;&#x9; let final_res:Real= round_lower_euros(res*1.07) in&#xA;&#x9;&#x9; if(final_res&lt;12)then&#xA;&#x9;&#x9; 0&#xA;&#x9;&#x9; else&#xA;&#x9;&#x9; final_res&#xA;&#x9;&#x9; endif&#xA;&#x9;&#x9; else &#xA;&#x9;&#x9; let adjustement:Real= if(classe=Tax_Class_Category::One_A) then 982.86 else if(classe=Tax_Class_Category::Two) then 1988.88 else 994.44 endif endif in&#xA;&#x9;&#x9; &#x9;let final_res:Real= round_lower_euros(res + (res*0.09-adjustement)) in&#xA;&#x9;&#x9; &#x9;if(final_res&lt;12)then&#xA;&#x9;&#x9; 0&#xA;&#x9;&#x9; else&#xA;&#x9;&#x9; final_res&#xA;&#x9;&#x9; endif &#xA;&#x9;&#x9; endif &#xA;&#x9;&#x9;&#x9;endif&#xA;&#x9;&#x9;&#x9;endif"/>
1656 </eAnnotations>
1657 <ownedParameter xmi:type="uml:Parameter" xmi:id="_ZbV-kIBbEeSS--Tr1brRQQ" direction="return">
1658 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1659 </ownedParameter>
1660 <ownedParameter xmi:type="uml:Parameter" xmi:id="_tKVRsIBbEeSS--Tr1brRQQ" name="amount">
1661 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1662 </ownedParameter>
1663 <ownedParameter xmi:type="uml:Parameter" xmi:id="_vfjcoIBbEeSS--Tr1brRQQ" name="classe" type="Tax_Class_Category"/>
1664 <ownedParameter xmi:type="uml:Parameter" xmi:id="_yvPEsIBbEeSS--Tr1brRQQ" name="income_type">
1665 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
1666 </ownedParameter>
1667 </ownedOperation>
1668 <ownedOperation xmi:type="uml:Operation" xmi:id="_xtIuIIxGEeSQ-eW2JAQJHg" name="CNS_RATE">
1669 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7nLVYIxGEeSQ-eW2JAQJHg" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1670 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8_cI0IxGEeSQ-eW2JAQJHg" key="body" value="0.0305"/>
1671 </eAnnotations>
1672 <ownedParameter xmi:type="uml:Parameter" xmi:id="_2-vxsIxGEeSQ-eW2JAQJHg" direction="return">
1673 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1674 </ownedParameter>
1675 </ownedOperation>
1676 <ownedOperation xmi:type="uml:Operation" xmi:id="_BOY4sIxLEeSQ-eW2JAQJHg" name="PENSION_RATE">
1677 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZcqakIxLEeSQ-eW2JAQJHg" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1678 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bJB1wIxLEeSQ-eW2JAQJHg" key="body" value="0.08"/>
1679 </eAnnotations>
1680 <ownedParameter xmi:type="uml:Parameter" xmi:id="_GshVUIxLEeSQ-eW2JAQJHg" direction="return">
1681 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1682 </ownedParameter>
1683 </ownedOperation>
1684 <ownedOperation xmi:type="uml:Operation" xmi:id="_FZxsUIxREeSQ-eW2JAQJHg" name="round_lower_fifty_euros">
1685 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OXIo4IxREeSQ-eW2JAQJHg" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1686 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QFwG0IxREeSQ-eW2JAQJHg" key="body" value="&#x9;&#x9;if(amount&lt;50) then&#xA;&#x9;&#x9;&#x9;0&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;if (amount>=50 and amount&lt;100) then&#xA;&#x9;&#x9;&#x9;50.0&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;let temp_amount:Real = round_lower_euros(amount) in&#xA;&#x9;&#x9;&#x9;let ch:String=temp_amount.toString()in&#xA;&#x9;&#x9;&#x9;let temp_amount1:Real = temp_amount / 100.0 in&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;if(temp_amount1.round() = temp_amount1.floor()) then&#xA;&#x9;&#x9;&#x9;temp_amount1.floor() * 100.0&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;(temp_amount1.round() * 100.0) - 50&#xA;&#x9;&#x9;&#x9;endif&#xA;&#x9;&#x9;&#x9;endif&#xA;&#x9;&#x9;&#x9;endif"/>
1687 </eAnnotations>
1688 <ownedParameter xmi:type="uml:Parameter" xmi:id="_JfjO4IxREeSQ-eW2JAQJHg" direction="return">
1689 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1690 </ownedParameter>
1691 <ownedParameter xmi:type="uml:Parameter" xmi:id="_K-G3kIxREeSQ-eW2JAQJHg" name="amount">
1692 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1693 </ownedParameter>
1694 </ownedOperation>
1695 <ownedOperation xmi:type="uml:Operation" xmi:id="_bvBQAIxREeSQ-eW2JAQJHg" name="getTaxableIncomePerYear">
1696 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lFWtQIxREeSQ-eW2JAQJHg" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1697 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_maFEgIxREeSQ-eW2JAQJHg" key="body" value="let gross_salary_year:Real= income.income_per_year() in&#xA;&#x9;&#x9;&#x9;let type:Income_Type=income.income_type in&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;if(type.oclIsTypeOf(Employment_Income)) then&#xA;&#x9;&#x9;&#x9;let sum_deductions_year:Real=income.tax_card.getSumDeductionsYear() in&#xA;&#x9;&#x9;&#x9;let part_pension_year:Real= gross_salary_year * income.taxPayer.from_law.PENSION_RATE() in&#xA;&#x9;&#x9;&#x9;let part_CNS_year:Real= gross_salary_year * income.taxPayer.from_law.CNS_RATE() in&#xA;&#x9;&#x9;&#x9;let taxable_income:Real= gross_salary_year- (part_CNS_year + part_pension_year + sum_deductions_year) in &#x9;&#xA;&#x9;&#x9;&#x9;round_lower_fifty_euros(taxable_income)&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;if(type.oclIsTypeOf(Pensions_and_Annuities_Income))then&#xA;&#x9;&#x9;&#x9;let sum_deductions_year:Real=income.tax_card.getSumDeductionsYear() in&#xA;&#x9;&#x9;&#x9;let taxable_income:Real= gross_salary_year- sum_deductions_year in &#x9;&#xA;&#x9;&#x9;&#x9;round_lower_fifty_euros(taxable_income)&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;let details:Set(Income_Detail)= income.details->select(i:Income_Detail|i.is_worked=true) in&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;let res:Real= details->iterate( elem : Income_Detail; acc : Real = 0 | &#xA;&#x9;&#x9;&#x9; &#x9;&#xA;&#x9;&#x9;&#x9; &#x9;if(elem.is_contributing_CNS=false and elem.is_contributing_pension=false) then acc + elem.amount &#xA;&#x9;&#x9;&#x9; &#x9;else&#xA;&#x9;&#x9;&#x9; &#x9;if(elem.is_contributing_CNS=true and elem.is_contributing_pension=true) then&#xA;&#x9;&#x9;&#x9; &#x9;acc+ elem.amount - (elem.amount* income.taxPayer.from_law.PENSION_RATE()) - (elem.amount* income.taxPayer.from_law.CNS_RATE())&#xA;&#x9;&#x9;&#x9; &#x9;else&#xA;&#x9;&#x9;&#x9; &#x9;if(elem.is_contributing_CNS=true)then&#xA;&#x9;&#x9;&#x9; acc+ elem.amount - (elem.amount* income.taxPayer.from_law.CNS_RATE())&#xA;&#x9;&#x9;&#x9; &#x9;else&#xA;&#x9;&#x9;&#x9; &#x9;acc+ elem.amount - (elem.amount* income.taxPayer.from_law.PENSION_RATE()) &#xA;&#x9;&#x9;&#x9; &#x9;&#xA;&#x9;&#x9;&#x9; &#x9;endif &#xA;&#x9;&#x9;&#x9; &#x9;endif &#xA;&#x9;&#x9;&#x9; &#x9;endif &#xA;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9; )&#xA;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;in round_lower_fifty_euros(res)&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;endif&#xA;&#x9;&#x9;&#x9;endif"/>
1698 </eAnnotations>
1699 <ownedParameter xmi:type="uml:Parameter" xmi:id="_gfXZkIxREeSQ-eW2JAQJHg" direction="return">
1700 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1701 </ownedParameter>
1702 <ownedParameter xmi:type="uml:Parameter" xmi:id="_imYwcIxREeSQ-eW2JAQJHg" name="income" type="Income"/>
1703 </ownedOperation>
1704 <ownedOperation xmi:type="uml:Operation" xmi:id="_FueFYJDwEeSMh_pkRTiRPQ" name="precision">
1705 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Tit4YJDwEeSMh_pkRTiRPQ" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1706 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_T_15QJDwEeSMh_pkRTiRPQ" key="body" value="&#x9;&#x9;let ch:String=amount.toString() in&#xA;&#x9;&#x9;&#x9;if(ch.indexOf('.')=-1)then&#xA;&#x9;&#x9;&#x9;amount&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;let pos_pt:Integer=ch.indexOf('.') in&#xA;&#x9;&#x9;&#x9;if(pos_pt+degit >=ch.size()) then&#xA;&#x9;&#x9;&#x9;amount &#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;let ch1:String=ch.substring(1,pos_pt+degit) in&#xA;&#x9;&#x9;&#x9;ch1.toReal()&#xA;&#x9;&#x9;&#x9;endif&#xA;&#x9;&#x9;&#x9;endif"/>
1707 </eAnnotations>
1708 <ownedParameter xmi:type="uml:Parameter" xmi:id="_LCb5YJDwEeSMh_pkRTiRPQ" direction="return">
1709 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1710 </ownedParameter>
1711 <ownedParameter xmi:type="uml:Parameter" xmi:id="_Nl4GgJDwEeSMh_pkRTiRPQ" name="amount">
1712 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1713 </ownedParameter>
1714 <ownedParameter xmi:type="uml:Parameter" xmi:id="_Pm_CoJDwEeSMh_pkRTiRPQ" name="degit">
1715 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
1716 </ownedParameter>
1717 </ownedOperation>
1718 <ownedOperation xmi:type="uml:Operation" xmi:id="__vgBEJKmEeSsDc98mGjcqQ" name="MAXIMUM_RATE_FOR_CE_CHILDREN">
1719 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HbPkwJKnEeSsDc98mGjcqQ" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1720 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_H0wQ8JKnEeSsDc98mGjcqQ" key="body" value="3480"/>
1721 </eAnnotations>
1722 <ownedParameter xmi:type="uml:Parameter" xmi:id="_EuJFUJKnEeSsDc98mGjcqQ" direction="return">
1723 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1724 </ownedParameter>
1725 </ownedOperation>
1726 <ownedOperation xmi:type="uml:Operation" xmi:id="_UekbsJKoEeSsDc98mGjcqQ" name="MINIMUM_LEGAL_SALARY">
1727 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_c8XHYJKoEeSsDc98mGjcqQ" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1728 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dXXBUJKoEeSsDc98mGjcqQ" key="body" value="1921.03"/>
1729 </eAnnotations>
1730 <ownedParameter xmi:type="uml:Parameter" xmi:id="_X38LQJKoEeSsDc98mGjcqQ" direction="return">
1731 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1732 </ownedParameter>
1733 </ownedOperation>
1734 <ownedOperation xmi:type="uml:Operation" xmi:id="_OS3bQJNUEeSZisr9dyMXhQ" name="MAXIMUM_FLAT_RATE_FOR_ALIMONY">
1735 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hYyjQJNUEeSZisr9dyMXhQ" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1736 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hx8DEJNUEeSZisr9dyMXhQ" key="body" value="&#x9;&#x9;&#x9;if(year_divorce>1997)then&#xA;&#x9;&#x9;&#x9;if(year &lt;=2007) then&#xA;&#x9;&#x9;&#x9;20400&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;if(year=2008) then&#xA;&#x9;&#x9;&#x9;21600&#xA;&#x9;&#x9;&#x9;else &#xA;&#x9;&#x9;&#x9;if(year=2009 or year = 2010) then&#xA;&#x9;&#x9;&#x9;23400&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;24000&#xA;&#x9;&#x9;&#x9;endif&#xA;&#x9;&#x9;&#x9;endif&#xA;&#x9;&#x9;&#x9;endif&#xA;&#x9;&#x9;&#x9;else&#xA;&#xA;&#x9;&#x9;&#x9;if(year &lt;=2007) then&#xA;&#x9;&#x9;&#x9;20400&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;if(year=2008) then&#xA;&#x9;&#x9;&#x9;21600&#xA;&#x9;&#x9;&#x9;else &#xA;&#x9;&#x9;&#x9;23400&#xA;&#x9;&#x9;&#x9;endif&#xA;&#x9;&#x9;&#x9;endif&#x9;&#xA;&#x9;&#x9;&#x9;endif"/>
1737 </eAnnotations>
1738 <ownedParameter xmi:type="uml:Parameter" xmi:id="_TRkw8JNUEeSZisr9dyMXhQ" direction="return">
1739 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1740 </ownedParameter>
1741 <ownedParameter xmi:type="uml:Parameter" xmi:id="_YzjLwJNUEeSZisr9dyMXhQ" name="year">
1742 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
1743 </ownedParameter>
1744 <ownedParameter xmi:type="uml:Parameter" xmi:id="_cQksQJNUEeSZisr9dyMXhQ" name="year_divorce">
1745 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
1746 </ownedParameter>
1747 </ownedOperation>
1748 <ownedOperation xmi:type="uml:Operation" xmi:id="_Qj9jYDqFEeWZIdvCK8ArXg" name="AEP_FLAT_RATE">
1749 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aHCcIDqFEeWZIdvCK8ArXg" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1750 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bvnjgDqFEeWZIdvCK8ArXg" key="body" value="4500"/>
1751 </eAnnotations>
1752 <ownedParameter xmi:type="uml:Parameter" xmi:id="_UPDVEDqFEeWZIdvCK8ArXg" direction="return">
1753 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1754 </ownedParameter>
1755 </ownedOperation>
1756 <ownedOperation xmi:type="uml:Operation" xmi:id="_8lPOUG3NEeWcOt8eh6sd-w" name="calculate_taxes_per_year_mixed">
1757 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_V3LMoG3OEeWcOt8eh6sd-w" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1758 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WTZOkG3OEeWcOt8eh6sd-w" key="body" value="if(income_type='Employment') then&#xA;&#x9;&#x9;&#x9;let a:Real = if(classe=Tax_Class_Category::One_A) then get_A_for_salary_yearly_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_A_for_salary_yearly_class_2(amount) else get_A_for_salary_yearly_class_1(amount) endif endif in&#xA;&#x9;&#x9;&#x9;let b:Real = if(classe=Tax_Class_Category::One_A) then get_B_for_salary_yearly_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_B_for_salary_yearly_class_2(amount) else get_B_for_salary_yearly_class_1(amount) endif endif in&#xA;&#x9;&#x9; let res:Real = round_lower_euros(a * local_amount - b) in&#xA; let max:Real = if(classe=Tax_Class_Category::Two) then 301020 else 151020 endif in&#xA; &#xA;&#x9;&#x9; if(amount&lt;max) then&#xA;&#x9;&#x9; let final_res:Real= round_lower_euros(res*1.07) in&#xA;&#x9;&#x9; if(final_res&lt;12)then&#xA;&#x9;&#x9; 0&#xA;&#x9;&#x9; else&#xA;&#x9;&#x9; final_res&#xA;&#x9;&#x9; endif&#xA;&#x9;&#x9; else &#xA;&#x9;&#x9; let adjustement:Real= if(classe=Tax_Class_Category::One_A) then 982.86 else if(classe=Tax_Class_Category::Two) then 1988.88 else 994.44 endif endif in&#xA;&#x9;&#x9; &#x9;let final_res:Real= round_lower_euros(res + (res*0.09-adjustement)) in&#xA;&#x9;&#x9; &#x9;if(final_res&lt;12)then&#xA;&#x9;&#x9; 0&#xA;&#x9;&#x9; else&#xA;&#x9;&#x9; final_res&#xA;&#x9;&#x9; endif&#xA;&#x9;&#x9; endif&#xA;&#x9;&#x9; &#xA;&#x9;&#x9; &#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;if(income_type='Pension') then&#xA;&#x9;&#x9;&#x9;let a:Real = if(classe=Tax_Class_Category::One_A) then get_A_for_pension_yearly_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_A_for_pension_yearly_class_2(amount) else get_A_for_pension_yearly_class_1(amount) endif endif in&#xA;&#x9;&#x9;&#x9;let b:Real = if(classe=Tax_Class_Category::One_A) then get_B_for_pension_yearly_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_B_for_pension_yearly_class_2(amount) else get_B_for_pension_yearly_class_1(amount) endif endif in&#xA;&#x9;&#x9; let res:Real = round_lower_euros(a * local_amount - b) in&#xA;&#x9;&#x9; let max:Real = if(classe=Tax_Class_Category::Two) then 300780 else 150780 endif in&#xA; &#xA;&#x9;&#x9; if(amount&lt;max) then&#xA;&#x9;&#x9; let final_res:Real= round_lower_euros(res*1.07) in&#xA;&#x9;&#x9; if(final_res&lt;12)then&#xA;&#x9;&#x9; 0&#xA;&#x9;&#x9; else&#xA;&#x9;&#x9; final_res&#xA;&#x9;&#x9; endif&#xA;&#x9;&#x9; else &#xA;&#x9;&#x9; let adjustement:Real= if(classe=Tax_Class_Category::One_A) then 982.86 else if(classe=Tax_Class_Category::Two) then 1988.88 else 994.44 endif endif in&#xA;&#x9;&#x9; &#x9;let final_res:Real= round_lower_euros(res + (res*0.09-adjustement)) in&#xA;&#x9;&#x9; &#x9;if(final_res&lt;12)then&#xA;&#x9;&#x9; 0&#xA;&#x9;&#x9; else&#xA;&#x9;&#x9; final_res&#xA;&#x9;&#x9; endif&#xA;&#x9;&#xA;&#x9;&#x9; endif&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;let a:Real = if(classe=Tax_Class_Category::One_A) then get_A_for_other_yearly_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_A_for_other_yearly_class_2(amount) else get_A_for_other_yearly_class_1(amount) endif endif in&#xA;&#x9;&#x9;&#x9;let b:Real = if(classe=Tax_Class_Category::One_A) then get_B_for_other_yearly_class_1A(amount) else if(classe=Tax_Class_Category::Two) then get_B_for_other_yearly_class_2(amount) else get_B_for_other_yearly_class_1(amount) endif endif in&#xA;&#x9;&#x9; let res:Real = round_lower_euros(a * local_amount - b) in&#xA; let max:Real = if(classe=Tax_Class_Category::Two) then 300000 else 150000 endif in&#xA; &#xA;&#x9;&#x9; if(amount&lt;max) then&#xA;&#x9;&#x9; let final_res:Real= round_lower_euros(res*1.07) in&#xA;&#x9;&#x9; if(final_res&lt;12)then&#xA;&#x9;&#x9; 0&#xA;&#x9;&#x9; else&#xA;&#x9;&#x9; final_res&#xA;&#x9;&#x9; endif&#xA;&#x9;&#x9; else &#xA;&#x9;&#x9; let adjustement:Real= if(classe=Tax_Class_Category::One_A) then 982.86 else if(classe=Tax_Class_Category::Two) then 1988.88 else 994.44 endif endif in&#xA;&#x9;&#x9; &#x9;let final_res:Real= round_lower_euros(res + (res*0.09-adjustement)) in&#xA;&#x9;&#x9; &#x9;if(final_res&lt;12)then&#xA;&#x9;&#x9; 0&#xA;&#x9;&#x9; else&#xA;&#x9;&#x9; final_res&#xA;&#x9;&#x9; endif &#xA;&#x9;&#x9; endif &#xA;&#x9;&#x9;&#x9;endif&#xA;&#x9;&#x9;&#x9;endif"/>
1759 </eAnnotations>
1760 <ownedParameter xmi:type="uml:Parameter" xmi:id="_C2RukG3OEeWcOt8eh6sd-w" direction="return">
1761 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1762 </ownedParameter>
1763 <ownedParameter xmi:type="uml:Parameter" xmi:id="_GJ4NUG3OEeWcOt8eh6sd-w" name="amount">
1764 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1765 </ownedParameter>
1766 <ownedParameter xmi:type="uml:Parameter" xmi:id="_JlWOoG3OEeWcOt8eh6sd-w" name="local_amount">
1767 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
1768 </ownedParameter>
1769 <ownedParameter xmi:type="uml:Parameter" xmi:id="_NdryIG3OEeWcOt8eh6sd-w" name="classe" type="Tax_Class_Category"/>
1770 <ownedParameter xmi:type="uml:Parameter" xmi:id="_QqTfIG3OEeWcOt8eh6sd-w" name="income_type">
1771 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
1772 </ownedParameter>
1773 </ownedOperation>
1774 </packagedElement>
1775 <packagedElement xmi:type="uml:Association" xmi:id="_packagedElement.56" memberEnd="Tax_Payer-from_law FromLaw-taxPayer"/>
1776 <packagedElement xmi:type="uml:Class" xmi:id="FromAgent" name="FromAgent">
1777 <ownedAttribute xmi:type="uml:Property" xmi:id="FromAgent-taxation_year" name="taxation_year" visibility="public" isOrdered="true" isUnique="false">
1778 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EInt"/>
1779 </ownedAttribute>
1780 <ownedAttribute xmi:type="uml:Property" xmi:id="FromAgent-taxPayer" name="taxPayer" type="Tax_Payer" isOrdered="true" association="_packagedElement.58">
1781 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_239Z4OKNEeSbvsXPkSdkbw" value="1"/>
1782 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_23-oAOKNEeSbvsXPkSdkbw" value="1"/>
1783 </ownedAttribute>
1784 <ownedAttribute xmi:type="uml:Property" xmi:id="_mePwsJLREeSsDc98mGjcqQ" name="is_dependent_eligible_for_CE_Not_In_Houshold_Children_Care">
1785 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
1786 </ownedAttribute>
1787 <ownedAttribute xmi:type="uml:Property" xmi:id="_bpKHEJQ9EeSMZqrJQmR94g" name="expense" type="Expense" association="_bpLVMJQ9EeSMZqrJQmR94g">
1788 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_bpKHEZQ9EeSMZqrJQmR94g"/>
1789 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_bpKHEpQ9EeSMZqrJQmR94g" value="1"/>
1790 </ownedAttribute>
1791 <ownedAttribute xmi:type="uml:Property" xmi:id="_n-YXUJQ9EeSMZqrJQmR94g" name="is_eligible_debt">
1792 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
1793 </ownedAttribute>
1794 <ownedAttribute xmi:type="uml:Property" xmi:id="_suXD4ZLREeSsDc98mGjcqQ" name="dependent" type="Dependent" association="_suXD4JLREeSsDc98mGjcqQ">
1795 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_suXD4pLREeSsDc98mGjcqQ"/>
1796 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_suXD45LREeSsDc98mGjcqQ" value="1"/>
1797 </ownedAttribute>
1798 </packagedElement>
1799 <packagedElement xmi:type="uml:Association" xmi:id="_packagedElement.58" memberEnd="Tax_Payer-from_agent FromAgent-taxPayer"/>
1800 <packagedElement xmi:type="uml:Class" xmi:id="Fiscal_Address" name="Fiscal_Address">
1801 <generalization xmi:type="uml:Generalization" xmi:id="Fiscal_Address-_generalization.0" general="Address"/>
1802 </packagedElement>
1803 <packagedElement xmi:type="uml:Class" xmi:id="Habitual_Address" name="Habitual_Address">
1804 <generalization xmi:type="uml:Generalization" xmi:id="Habitual_Address-_generalization.0" general="Address"/>
1805 </packagedElement>
1806 <packagedElement xmi:type="uml:Class" xmi:id="Marriage_Record" name="Marriage_Record">
1807 <generalization xmi:type="uml:Generalization" xmi:id="Marriage_Record-_generalization.0" general="Legal_Union_Record"/>
1808 </packagedElement>
1809 <packagedElement xmi:type="uml:Class" xmi:id="Non_Resident_Tax_Payer" name="Non_Resident_Tax_Payer">
1810 <generalization xmi:type="uml:Generalization" xmi:id="Non_Resident_Tax_Payer-_generalization.0" general="Tax_Payer"/>
1811 <ownedAttribute xmi:type="uml:Property" xmi:id="Non_Resident_Tax_Payer-is_assimilated_to_resident" name="is_assimilated_to_resident" visibility="public" isOrdered="true">
1812 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
1813 <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Non_Resident_Tax_Payer-is_assimilated_to_resident-_defaultValue">
1814 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
1815 </defaultValue>
1816 </ownedAttribute>
1817 </packagedElement>
1818 <packagedElement xmi:type="uml:Class" xmi:id="Partnership_Record" name="Partnership_Record">
1819 <generalization xmi:type="uml:Generalization" xmi:id="Partnership_Record-_generalization.0" general="Legal_Union_Record"/>
1820 </packagedElement>
1821 <packagedElement xmi:type="uml:Class" xmi:id="Resident_Tax_Payer" name="Resident_Tax_Payer">
1822 <generalization xmi:type="uml:Generalization" xmi:id="Resident_Tax_Payer-_generalization.0" general="Tax_Payer"/>
1823 <ownedAttribute xmi:type="uml:Property" xmi:id="Resident_Tax_Payer-test" name="test" visibility="public" isOrdered="true" isDerived="true">
1824 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="Resident_Tax_Payer-test-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot" source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
1825 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Resident_Tax_Payer-test-_http2F2Fwww.eclipse.org2Femf2F20022FEcore2FOCL2FPivot-_details.0" key="derivation" value="self.oclAsType(Tax_Payer).from_agent.taxation_year=2014"/>
1826 </eAnnotations>
1827 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
1828 </ownedAttribute>
1829 </packagedElement>
1830 <packagedElement xmi:type="uml:Class" xmi:id="Trade_and_Business_Income" name="Trade_and_Business_Income">
1831 <generalization xmi:type="uml:Generalization" xmi:id="Trade_and_Business_Income-_generalization.0" general="Income_Type"/>
1832 </packagedElement>
1833 <packagedElement xmi:type="uml:Class" xmi:id="Agriculture_and_Forestry_Income" name="Agriculture_and_Forestry_Income">
1834 <generalization xmi:type="uml:Generalization" xmi:id="Agriculture_and_Forestry_Income-_generalization.0" general="Income_Type"/>
1835 </packagedElement>
1836 <packagedElement xmi:type="uml:Class" xmi:id="Pensions_and_Annuities_Income" name="Pensions_and_Annuities_Income">
1837 <generalization xmi:type="uml:Generalization" xmi:id="Pensions_and_Annuities_Income-_generalization.0" general="Income_Type"/>
1838 <ownedAttribute xmi:type="uml:Property" xmi:id="Pensions_and_Annuities_Income-occasional_payement" name="occasional_payement" visibility="public" isOrdered="true">
1839 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
1840 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_GTLfQJHpEeW69ojjkUQtrg"/>
1841 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_GTUCIJHpEeW69ojjkUQtrg" value="1"/>
1842 <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Pensions_and_Annuities_Income-occasional_payement-_defaultValue">
1843 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
1844 </defaultValue>
1845 </ownedAttribute>
1846 </packagedElement>
1847 <packagedElement xmi:type="uml:Class" xmi:id="Capital_and_Investments_Income" name="Capital_and_Investments_Income">
1848 <generalization xmi:type="uml:Generalization" xmi:id="Capital_and_Investments_Income-_generalization.0" general="Income_Type"/>
1849 </packagedElement>
1850 <packagedElement xmi:type="uml:Class" xmi:id="Employment_Income" name="Employment_Income">
1851 <generalization xmi:type="uml:Generalization" xmi:id="Employment_Income-_generalization.0" general="Income_Type"/>
1852 </packagedElement>
1853 <packagedElement xmi:type="uml:Class" xmi:id="Rentals_and_Leases_Income" name="Rentals_and_Leases_Income">
1854 <generalization xmi:type="uml:Generalization" xmi:id="Rentals_and_Leases_Income-_generalization.0" general="Income_Type"/>
1855 <ownedAttribute xmi:type="uml:Property" xmi:id="Rentals_and_Leases_Income-is_periodic" name="is_periodic" visibility="public" isOrdered="true">
1856 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
1857 <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Rentals_and_Leases_Income-is_periodic-_defaultValue" value="true">
1858 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
1859 </defaultValue>
1860 </ownedAttribute>
1861 </packagedElement>
1862 <packagedElement xmi:type="uml:Class" xmi:id="Foreign_Income" name="Foreign_Income">
1863 <generalization xmi:type="uml:Generalization" xmi:id="Foreign_Income-_generalization.0" general="Income"/>
1864 </packagedElement>
1865 <packagedElement xmi:type="uml:Class" xmi:id="Local_Income" name="Local_Income">
1866 <generalization xmi:type="uml:Generalization" xmi:id="Local_Income-_generalization.0" general="Income"/>
1867 </packagedElement>
1868 <packagedElement xmi:type="uml:Class" xmi:id="CIM" name="CIM">
1869 <generalization xmi:type="uml:Generalization" xmi:id="CIM-_generalization.0" general="Income_Tax_Credit"/>
1870 </packagedElement>
1871 <packagedElement xmi:type="uml:Class" xmi:id="CIP" name="CIP">
1872 <generalization xmi:type="uml:Generalization" xmi:id="CIP-_generalization.0" general="Income_Tax_Credit"/>
1873 </packagedElement>
1874 <packagedElement xmi:type="uml:Class" xmi:id="CIS" name="CIS">
1875 <generalization xmi:type="uml:Generalization" xmi:id="CIS-_generalization.0" general="Income_Tax_Credit"/>
1876 </packagedElement>
1877 <packagedElement xmi:type="uml:Class" xmi:id="FD" name="FD">
1878 <generalization xmi:type="uml:Generalization" xmi:id="FD-_generalization.0" general="Professional_Expenses_Deduction"/>
1879 <ownedAttribute xmi:type="uml:Property" xmi:id="FD-distance_declared_in_january" name="distance_declared_in_january" visibility="public" isOrdered="true">
1880 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
1881 </ownedAttribute>
1882 <ownedAttribute xmi:type="uml:Property" xmi:id="FD-calculated_distance" name="calculated_distance" visibility="public" isOrdered="true" isDerived="true">
1883 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
1884 </ownedAttribute>
1885 <ownedOperation xmi:type="uml:Operation" xmi:id="FD-compute_distance_unit_between_home_and_workpalce" name="compute_distance_unit_between_home_and_workpalce" visibility="public">
1886 <ownedParameter xmi:type="uml:Parameter" xmi:id="FD-compute_distance_unit_between_home_and_workpalce-_ownedParameter.0" isOrdered="true" direction="return">
1887 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBigDecimal"/>
1888 </ownedParameter>
1889 </ownedOperation>
1890 </packagedElement>
1891 <packagedElement xmi:type="uml:Class" xmi:id="Professional_Expenses_Deduction" name="Professional_Expenses_Deduction"/>
1892 <packagedElement xmi:type="uml:Class" xmi:id="FO" name="FO">
1893 <generalization xmi:type="uml:Generalization" xmi:id="FO-_generalization.0" general="Professional_Expenses_Deduction"/>
1894 <ownedAttribute xmi:type="uml:Property" xmi:id="FO-rate_type_for_FO" name="rate_type_for_FO" visibility="public" type="Type_of_Rate" isOrdered="true" isDerived="true"/>
1895 <ownedOperation xmi:type="uml:Operation" xmi:id="FO-compute_disability_flat_rate" name="compute_disability_flat_rate" visibility="public">
1896 <ownedParameter xmi:type="uml:Parameter" xmi:id="FO-compute_disability_flat_rate-_ownedParameter.0" isOrdered="true" direction="return">
1897 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBigDecimal"/>
1898 </ownedParameter>
1899 </ownedOperation>
1900 <ownedOperation xmi:type="uml:Operation" xmi:id="FO-compute_regular_flat_rate" name="compute_regular_flat_rate" visibility="public">
1901 <ownedParameter xmi:type="uml:Parameter" xmi:id="FO-compute_regular_flat_rate-_ownedParameter.0" isOrdered="true" direction="return">
1902 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBigDecimal"/>
1903 </ownedParameter>
1904 </ownedOperation>
1905 </packagedElement>
1906 <packagedElement xmi:type="uml:Class" xmi:id="DS_for_Permanent_Expense" name="DS_for_Permanent_Expense">
1907 <generalization xmi:type="uml:Generalization" xmi:id="DS_for_Permanent_Expense-_generalization.0" general="DS"/>
1908 <ownedAttribute xmi:type="uml:Property" xmi:id="DS_for_Permanent_Expense-permanent_expense_category" name="permanent_expense_category" visibility="public" type="Category_of_Permanent_Expense" isOrdered="true"/>
1909 </packagedElement>
1910 <packagedElement xmi:type="uml:Class" xmi:id="DS" name="DS">
1911 <ownedRule xmi:type="uml:Constraint" xmi:id="_XRpF4D9zEeWzD95_WvVH8Q" name="Child_allawances">
1912 <specification xmi:type="uml:LiteralString" xmi:id="_XRps8D9zEeWzD95_WvVH8Q" value=""/>
1913 </ownedRule>
1914 <ownedAttribute xmi:type="uml:Property" xmi:id="DS-maximum_deductible_amount" name="maximum_deductible_amount" visibility="public" isOrdered="true">
1915 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
1916 </ownedAttribute>
1917 <ownedAttribute xmi:type="uml:Property" xmi:id="_UVY60EzrEeaVApgXPK28xA" name="id3" isID="true">
1918 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
1919 </ownedAttribute>
1920 </packagedElement>
1921 <packagedElement xmi:type="uml:Enumeration" xmi:id="Category_of_Permanent_Expense" name="Category_of_Permanent_Expense">
1922 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Category_of_Permanent_Expense-MISCELLANEOUS_DEBT" name="MISCELLANEOUS_DEBT"/>
1923 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Category_of_Permanent_Expense-ALIMONY" name="ALIMONY"/>
1924 </packagedElement>
1925 <packagedElement xmi:type="uml:Class" xmi:id="DS_for_Interest_Expense" name="DS_for_Interest_Expense">
1926 <generalization xmi:type="uml:Generalization" xmi:id="DS_for_Interest_Expense-_generalization.0" general="DS"/>
1927 <ownedOperation xmi:type="uml:Operation" xmi:id="DS_for_Interest_Expense-compute_maximum_deductible_amount" name="compute_maximum_deductible_amount" visibility="public">
1928 <ownedParameter xmi:type="uml:Parameter" xmi:id="DS_for_Interest_Expense-compute_maximum_deductible_amount-_ownedParameter.0" isOrdered="true" direction="return">
1929 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBigDecimal"/>
1930 </ownedParameter>
1931 <ownedParameter xmi:type="uml:Parameter" xmi:id="DS_for_Interest_Expense-compute_maximum_deductible_amount-IN_children_with_allowances" name="IN_children_with_allowances" type="Dependent">
1932 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DS_for_Interest_Expense-compute_maximum_deductible_amount-IN_children_with_allowances-_lowerValue"/>
1933 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="DS_for_Interest_Expense-compute_maximum_deductible_amount-IN_children_with_allowances-_upperValue" value="*"/>
1934 </ownedParameter>
1935 <ownedParameter xmi:type="uml:Parameter" xmi:id="DS_for_Interest_Expense-compute_maximum_deductible_amount-IN_legal_union" name="IN_legal_union" type="Legal_Union_Record">
1936 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DS_for_Interest_Expense-compute_maximum_deductible_amount-IN_legal_union-_lowerValue"/>
1937 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="DS_for_Interest_Expense-compute_maximum_deductible_amount-IN_legal_union-_upperValue" value="*"/>
1938 </ownedParameter>
1939 </ownedOperation>
1940 </packagedElement>
1941 <packagedElement xmi:type="uml:Class" xmi:id="DS_for_Health_and_Pension_Insurance" name="DS_for_Health_and_Pension_Insurance">
1942 <generalization xmi:type="uml:Generalization" xmi:id="DS_for_Health_and_Pension_Insurance-_generalization.0" general="DS"/>
1943 <ownedAttribute xmi:type="uml:Property" xmi:id="DS_for_Health_and_Pension_Insurance-insurance_category" name="insurance_category" visibility="public" type="Category_of_Health_and_Pension_Insurances" isOrdered="true"/>
1944 </packagedElement>
1945 <packagedElement xmi:type="uml:Enumeration" xmi:id="Category_of_Health_and_Pension_Insurances" name="Category_of_Health_and_Pension_Insurances">
1946 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Category_of_Health_and_Pension_Insurances-MANDATORY_HEALTH_AND_PENSION_INSURANCE" name="MANDATORY_HEALTH_AND_PENSION_INSURANCE"/>
1947 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Category_of_Health_and_Pension_Insurances-ADDITIONAL_EMPLOYERS_PENSION_INSURANCE" name="ADDITIONAL_EMPLOYERS_PENSION_INSURANCE"/>
1948 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Category_of_Health_and_Pension_Insurances-CONTINUED_HEALTH_AND_PENSION_INSURANCE" name="CONTINUED_HEALTH_AND_PENSION_INSURANCE"/>
1949 </packagedElement>
1950 <packagedElement xmi:type="uml:Class" xmi:id="DS_for_Private_Insurance_and_Plan" name="DS_for_Private_Insurance_and_Plan">
1951 <generalization xmi:type="uml:Generalization" xmi:id="DS_for_Private_Insurance_and_Plan-_generalization.0" general="DS"/>
1952 <ownedAttribute xmi:type="uml:Property" xmi:id="DS_for_Private_Insurance_and_Plan-private_insurance_and_plan_category" name="private_insurance_and_plan_category" visibility="public" type="Category_of_Private_Insurance_and_Plan" isOrdered="true"/>
1953 <ownedAttribute xmi:type="uml:Property" xmi:id="DS_for_Private_Insurance_and_Plan-increase_for_life_insurance" name="increase_for_life_insurance" visibility="public" isOrdered="true" isDerived="true">
1954 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
1955 </ownedAttribute>
1956 <ownedAttribute xmi:type="uml:Property" xmi:id="DS_for_Private_Insurance_and_Plan-maximum_deductible_amount_for_private_insurance" name="maximum_deductible_amount_for_private_insurance" visibility="public" isOrdered="true" isDerived="true">
1957 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
1958 </ownedAttribute>
1959 <ownedAttribute xmi:type="uml:Property" xmi:id="DS_for_Private_Insurance_and_Plan-maximum_deductible_amount_for_old_age_pension_plan" name="maximum_deductible_amount_for_old_age_pension_plan" visibility="public" isOrdered="true" isDerived="true">
1960 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
1961 </ownedAttribute>
1962 <ownedOperation xmi:type="uml:Operation" xmi:id="DS_for_Private_Insurance_and_Plan-compute_increase_for_life_insurance" name="compute_increase_for_life_insurance" visibility="public">
1963 <ownedParameter xmi:type="uml:Parameter" xmi:id="DS_for_Private_Insurance_and_Plan-compute_increase_for_life_insurance-_ownedParameter.0" isOrdered="true" direction="return">
1964 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBigDecimal"/>
1965 </ownedParameter>
1966 </ownedOperation>
1967 <ownedOperation xmi:type="uml:Operation" xmi:id="DS_for_Private_Insurance_and_Plan-compute_maximum_deductible_amount_for_private_insruance" name="compute_maximum_deductible_amount_for_private_insruance" visibility="public">
1968 <ownedParameter xmi:type="uml:Parameter" xmi:id="DS_for_Private_Insurance_and_Plan-compute_maximum_deductible_amount_for_private_insruance-_ownedParameter.0" isOrdered="true" direction="return">
1969 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBigDecimal"/>
1970 </ownedParameter>
1971 </ownedOperation>
1972 <ownedOperation xmi:type="uml:Operation" xmi:id="DS_for_Private_Insurance_and_Plan-compute_maximum_deductible_amount_for_old_age_pension_plan" name="compute_maximum_deductible_amount_for_old_age_pension_plan" visibility="public">
1973 <ownedParameter xmi:type="uml:Parameter" xmi:id="DS_for_Private_Insurance_and_Plan-compute_maximum_deductible_amount_for_old_age_pension_plan-_ownedParameter.0" isOrdered="true" direction="return">
1974 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBigDecimal"/>
1975 </ownedParameter>
1976 </ownedOperation>
1977 </packagedElement>
1978 <packagedElement xmi:type="uml:Enumeration" xmi:id="Category_of_Private_Insurance_and_Plan" name="Category_of_Private_Insurance_and_Plan">
1979 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Category_of_Private_Insurance_and_Plan-PRIVATE_INSURANCE" name="PRIVATE_INSURANCE"/>
1980 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Category_of_Private_Insurance_and_Plan-PRIVATE_LIFE_INSURANCE" name="PRIVATE_LIFE_INSURANCE"/>
1981 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Category_of_Private_Insurance_and_Plan-COMPANY_MEMBERS_PRIVATE_INSURANCE" name="COMPANY_MEMBERS_PRIVATE_INSURANCE"/>
1982 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Category_of_Private_Insurance_and_Plan-HOUSING_SAVING_PLAN" name="HOUSING_SAVING_PLAN"/>
1983 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="Category_of_Private_Insurance_and_Plan-OLD_AGE_PENSION_PLAN" name="OLD_AGE_PENSION_PLAN"/>
1984 </packagedElement>
1985 <packagedElement xmi:type="uml:Class" xmi:id="DS_for_Loss_Carryforward" name="DS_for_Loss_Carryforward">
1986 <generalization xmi:type="uml:Generalization" xmi:id="DS_for_Loss_Carryforward-_generalization.0" general="DS"/>
1987 </packagedElement>
1988 <packagedElement xmi:type="uml:Class" xmi:id="DS_for_Donation" name="DS_for_Donation">
1989 <generalization xmi:type="uml:Generalization" xmi:id="DS_for_Donation-_generalization.0" general="DS"/>
1990 </packagedElement>
1991 <packagedElement xmi:type="uml:Class" xmi:id="Permanent_Expense" name="Permanent_Expense">
1992 <generalization xmi:type="uml:Generalization" xmi:id="Permanent_Expense-_generalization.0" general="Special_Expense_DS"/>
1993 <ownedAttribute xmi:type="uml:Property" xmi:id="Permanent_Expense-category" name="category" visibility="public" type="Category_of_Permanent_Expense" isOrdered="true"/>
1994 <ownedAttribute xmi:type="uml:Property" xmi:id="Permanent_Expense-is_eligible_for_deduction" name="is_eligible_for_deduction" visibility="public" isOrdered="true" isDerived="true">
1995 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
1996 <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Permanent_Expense-is_eligible_for_deduction-_defaultValue">
1997 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
1998 </defaultValue>
1999 </ownedAttribute>
2000 <ownedOperation xmi:type="uml:Operation" xmi:id="Permanent_Expense-is_expense_eligible_for_deduction" name="is_expense_eligible_for_deduction" visibility="public">
2001 <ownedParameter xmi:type="uml:Parameter" xmi:id="Permanent_Expense-is_expense_eligible_for_deduction-_ownedParameter.0" isOrdered="true" direction="return">
2002 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
2003 </ownedParameter>
2004 <ownedParameter xmi:type="uml:Parameter" xmi:id="Permanent_Expense-is_expense_eligible_for_deduction-IN_agent_response" name="IN_agent_response" isOrdered="true">
2005 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
2006 </ownedParameter>
2007 </ownedOperation>
2008 </packagedElement>
2009 <packagedElement xmi:type="uml:Class" xmi:id="Special_Expense_DS" name="Special_Expense_DS">
2010 <generalization xmi:type="uml:Generalization" xmi:id="Special_Expense_DS-_generalization.0" general="Expense"/>
2011 </packagedElement>
2012 <packagedElement xmi:type="uml:Class" xmi:id="Interest_Expense" name="Interest_Expense">
2013 <generalization xmi:type="uml:Generalization" xmi:id="Interest_Expense-_generalization.0" general="Special_Expense_DS"/>
2014 </packagedElement>
2015 <packagedElement xmi:type="uml:Class" xmi:id="Private_Insurance_and_Plan" name="Private_Insurance_and_Plan">
2016 <generalization xmi:type="uml:Generalization" xmi:id="Private_Insurance_and_Plan-_generalization.0" general="Special_Expense_DS"/>
2017 <ownedAttribute xmi:type="uml:Property" xmi:id="Private_Insurance_and_Plan-category" name="category" visibility="public" type="Category_of_Private_Insurance_and_Plan" isOrdered="true"/>
2018 <ownedAttribute xmi:type="uml:Property" xmi:id="Private_Insurance_and_Plan-duration_of_contract" name="duration_of_contract" visibility="public" isOrdered="true">
2019 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EInt"/>
2020 </ownedAttribute>
2021 <ownedAttribute xmi:type="uml:Property" xmi:id="Private_Insurance_and_Plan-is_private_insurance_and_plan_eligible_for_deduction" name="is_private_insurance_and_plan_eligible_for_deduction" visibility="public" isOrdered="true" isDerived="true">
2022 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
2023 <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Private_Insurance_and_Plan-is_private_insurance_and_plan_eligible_for_deduction-_defaultValue">
2024 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
2025 </defaultValue>
2026 </ownedAttribute>
2027 <ownedOperation xmi:type="uml:Operation" xmi:id="Private_Insurance_and_Plan-is_private_insurance_and_plan_eligible_for_deduction.1" name="is_private_insurance_and_plan_eligible_for_deduction" visibility="public">
2028 <ownedParameter xmi:type="uml:Parameter" xmi:id="Private_Insurance_and_Plan-is_private_insurance_and_plan_eligible_for_deduction.1-_ownedParameter.0" isOrdered="true" direction="return">
2029 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
2030 </ownedParameter>
2031 </ownedOperation>
2032 </packagedElement>
2033 <packagedElement xmi:type="uml:Class" xmi:id="Health_and_Pension_Insurance" name="Health_and_Pension_Insurance">
2034 <generalization xmi:type="uml:Generalization" xmi:id="Health_and_Pension_Insurance-_generalization.0" general="Special_Expense_DS"/>
2035 <ownedAttribute xmi:type="uml:Property" xmi:id="Health_and_Pension_Insurance-category" name="category" visibility="public" type="Category_of_Health_and_Pension_Insurances" isOrdered="true"/>
2036 <ownedAttribute xmi:type="uml:Property" xmi:id="Health_and_Pension_Insurance-is_related_to_additional_salary" name="is_related_to_additional_salary" visibility="public" isOrdered="true">
2037 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
2038 <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Health_and_Pension_Insurance-is_related_to_additional_salary-_defaultValue">
2039 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
2040 </defaultValue>
2041 </ownedAttribute>
2042 </packagedElement>
2043 <packagedElement xmi:type="uml:Class" xmi:id="Donation" name="Donation">
2044 <generalization xmi:type="uml:Generalization" xmi:id="Donation-_generalization.0" general="Special_Expense_DS"/>
2045 <ownedAttribute xmi:type="uml:Property" xmi:id="Donation-beneficiary" name="beneficiary1" visibility="public" isOrdered="true">
2046 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
2047 </ownedAttribute>
2048 <ownedAttribute xmi:type="uml:Property" xmi:id="Donation-is_beneficiary_eligible" name="is_beneficiary_eligible" visibility="public" isOrdered="true" isDerived="true">
2049 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
2050 <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Donation-is_beneficiary_eligible-_defaultValue">
2051 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
2052 </defaultValue>
2053 </ownedAttribute>
2054 <ownedAttribute xmi:type="uml:Property" xmi:id="Donation-is_donation_reported" name="is_donation_reported" visibility="public" isOrdered="true">
2055 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
2056 </ownedAttribute>
2057 <ownedOperation xmi:type="uml:Operation" xmi:id="Donation-get_beneficiary_eligibility_for_deduction" name="get_beneficiary_eligibility_for_deduction" visibility="public">
2058 <ownedParameter xmi:type="uml:Parameter" xmi:id="Donation-get_beneficiary_eligibility_for_deduction-_ownedParameter.0" isOrdered="true" direction="return">
2059 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
2060 </ownedParameter>
2061 </ownedOperation>
2062 </packagedElement>
2063 <packagedElement xmi:type="uml:Class" xmi:id="Loss_Carryforward" name="Loss_Carryforward">
2064 <generalization xmi:type="uml:Generalization" xmi:id="Loss_Carryforward-_generalization.0" general="Special_Expense_DS"/>
2065 <ownedAttribute xmi:type="uml:Property" xmi:id="Loss_Carryforward-regular_accountability" name="regular_accountability" visibility="public" isOrdered="true" isDerived="true">
2066 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
2067 </ownedAttribute>
2068 <ownedAttribute xmi:type="uml:Property" xmi:id="Loss_Carryforward-compensation_by_other_means" name="compensation_by_other_means" visibility="public" isOrdered="true" isDerived="true">
2069 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
2070 </ownedAttribute>
2071 <ownedAttribute xmi:type="uml:Property" xmi:id="Loss_Carryforward-tax_payer_has_inherited_business_ownership" name="tax_payer_has_inherited_business_ownership" visibility="public" isOrdered="true" isDerived="true">
2072 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
2073 <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Loss_Carryforward-tax_payer_has_inherited_business_ownership-_defaultValue">
2074 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
2075 </defaultValue>
2076 </ownedAttribute>
2077 <ownedAttribute xmi:type="uml:Property" xmi:id="Loss_Carryforward-tax_payer_has_been_partner_in_business" name="tax_payer_has_been_partner_in_business" visibility="public" isOrdered="true" isDerived="true">
2078 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
2079 <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Loss_Carryforward-tax_payer_has_been_partner_in_business-_defaultValue" value="true">
2080 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
2081 </defaultValue>
2082 </ownedAttribute>
2083 <ownedOperation xmi:type="uml:Operation" xmi:id="Loss_Carryforward-is_accountability_regular" name="is_accountability_regular" visibility="public">
2084 <ownedParameter xmi:type="uml:Parameter" xmi:id="Loss_Carryforward-is_accountability_regular-_ownedParameter.0" isOrdered="true" direction="return">
2085 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
2086 </ownedParameter>
2087 </ownedOperation>
2088 <ownedOperation xmi:type="uml:Operation" xmi:id="Loss_Carryforward-is_compensated_by_other_means" name="is_compensated_by_other_means" visibility="public">
2089 <ownedParameter xmi:type="uml:Parameter" xmi:id="Loss_Carryforward-is_compensated_by_other_means-_ownedParameter.0" isOrdered="true" direction="return">
2090 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
2091 </ownedParameter>
2092 </ownedOperation>
2093 <ownedOperation xmi:type="uml:Operation" xmi:id="Loss_Carryforward-has_been_tax_payer_partner_in_business" name="has_been_tax_payer_partner_in_business" visibility="public">
2094 <ownedParameter xmi:type="uml:Parameter" xmi:id="Loss_Carryforward-has_been_tax_payer_partner_in_business-_ownedParameter.0" isOrdered="true" direction="return">
2095 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
2096 </ownedParameter>
2097 </ownedOperation>
2098 <ownedOperation xmi:type="uml:Operation" xmi:id="Loss_Carryforward-has_tax_payer_inherited_business_ownership" name="has_tax_payer_inherited_business_ownership" visibility="public">
2099 <ownedParameter xmi:type="uml:Parameter" xmi:id="Loss_Carryforward-has_tax_payer_inherited_business_ownership-_ownedParameter.0" isOrdered="true" direction="return">
2100 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
2101 </ownedParameter>
2102 </ownedOperation>
2103 </packagedElement>
2104 <packagedElement xmi:type="uml:Class" xmi:id="Spousal_Expense_AC" name="Spousal_Expense_AC">
2105 <generalization xmi:type="uml:Generalization" xmi:id="Spousal_Expense_AC-_generalization.0" general="Expense"/>
2106 </packagedElement>
2107 <packagedElement xmi:type="uml:Class" xmi:id="Extraordinary_Expense_CE" name="Extraordinary_Expense_CE">
2108 <generalization xmi:type="uml:Generalization" xmi:id="Extraordinary_Expense_CE-_generalization.0" general="Expense"/>
2109 <ownedAttribute xmi:type="uml:Property" xmi:id="Extraordinary_Expense_CE-thresholded_deduction_percentage" name="thresholded_deduction_percentage" visibility="public" isOrdered="true">
2110 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
2111 </ownedAttribute>
2112 <ownedAttribute xmi:type="uml:Property" xmi:id="Extraordinary_Expense_CE-ce_type" name="ce_type" visibility="public" type="CE_Type" isOrdered="true"/>
2113 <ownedOperation xmi:type="uml:Operation" xmi:id="Extraordinary_Expense_CE-is_above_thresholded_deduction_percentage_for_CE" name="is_above_thresholded_deduction_percentage_for_CE" visibility="public">
2114 <ownedParameter xmi:type="uml:Parameter" xmi:id="Extraordinary_Expense_CE-is_above_thresholded_deduction_percentage_for_CE-_ownedParameter.0" isOrdered="true" direction="return">
2115 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
2116 </ownedParameter>
2117 </ownedOperation>
2118 <ownedOperation xmi:type="uml:Operation" xmi:id="Extraordinary_Expense_CE-compute_thresholded_deduction_percentage_for_CE" name="compute_thresholded_deduction_percentage_for_CE" visibility="public">
2119 <ownedParameter xmi:type="uml:Parameter" xmi:id="Extraordinary_Expense_CE-compute_thresholded_deduction_percentage_for_CE-_ownedParameter.0" isOrdered="true" direction="return">
2120 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBigDecimal"/>
2121 </ownedParameter>
2122 <ownedParameter xmi:type="uml:Parameter" xmi:id="Extraordinary_Expense_CE-compute_thresholded_deduction_percentage_for_CE-IN_thresholded_deduction_percentage" name="IN_thresholded_deduction_percentage" isOrdered="true">
2123 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBigDecimal"/>
2124 </ownedParameter>
2125 </ownedOperation>
2126 </packagedElement>
2127 <packagedElement xmi:type="uml:Class" xmi:id="Travel_Expense_FD" name="Travel_Expense_FD">
2128 <generalization xmi:type="uml:Generalization" xmi:id="Travel_Expense_FD-_generalization.0" general="Professional_Expense"/>
2129 </packagedElement>
2130 <packagedElement xmi:type="uml:Class" xmi:id="Professional_Expense" name="Professional_Expense">
2131 <generalization xmi:type="uml:Generalization" xmi:id="Professional_Expense-_generalization.0" general="Expense"/>
2132 </packagedElement>
2133 <packagedElement xmi:type="uml:Class" xmi:id="Miscellaneous_Expense_FO" name="Miscellaneous_Expense_FO">
2134 <generalization xmi:type="uml:Generalization" xmi:id="Miscellaneous_Expense_FO-_generalization.0" general="Professional_Expense"/>
2135 </packagedElement>
2136 <packagedElement xmi:type="uml:Class" xmi:id="_0yLxwIH5EeSH_sby466C_w" name="Tax_Property">
2137 <ownedAttribute xmi:type="uml:Property" xmi:id="_4bpLwIH5EeSH_sby466C_w" name="starting_year">
2138 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EInt"/>
2139 </ownedAttribute>
2140 <ownedAttribute xmi:type="uml:Property" xmi:id="__YPKcIH5EeSH_sby466C_w" name="taxed_jointly">
2141 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
2142 <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_GvQbUIH6EeSH_sby466C_w"/>
2143 </ownedAttribute>
2144 <ownedAttribute xmi:type="uml:Property" xmi:id="_9CxtcIqVEeSCrr7uegGAVw" name="union_record" type="Legal_Union_Record" association="_9Cy7kIqVEeSCrr7uegGAVw">
2145 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_9CxtcYqVEeSCrr7uegGAVw" value="1"/>
2146 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_9CxtcoqVEeSCrr7uegGAVw" value="1"/>
2147 </ownedAttribute>
2148 <ownedAttribute xmi:type="uml:Property" xmi:id="_TD2lAEzsEeaVApgXPK28xA" name="id10" isID="true">
2149 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
2150 </ownedAttribute>
2151 </packagedElement>
2152 <packagedElement xmi:type="uml:Enumeration" xmi:id="_7auHsIOIEeSemtkAhxylbQ" name="Separation_Causes">
2153 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_Qi5bUIOJEeSemtkAhxylbQ" name="NONE"/>
2154 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_91HGgIOIEeSemtkAhxylbQ" name="DIVORCE"/>
2155 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_DNoDUIOJEeSemtkAhxylbQ" name="SEPARATION_DE_FAIT"/>
2156 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_HzD9YIOJEeSemtkAhxylbQ" name="SEPARATION_BY_COURT"/>
2157 </packagedElement>
2158 <packagedElement xmi:type="uml:Enumeration" xmi:id="_dTr3IIOSEeSemtkAhxylbQ" name="Legal_Union_Types">
2159 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_f4bEwIOSEeSemtkAhxylbQ" name="MARIAGE"/>
2160 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_rawfgIOSEeSemtkAhxylbQ" name="PARTNERSHIP"/>
2161 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_vpTjkIOSEeSemtkAhxylbQ" name="OTHER"/>
2162 </packagedElement>
2163 <packagedElement xmi:type="uml:Association" xmi:id="_oA2J8IXuEeSLiOAbrK2uyQ" memberEnd="_oA2J8YXuEeSLiOAbrK2uyQ _oAwqYIXuEeSLiOAbrK2uyQ"/>
2164 <packagedElement xmi:type="uml:Interface" xmi:id="_1gja4IXvEeSLiOAbrK2uyQ" name="Tax_Case"/>
2165 <packagedElement xmi:type="uml:Association" xmi:id="_5Yy38IYUEeS819S0h0iEVw" memberEnd="_5Yy38YYUEeS819S0h0iEVw _5YyQ4IYUEeS819S0h0iEVw">
2166 <ownedEnd xmi:type="uml:Property" xmi:id="_5Yy38YYUEeS819S0h0iEVw" name="legal_union_A" type="Legal_Union_Record" association="_5Yy38IYUEeS819S0h0iEVw">
2167 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_5Yy38oYUEeS819S0h0iEVw" value="1"/>
2168 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_5Yy384YUEeS819S0h0iEVw" value="1"/>
2169 </ownedEnd>
2170 </packagedElement>
2171 <packagedElement xmi:type="uml:Association" xmi:id="_0ISyMIYVEeS819S0h0iEVw" memberEnd="_0ISyMYYVEeS819S0h0iEVw _0ISLIIYVEeS819S0h0iEVw">
2172 <ownedEnd xmi:type="uml:Property" xmi:id="_0ISyMYYVEeS819S0h0iEVw" name="legal_union_B" type="Legal_Union_Record" association="_0ISyMIYVEeS819S0h0iEVw">
2173 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_0ISyMoYVEeS819S0h0iEVw" value="1"/>
2174 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_0ISyM4YVEeS819S0h0iEVw" value="1"/>
2175 </ownedEnd>
2176 </packagedElement>
2177 <packagedElement xmi:type="uml:Association" xmi:id="_ys1IMInjEeS51qv-dTzbfg" memberEnd="_ys1IMYnjEeS51qv-dTzbfg _ysz6EInjEeS51qv-dTzbfg"/>
2178 <packagedElement xmi:type="uml:Association" xmi:id="_9Cy7kIqVEeSCrr7uegGAVw" memberEnd="_9Cy7kYqVEeSCrr7uegGAVw _9CxtcIqVEeSCrr7uegGAVw"/>
2179 <packagedElement xmi:type="uml:Association" xmi:id="_tLMGQJASEeSrKuFMY7nEzg" memberEnd="_tLMGQZASEeSrKuFMY7nEzg _tLDjYJASEeSrKuFMY7nEzg"/>
2180 <packagedElement xmi:type="uml:Association" xmi:id="_suXD4JLREeSsDc98mGjcqQ" memberEnd="_suXD4ZLREeSsDc98mGjcqQ _suTZgJLREeSsDc98mGjcqQ"/>
2181 <packagedElement xmi:type="uml:Association" xmi:id="_Mr92cJN2EeSS6JjHMC2a3A" memberEnd="_Mr92cZN2EeSS6JjHMC2a3A _Mr8oUJN2EeSS6JjHMC2a3A"/>
2182 <packagedElement xmi:type="uml:Association" xmi:id="_4QQ94D-FEeWJhua38hb9gw" name="reciver" memberEnd="_4QQ94T-FEeWJhua38hb9gw _4QQW0D-FEeWJhua38hb9gw" navigableOwnedEnd="_4QQW0D-FEeWJhua38hb9gw">
2183 <ownedEnd xmi:type="uml:Property" xmi:id="_4QQW0D-FEeWJhua38hb9gw" name="external_Allowance" type="External_Allowance" association="_4QQ94D-FEeWJhua38hb9gw">
2184 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4QQW0T-FEeWJhua38hb9gw"/>
2185 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4QQW0j-FEeWJhua38hb9gw" value="*"/>
2186 </ownedEnd>
2187 </packagedElement>
2188 <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_profileApplication.0">
2189 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_profileApplication.0-_http2F2Fwww.eclipse.org2Fuml22F2.0.02FUML" source="http://www.eclipse.org/uml2/2.0.0/UML">
2190 <references xmi:type="ecore:EPackage" href="pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA"/>
2191 </eAnnotations>
2192 <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Ecore.profile.uml#_0"/>
2193 </profileApplication>
2194 </uml:Model>
2195 <Ecore:EPackage xmi:id="_1" base_Package="_0" nsPrefix="TaxCard"/>
2196 <Ecore:EEnum xmi:id="_2" base_Enumeration="Grantor"/>
2197 <Ecore:EEnumLiteral xmi:id="_3" base_EnumerationLiteral="Grantor-ACD" literal="WWW"/>
2198 <Ecore:EEnumLiteral xmi:id="_4" base_EnumerationLiteral="Grantor-Employer" literal="Employer"/>
2199 <Ecore:EEnumLiteral xmi:id="_5" base_EnumerationLiteral="Grantor-CNPF" literal="MMM"/>
2200 <Ecore:EEnumLiteral xmi:id="_6" base_EnumerationLiteral="Grantor-CEDIES" literal="UUU"/>
2201 <Ecore:EEnumLiteral xmi:id="_7" base_EnumerationLiteral="Grantor-SNJ" literal="YYY"/>
2202 <Ecore:EEnumLiteral xmi:id="_8" base_EnumerationLiteral="Grantor-CNAP" literal="OOO"/>
2203 <Ecore:EClass xmi:id="_9" base_Class="Constants"/>
2204 <Ecore:EEnum xmi:id="_10" base_Enumeration="Disability_Types"/>
2205 <Ecore:EEnumLiteral xmi:id="_11" base_EnumerationLiteral="Disability_Types-A" literal="A"/>
2206 <Ecore:EEnumLiteral xmi:id="_12" base_EnumerationLiteral="Disability_Types-B" literal="B"/>
2207 <Ecore:EEnumLiteral xmi:id="_13" base_EnumerationLiteral="Disability_Types-C" literal="C"/>
2208 <Ecore:EEnumLiteral xmi:id="_14" base_EnumerationLiteral="Disability_Types-D" literal="D"/>
2209 <Ecore:EEnumLiteral xmi:id="_15" base_EnumerationLiteral="Disability_Types-E" literal="E"/>
2210 <Ecore:EEnum xmi:id="_17" base_Enumeration="Country"/>
2211 <Ecore:EEnumLiteral xmi:id="_18" base_EnumerationLiteral="Country-LU" literal="ZZ"/>
2212 <Ecore:EEnumLiteral xmi:id="_19" base_EnumerationLiteral="Country-FR" literal="FF"/>
2213 <Ecore:EEnumLiteral xmi:id="_20" base_EnumerationLiteral="Country-BE" literal="BB"/>
2214 <Ecore:EEnumLiteral xmi:id="_21" base_EnumerationLiteral="Country-DE" literal="DD"/>
2215 <Ecore:EEnumLiteral xmi:id="_22" base_EnumerationLiteral="Country-NL" literal="NN"/>
2216 <Ecore:EEnumLiteral xmi:id="_23" base_EnumerationLiteral="Country-OTHER" literal="OTHER"/>
2217 <Ecore:EEnum xmi:id="_24" base_Enumeration="Tax_Card_Type"/>
2218 <Ecore:EEnumLiteral xmi:id="_25" base_EnumerationLiteral="Tax_Card_Type-Principal" literal="Principal"/>
2219 <Ecore:EEnumLiteral xmi:id="_26" base_EnumerationLiteral="Tax_Card_Type-Additional" literal="Additional"/>
2220 <Ecore:EEnum xmi:id="_27" base_Enumeration="Tax_Office"/>
2221 <Ecore:EEnumLiteral xmi:id="_28" base_EnumerationLiteral="Tax_Office-RTS_2" literal="RTS_2"/>
2222 <Ecore:EEnumLiteral xmi:id="_29" base_EnumerationLiteral="Tax_Office-RTS_3" literal="RTS_3"/>
2223 <Ecore:EEnumLiteral xmi:id="_30" base_EnumerationLiteral="Tax_Office-RTS_Esch" literal="RTS_4"/>
2224 <Ecore:EEnumLiteral xmi:id="_31" base_EnumerationLiteral="Tax_Office-RTS_Ettelbruck" literal="RTS_5"/>
2225 <Ecore:EEnum xmi:id="_32" base_Enumeration="Tax_Class_Category"/>
2226 <Ecore:EEnumLiteral xmi:id="_33" base_EnumerationLiteral="Tax_Class_Category-One" literal="One"/>
2227 <Ecore:EEnumLiteral xmi:id="_34" base_EnumerationLiteral="Tax_Class_Category-One_A" literal="One_A"/>
2228 <Ecore:EEnumLiteral xmi:id="_35" base_EnumerationLiteral="Tax_Class_Category-Two" literal="Two"/>
2229 <Ecore:EEnum xmi:id="_36" base_Enumeration="Job_Activity"/>
2230 <Ecore:EEnumLiteral xmi:id="_37" base_EnumerationLiteral="Job_Activity-Salary" literal="Salary"/>
2231 <Ecore:EEnumLiteral xmi:id="_38" base_EnumerationLiteral="Job_Activity-Pension" literal="Pension"/>
2232 <Ecore:EEnumLiteral xmi:id="_39" base_EnumerationLiteral="Job_Activity-Annuity" literal="Annuity"/>
2233 <Ecore:EEnum xmi:id="_40" base_Enumeration="Town"/>
2234 <Ecore:EEnumLiteral xmi:id="_41" base_EnumerationLiteral="Town-Luxembourg_city" literal="LL"/>
2235 <Ecore:EEnumLiteral xmi:id="_42" base_EnumerationLiteral="Town-Bertrange" literal="BB"/>
2236 <Ecore:EEnumLiteral xmi:id="_43" base_EnumerationLiteral="Town-Strassen" literal="SS"/>
2237 <Ecore:EEnumLiteral xmi:id="_44" base_EnumerationLiteral="Town-Bettembourg" literal="TT"/>
2238 <Ecore:EEnumLiteral xmi:id="_45" base_EnumerationLiteral="Town-Beaufort" literal="Other"/>
2239 <Ecore:EEnum xmi:id="_46" base_Enumeration="Type_of_Rate"/>
2240 <Ecore:EEnumLiteral xmi:id="_47" base_EnumerationLiteral="Type_of_Rate-REGULAR" literal="REGULAR"/>
2241 <Ecore:EEnumLiteral xmi:id="_48" base_EnumerationLiteral="Type_of_Rate-REAL_COST" literal="REAL_COST"/>
2242 <Ecore:EEnum xmi:id="_49" base_Enumeration="CE_Type"/>
2243 <Ecore:EEnumLiteral xmi:id="_50" base_EnumerationLiteral="CE_Type-INALIDITY_AND_INFIRMITY" literal="INALIDITY_AND_INFIRMITY"/>
2244 <Ecore:EEnumLiteral xmi:id="_51" base_EnumerationLiteral="CE_Type-DEPENDENCE_AND_CARE_EXCLUDING_CHLIDREN_NOT_PART_OF_HOUSEHOLD" literal="DEPENDENCE_AND_CARE_EXCLUDING_CHLIDREN_NOT_PART_OF_HOUSEHOLD"/>
2245 <Ecore:EEnumLiteral xmi:id="_52" base_EnumerationLiteral="CE_Type-CARE_FOR_CHILDREN_NOT_BEING_PART_OF_HOUSEHOLD" literal="CARE_FOR_CHILDREN_NOT_BEING_PART_OF_HOUSEHOLD"/>
2246 <Ecore:EEnum xmi:id="_53" base_Enumeration="Expense_Purpose"/>
2247 <Ecore:EEnumLiteral xmi:id="_54" base_EnumerationLiteral="Expense_Purpose-HOUSE_CARE" literal="HOUSE_CARE"/>
2248 <Ecore:EEnumLiteral xmi:id="_55" base_EnumerationLiteral="Expense_Purpose-CHILD_CARE" literal="CHILD_CARE"/>
2249 <Ecore:EEnumLiteral xmi:id="_56" base_EnumerationLiteral="Expense_Purpose-DEPENDENCE_CARE" literal="DEPENDENCE_CARE"/>
2250 <Ecore:EEnumLiteral xmi:id="_57" base_EnumerationLiteral="Expense_Purpose-OTHER" literal="OTHER"/>
2251 <Ecore:EEnum xmi:id="_58" base_Enumeration="Dependent_Type"/>
2252 <Ecore:EEnumLiteral xmi:id="_59" base_EnumerationLiteral="Dependent_Type-CHILD" literal="CHILD"/>
2253 <Ecore:EEnumLiteral xmi:id="_60" base_EnumerationLiteral="Dependent_Type-SPOUSE" literal="SPOUSE"/>
2254 <Ecore:EEnumLiteral xmi:id="_61" base_EnumerationLiteral="Dependent_Type-RELATIVE" literal="RELATIVE"/>
2255 <Ecore:EEnumLiteral xmi:id="_62" base_EnumerationLiteral="Dependent_Type-OTHER_FAMILY_MEMBER" literal="OTHER_FAMILY_MEMBER"/>
2256 <Ecore:EClass xmi:id="_63" base_Class="Income_Tax"/>
2257 <Ecore:EReference xmi:id="_64" base_Property="Income_Tax-taxPayer"/>
2258 <Ecore:EClass xmi:id="_65" base_Class="Tax_Payer"/>
2259 <Ecore:EReference xmi:id="_67" base_Property="Tax_Payer-dependents"/>
2260 <Ecore:EReference xmi:id="_69" base_Property="Tax_Payer-expenses"/>
2261 <Ecore:EReference xmi:id="_73" base_Property="Tax_Payer-incomes"/>
2262 <Ecore:EReference xmi:id="_75" base_Property="Tax_Payer-from_law"/>
2263 <Ecore:EReference xmi:id="_76" base_Property="Tax_Payer-from_agent"/>
2264 <Ecore:EOperation xmi:id="_77" base_Operation="Tax_Payer-is_dependent_part_of_the_household"/>
2265 <Ecore:EParameter xmi:id="_78" base_Parameter="Tax_Payer-is_dependent_part_of_the_household-IN_dependent"/>
2266 <Ecore:EOperation xmi:id="_79" base_Operation="Tax_Payer-number_of_months_of_allowance"/>
2267 <Ecore:EOperation xmi:id="_80" base_Operation="Tax_Payer-deduction_according_disability_rate"/>
2268 <Ecore:EClass xmi:id="_81" base_Class="Physical_Person"/>
2269 <Ecore:EReference xmi:id="_83" base_Property="Physical_Person-addresses"/>
2270 <Ecore:EOperation xmi:id="_86" base_Operation="Physical_Person-is_separated_from"/>
2271 <Ecore:EParameter xmi:id="_87" base_Parameter="Physical_Person-is_separated_from-IN_person"/>
2272 <Ecore:EOperation xmi:id="_88" base_Operation="Physical_Person-is_person_affiliated_personnaly_to_social_security"/>
2273 <Ecore:EClass xmi:id="_89" base_Class="External_Allowance"/>
2274 <Ecore:EClass xmi:id="_91" base_Class="Address"/>
2275 <Ecore:EReference xmi:id="_92" base_Property="Address-taxPayer"/>
2276 <Ecore:EClass xmi:id="_93" base_Class="Legal_Union_Record"/>
2277 <Ecore:EClass xmi:id="_96" base_Class="Dependent"/>
2278 <Ecore:EReference xmi:id="_98" base_Property="Dependent-responsible_person"/>
2279 <Ecore:EReference xmi:id="_100" base_Property="Dependent-expense"/>
2280 <Ecore:EOperation xmi:id="_101" base_Operation="Dependent-compute_if_dependent_receives_allowances_eligible_for_CIM"/>
2281 <Ecore:EOperation xmi:id="_102" base_Operation="Dependent-compute_if_dependent_receives_allowances_eligible_for_DS"/>
2282 <Ecore:EOperation xmi:id="_103" base_Operation="Dependent-compute_if_dependent_receives_allowances_eligible_for_CE_dependance_and_care"/>
2283 <Ecore:EOperation xmi:id="_104" base_Operation="Dependent-is_dependent_following_continued_studies"/>
2284 <Ecore:EParameter xmi:id="_105" base_Parameter="Dependent-is_dependent_following_continued_studies-IN_continued_studies"/>
2285 <Ecore:EClass xmi:id="_106" base_Class="Household"/>
2286 <Ecore:EClass xmi:id="_109" base_Class="Expense"/>
2287 <Ecore:EReference xmi:id="_111" base_Property="Expense-dependent"/>
2288 <Ecore:EReference xmi:id="_112" base_Property="Expense-income"/>
2289 <Ecore:EClass xmi:id="_114" base_Class="Income"/>
2290 <Ecore:EReference xmi:id="_115" base_Property="Income-income_type"/>
2291 <Ecore:EReference xmi:id="_116" base_Property="Income-tax_card"/>
2292 <Ecore:EReference xmi:id="_117" base_Property="Income-expenses"/>
2293 <Ecore:EReference xmi:id="_118" base_Property="Income-taxPayer"/>
2294 <Ecore:EReference xmi:id="_119" base_Property="Income-details"/>
2295 <Ecore:EOperation xmi:id="_120" base_Operation="Income-compute_duration_of_contract"/>
2296 <Ecore:EOperation xmi:id="_121" base_Operation="Income-compute_duration_of_contract_within_taxation_year"/>
2297 <Ecore:EParameter xmi:id="_122" base_Parameter="Income-compute_duration_of_contract_within_taxation_year-IN_date"/>
2298 <Ecore:EOperation xmi:id="_123" base_Operation="Income-prorata_worked_months"/>
2299 <Ecore:EOperation xmi:id="_124" base_Operation="Income-prorata_worked_days"/>
2300 <Ecore:EOperation xmi:id="_125" base_Operation="Income-prorata_period"/>
2301 <Ecore:EOperation xmi:id="_126" base_Operation="Income-income_per_day"/>
2302 <Ecore:EOperation xmi:id="_127" base_Operation="Income-income_per_month"/>
2303 <Ecore:EOperation xmi:id="_128" base_Operation="Income-income_per_year"/>
2304 <Ecore:EClass xmi:id="_129" base_Class="Income_Type"/>
2305 <Ecore:EReference xmi:id="_130" base_Property="Income_Type-income"/>
2306 <Ecore:EClass xmi:id="_131" base_Class="Tax_Card"/>
2307 <Ecore:EReference xmi:id="_133" isVolatile="true" base_Property="Tax_Card-tax_payers_address"/>
2308 <Ecore:EReference xmi:id="_134" base_Property="Tax_Card-income_Tax_Credit"/>
2309 <Ecore:EReference xmi:id="_136" base_Property="Tax_Card-previous"/>
2310 <Ecore:EReference xmi:id="_137" base_Property="Tax_Card-current_tax_card"/>
2311 <Ecore:EReference xmi:id="_138" base_Property="Tax_Card-income"/>
2312 <Ecore:EClass xmi:id="_144" base_Class="Income_Tax_Credit"/>
2313 <Ecore:EReference xmi:id="_145" base_Property="Income_Tax_Credit-taxPayer"/>
2314 <Ecore:EReference xmi:id="_146" base_Property="Income_Tax_Credit-taxation_Frame"/>
2315 <Ecore:EClass xmi:id="_151" base_Class="Income_Detail"/>
2316 <Ecore:EReference xmi:id="_152" base_Property="Income_Detail-income"/>
2317 <Ecore:EClass xmi:id="_153" base_Class="FromLaw"/>
2318 <Ecore:EReference xmi:id="_154" base_Property="FromLaw-taxPayer"/>
2319 <Ecore:EOperation xmi:id="_155" base_Operation="FromLaw-CE_INVALIDITY_FLAT_RATE_TYPE_E"/>
2320 <Ecore:EOperation xmi:id="_156" base_Operation="FromLaw-CIP_MINIMUM_INCOME_MONTH"/>
2321 <Ecore:EOperation xmi:id="_157" base_Operation="FromLaw-CIP_MINIMUM_INCOME_YEAR"/>
2322 <Ecore:EOperation xmi:id="_158" base_Operation="FromLaw-FLAT_RATE_CIP_YEARLY"/>
2323 <Ecore:EOperation xmi:id="_159" base_Operation="FromLaw-FLAT_RATE_PER_UNIT"/>
2324 <Ecore:EOperation xmi:id="_160" base_Operation="FromLaw-MAXIMUM_DISTANCE_IN_UNITS"/>
2325 <Ecore:EOperation xmi:id="_161" base_Operation="FromLaw-MINIMUM_DISTANCE_IN_UNITS"/>
2326 <Ecore:EOperation xmi:id="_162" base_Operation="FromLaw-FLAT_MAXIMUM_FD"/>
2327 <Ecore:EOperation xmi:id="_163" base_Operation="FromLaw-CIS_MINIMUM_INCOME_DAY"/>
2328 <Ecore:EOperation xmi:id="_164" base_Operation="FromLaw-CIS_MINIMUM_INCOME_MONTH"/>
2329 <Ecore:EOperation xmi:id="_165" base_Operation="FromLaw-CIS_MINIMUM_INCOME_YEAR"/>
2330 <Ecore:EOperation xmi:id="_166" base_Operation="FromLaw-FLAT_RATE_CIS_DAILY"/>
2331 <Ecore:EOperation xmi:id="_167" base_Operation="FromLaw-FLAT_RATE_CIS_MONTHLY"/>
2332 <Ecore:EOperation xmi:id="_168" base_Operation="FromLaw-FLAT_RATE_CIS_YEARLY"/>
2333 <Ecore:EClass xmi:id="_169" base_Class="FromAgent"/>
2334 <Ecore:EReference xmi:id="_170" base_Property="FromAgent-taxPayer"/>
2335 <Ecore:EClass xmi:id="_171" base_Class="Fiscal_Address"/>
2336 <Ecore:EClass xmi:id="_172" base_Class="Habitual_Address"/>
2337 <Ecore:EClass xmi:id="_173" base_Class="Marriage_Record"/>
2338 <Ecore:EClass xmi:id="_174" base_Class="Non_Resident_Tax_Payer"/>
2339 <Ecore:EClass xmi:id="_175" base_Class="Partnership_Record"/>
2340 <Ecore:EClass xmi:id="_176" base_Class="Resident_Tax_Payer"/>
2341 <Ecore:EClass xmi:id="_177" base_Class="Trade_and_Business_Income"/>
2342 <Ecore:EClass xmi:id="_178" base_Class="Agriculture_and_Forestry_Income"/>
2343 <Ecore:EClass xmi:id="_180" base_Class="Pensions_and_Annuities_Income"/>
2344 <Ecore:EClass xmi:id="_181" base_Class="Capital_and_Investments_Income"/>
2345 <Ecore:EClass xmi:id="_182" base_Class="Employment_Income"/>
2346 <Ecore:EClass xmi:id="_183" base_Class="Rentals_and_Leases_Income"/>
2347 <Ecore:EClass xmi:id="_186" base_Class="Foreign_Income"/>
2348 <Ecore:EClass xmi:id="_187" base_Class="Local_Income"/>
2349 <Ecore:EClass xmi:id="_188" base_Class="CIM"/>
2350 <Ecore:EClass xmi:id="_189" base_Class="CIP"/>
2351 <Ecore:EClass xmi:id="_190" base_Class="CIS"/>
2352 <Ecore:EClass xmi:id="_191" base_Class="FD"/>
2353 <Ecore:EOperation xmi:id="_192" base_Operation="FD-compute_distance_unit_between_home_and_workpalce"/>
2354 <Ecore:EClass xmi:id="_193" base_Class="Professional_Expenses_Deduction"/>
2355 <Ecore:EClass xmi:id="_194" base_Class="FO"/>
2356 <Ecore:EOperation xmi:id="_195" base_Operation="FO-compute_disability_flat_rate"/>
2357 <Ecore:EOperation xmi:id="_196" base_Operation="FO-compute_regular_flat_rate"/>
2358 <Ecore:EClass xmi:id="_203" base_Class="DS_for_Permanent_Expense"/>
2359 <Ecore:EClass xmi:id="_204" base_Class="DS"/>
2360 <Ecore:EEnum xmi:id="_205" base_Enumeration="Category_of_Permanent_Expense"/>
2361 <Ecore:EEnumLiteral xmi:id="_206" base_EnumerationLiteral="Category_of_Permanent_Expense-MISCELLANEOUS_DEBT" literal="MISCELLANEOUS_DEBT"/>
2362 <Ecore:EEnumLiteral xmi:id="_207" base_EnumerationLiteral="Category_of_Permanent_Expense-ALIMONY" literal="ALIMONY"/>
2363 <Ecore:EClass xmi:id="_208" base_Class="DS_for_Interest_Expense"/>
2364 <Ecore:EOperation xmi:id="_209" base_Operation="DS_for_Interest_Expense-compute_maximum_deductible_amount"/>
2365 <Ecore:EParameter xmi:id="_210" base_Parameter="DS_for_Interest_Expense-compute_maximum_deductible_amount-IN_children_with_allowances"/>
2366 <Ecore:EParameter xmi:id="_211" base_Parameter="DS_for_Interest_Expense-compute_maximum_deductible_amount-IN_legal_union"/>
2367 <Ecore:EClass xmi:id="_212" base_Class="DS_for_Health_and_Pension_Insurance"/>
2368 <Ecore:EEnum xmi:id="_213" base_Enumeration="Category_of_Health_and_Pension_Insurances"/>
2369 <Ecore:EEnumLiteral xmi:id="_214" base_EnumerationLiteral="Category_of_Health_and_Pension_Insurances-MANDATORY_HEALTH_AND_PENSION_INSURANCE" literal="MANDATORY_HEALTH_AND_PENSION_INSURANCE"/>
2370 <Ecore:EEnumLiteral xmi:id="_215" base_EnumerationLiteral="Category_of_Health_and_Pension_Insurances-ADDITIONAL_EMPLOYERS_PENSION_INSURANCE" literal="ADDITIONAL_EMPLOYERS_PENSION_INSURANCE"/>
2371 <Ecore:EEnumLiteral xmi:id="_216" base_EnumerationLiteral="Category_of_Health_and_Pension_Insurances-CONTINUED_HEALTH_AND_PENSION_INSURANCE" literal="CONTINUED_HEALTH_AND_PENSION_INSURANCE"/>
2372 <Ecore:EClass xmi:id="_217" base_Class="DS_for_Private_Insurance_and_Plan"/>
2373 <Ecore:EOperation xmi:id="_218" base_Operation="DS_for_Private_Insurance_and_Plan-compute_increase_for_life_insurance"/>
2374 <Ecore:EOperation xmi:id="_219" base_Operation="DS_for_Private_Insurance_and_Plan-compute_maximum_deductible_amount_for_private_insruance"/>
2375 <Ecore:EOperation xmi:id="_220" base_Operation="DS_for_Private_Insurance_and_Plan-compute_maximum_deductible_amount_for_old_age_pension_plan"/>
2376 <Ecore:EEnum xmi:id="_221" base_Enumeration="Category_of_Private_Insurance_and_Plan"/>
2377 <Ecore:EEnumLiteral xmi:id="_222" base_EnumerationLiteral="Category_of_Private_Insurance_and_Plan-PRIVATE_INSURANCE" literal="PRIVATE_INSURANCE"/>
2378 <Ecore:EEnumLiteral xmi:id="_223" base_EnumerationLiteral="Category_of_Private_Insurance_and_Plan-PRIVATE_LIFE_INSURANCE" literal="PRIVATE_LIFE_INSURANCE"/>
2379 <Ecore:EEnumLiteral xmi:id="_224" base_EnumerationLiteral="Category_of_Private_Insurance_and_Plan-COMPANY_MEMBERS_PRIVATE_INSURANCE" literal="COMPANY_MEMBERS_PRIVATE_INSURANCE"/>
2380 <Ecore:EEnumLiteral xmi:id="_225" base_EnumerationLiteral="Category_of_Private_Insurance_and_Plan-HOUSING_SAVING_PLAN" literal="HOUSING_SAVING_PLAN"/>
2381 <Ecore:EEnumLiteral xmi:id="_226" base_EnumerationLiteral="Category_of_Private_Insurance_and_Plan-OLD_AGE_PENSION_PLAN" literal="OLD_AGE_PENSION_PLAN"/>
2382 <Ecore:EClass xmi:id="_227" base_Class="DS_for_Loss_Carryforward"/>
2383 <Ecore:EClass xmi:id="_228" base_Class="DS_for_Donation"/>
2384 <Ecore:EClass xmi:id="_229" base_Class="Permanent_Expense"/>
2385 <Ecore:EOperation xmi:id="_230" base_Operation="Permanent_Expense-is_expense_eligible_for_deduction"/>
2386 <Ecore:EParameter xmi:id="_231" base_Parameter="Permanent_Expense-is_expense_eligible_for_deduction-IN_agent_response"/>
2387 <Ecore:EClass xmi:id="_232" base_Class="Special_Expense_DS"/>
2388 <Ecore:EClass xmi:id="_233" base_Class="Interest_Expense"/>
2389 <Ecore:EClass xmi:id="_234" base_Class="Private_Insurance_and_Plan"/>
2390 <Ecore:EOperation xmi:id="_235" base_Operation="Private_Insurance_and_Plan-is_private_insurance_and_plan_eligible_for_deduction.1"/>
2391 <Ecore:EClass xmi:id="_236" base_Class="Health_and_Pension_Insurance"/>
2392 <Ecore:EClass xmi:id="_237" base_Class="Donation"/>
2393 <Ecore:EOperation xmi:id="_238" base_Operation="Donation-get_beneficiary_eligibility_for_deduction"/>
2394 <Ecore:EClass xmi:id="_239" base_Class="Loss_Carryforward"/>
2395 <Ecore:EOperation xmi:id="_240" base_Operation="Loss_Carryforward-is_accountability_regular"/>
2396 <Ecore:EOperation xmi:id="_241" base_Operation="Loss_Carryforward-is_compensated_by_other_means"/>
2397 <Ecore:EOperation xmi:id="_242" base_Operation="Loss_Carryforward-has_been_tax_payer_partner_in_business"/>
2398 <Ecore:EOperation xmi:id="_243" base_Operation="Loss_Carryforward-has_tax_payer_inherited_business_ownership"/>
2399 <Ecore:EClass xmi:id="_244" base_Class="Spousal_Expense_AC"/>
2400 <Ecore:EClass xmi:id="_245" base_Class="Extraordinary_Expense_CE"/>
2401 <Ecore:EOperation xmi:id="_246" base_Operation="Extraordinary_Expense_CE-is_above_thresholded_deduction_percentage_for_CE"/>
2402 <Ecore:EOperation xmi:id="_247" base_Operation="Extraordinary_Expense_CE-compute_thresholded_deduction_percentage_for_CE"/>
2403 <Ecore:EParameter xmi:id="_248" base_Parameter="Extraordinary_Expense_CE-compute_thresholded_deduction_percentage_for_CE-IN_thresholded_deduction_percentage"/>
2404 <Ecore:EClass xmi:id="_249" base_Class="Travel_Expense_FD"/>
2405 <Ecore:EClass xmi:id="_250" base_Class="Professional_Expense"/>
2406 <Ecore:EClass xmi:id="_251" base_Class="Miscellaneous_Expense_FO"/>
2407 <Ecore:EEnumLiteral xmi:id="_2f6G8H_MEeSKo9E5ldkH6Q" base_EnumerationLiteral="_z-prIH_MEeSKo9E5ldkH6Q"/>
2408 <Ecore:EEnumLiteral xmi:id="_2jM5QH_REeSKo9E5ldkH6Q" base_EnumerationLiteral="_lbDFgH_REeSKo9E5ldkH6Q"/>
2409 <Ecore:EClass xmi:id="_RwuG4IXaEeSLiOAbrK2uyQ" base_Class="_0yLxwIH5EeSH_sby466C_w"/>
2410 <Ecore:EEnum xmi:id="_TppXYIXaEeSLiOAbrK2uyQ" base_Enumeration="_7auHsIOIEeSemtkAhxylbQ"/>
2411 <Ecore:EEnum xmi:id="_UvsZcIXaEeSLiOAbrK2uyQ" base_Enumeration="_dTr3IIOSEeSemtkAhxylbQ"/>
2412 <Ecore:EClass xmi:id="_kJjuUIX5EeSLiOAbrK2uyQ" base_Interface="_1gja4IXvEeSLiOAbrK2uyQ"/>
2413 <Ecore:EEnumLiteral xmi:id="_HQFEUJA7EeS9qe9Ea8KYvA" base_EnumerationLiteral="_h4BBsJA6EeSrKuFMY7nEzg"/>
2414 <Ecore:EEnumLiteral xmi:id="_UmboEJN1EeSS6JjHMC2a3A" base_EnumerationLiteral="_O-S64JN1EeSS6JjHMC2a3A"/>
2415 <Ecore:EEnumLiteral xmi:id="_swBW0JQ8EeSMZqrJQmR94g" base_EnumerationLiteral="_qE9ewJQ8EeSMZqrJQmR94g"/>
2416</xmi:XMI>