aboutsummaryrefslogtreecommitdiffstats
path: root/Tests/MODELS2020-CaseStudies/case.study.pledge.originalFiles/model
diff options
context:
space:
mode:
Diffstat (limited to 'Tests/MODELS2020-CaseStudies/case.study.pledge.originalFiles/model')
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.originalFiles/model/CD_Case_A.uml2416
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.originalFiles/model/CD_Case_B.uml608
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.originalFiles/model/CD_Case_C.uml_2094
3 files changed, 5118 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>
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.originalFiles/model/CD_Case_B.uml b/Tests/MODELS2020-CaseStudies/case.study.pledge.originalFiles/model/CD_Case_B.uml
new file mode 100644
index 00000000..a3faac2c
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.originalFiles/model/CD_Case_B.uml
@@ -0,0 +1,608 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<uml:Package xmi:version="2.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="GUID+fadc4ae9-265b-4361-8233-286c5b98ea06" name="DomainModel" URI="http:///DomainModel.uml">
3 <packagedElement xmi:type="uml:Class" xmi:id="GUID+a8ab9abd-0e72-4644-8b2b-258b868b8021" name="CableShieldIntegrityError">
4 <generalization xmi:type="uml:Generalization" xmi:id="GUID+b577f49b-1e7d-4c58-8452-7dfce047b376" general="GUID+d9d65175-b83c-4a10-b7d2-6a3ce0565615"/>
5 </packagedElement>
6 <packagedElement xmi:type="uml:Class" xmi:id="GUID+7f785413-0c72-4c0f-8204-be2794c3e9dd" name="ClassificationError">
7 <generalization xmi:type="uml:Generalization" xmi:id="GUID+4f5513aa-d4f5-4bec-8c34-8f0b9186ee72" general="GUID+340b5c52-0a00-407d-b4de-e7210cb5cbab"/>
8 </packagedElement>
9 <packagedElement xmi:type="uml:Class" xmi:id="GUID+38fddb17-0a3c-4a5d-b6f9-e8413b28fb0a" name="CommunicationError">
10 <generalization xmi:type="uml:Generalization" xmi:id="GUID+698ea3fb-4647-4984-be73-cf4dba64c235" general="GUID+340b5c52-0a00-407d-b4de-e7210cb5cbab"/>
11 </packagedElement>
12 <packagedElement xmi:type="uml:Class" xmi:id="GUID+340b5c52-0a00-407d-b4de-e7210cb5cbab" name="Error">
13 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+74c95cdf-1866-4ac5-8376-8121b7d7661f" name="isDetected" visibility="public">
14 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
15 </ownedAttribute>
16 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+c7ab610a-6b81-4b98-825b-0d2809cd0ede" name="isQualified" visibility="public">
17 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
18 </ownedAttribute>
19 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+3b4b1499-bc0b-452a-963d-590824ae423b" name="qualificationCounter" visibility="public">
20 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
21 </ownedAttribute>
22 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+0bb53b03-f0c8-49a1-9bef-5ea5f2d262f5" name="priority" visibility="public">
23 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
24 </ownedAttribute>
25 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+f3e3a3e6-80da-495c-aa8b-ee0801899697" name="isLockingError" visibility="public">
26 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
27 </ownedAttribute>
28 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+cea9880a-ba50-4c00-8538-62c689ce3ec5" name="isDiscardError" visibility="public">
29 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
30 </ownedAttribute>
31 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+134568a5-0f1f-4a6e-8197-5506606511b2" name="detectionCounter" visibility="public">
32 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
33 </ownedAttribute>
34 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+117c9206-efbc-4beb-8e1a-ac2e4afd06c2" name="DETECTION_COUNTER_DEFAULT_VALUE" visibility="public" isReadOnly="true">
35 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
36 </ownedAttribute>
37 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+63eb401d-531a-4f72-9306-420b3c1f5146" name="isVoltageDependent" visibility="public">
38 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
39 </ownedAttribute>
40 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+e6a341f6-dbba-4c4c-9885-b31d63212bab" name="unDetectionCounter" visibility="public">
41 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
42 </ownedAttribute>
43 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+1f848d81-eeb8-4e7c-8f2a-fe757b2f2a9a" name="ERROR_QUALIFICATION_COUNTER_LIMIT" visibility="public" isReadOnly="true">
44 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
45 <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_mgCfXmpaEeS7fJC3QiZfaQ" value="2"/>
46 </ownedAttribute>
47 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+0958eb35-1dda-41e2-a61b-b9a991ce800f" name="ERROR_DEQUALIFICATION_COUNTER_LIMIT" visibility="public" isReadOnly="true">
48 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
49 <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_mgCfYGpaEeS7fJC3QiZfaQ" value="4"/>
50 </ownedAttribute>
51 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+b8524d08-9dd2-405b-b3b3-6335c09f167e" name="itsBodySenseSystem" visibility="public" type="GUID+0f474175-fa54-4e22-9fde-c1ac83af0bf8" association="GUID+f05e6892-5c49-4fb5-b7ef-2f9ed7c73bd1"/>
52 </packagedElement>
53 <packagedElement xmi:type="uml:Class" xmi:id="GUID+d9d65175-b83c-4a10-b7d2-6a3ce0565615" name="ExternalMeasurementDeviceError">
54 <generalization xmi:type="uml:Generalization" xmi:id="GUID+0348055f-5e79-441d-8801-c65c327264bd" general="GUID+340b5c52-0a00-407d-b4de-e7210cb5cbab"/>
55 </packagedElement>
56 <packagedElement xmi:type="uml:Class" xmi:id="GUID+5b9e4e43-e723-4379-8b16-6bd2a17afc62" name="InternalMeasurementDeviceError">
57 <generalization xmi:type="uml:Generalization" xmi:id="GUID+1b170a05-f066-4024-98a7-4207a80cc4d1" general="GUID+340b5c52-0a00-407d-b4de-e7210cb5cbab"/>
58 </packagedElement>
59 <packagedElement xmi:type="uml:Class" xmi:id="GUID+6e72931a-3bb4-4c4b-9c92-340c29bf930d" name="InternalMeasurementPathError">
60 <generalization xmi:type="uml:Generalization" xmi:id="GUID+fa30f619-7caf-491d-97a2-4edb58415133" general="GUID+5b9e4e43-e723-4379-8b16-6bd2a17afc62"/>
61 </packagedElement>
62 <packagedElement xmi:type="uml:Class" xmi:id="GUID+a77202b4-d26c-4ff9-9d48-bb3a3246f65e" name="MeasurementSensePathError">
63 <generalization xmi:type="uml:Generalization" xmi:id="GUID+2f759119-5b9b-4faf-9a2e-75d965ad405d" general="GUID+d9d65175-b83c-4a10-b7d2-6a3ce0565615"/>
64 </packagedElement>
65 <packagedElement xmi:type="uml:Class" xmi:id="GUID+3ddf1eff-3f7e-4ccc-b44e-10a2ebb89066" name="Message"/>
66 <packagedElement xmi:type="uml:Class" xmi:id="GUID+3b30f033-980c-48ba-9235-b66e5204b733" name="SeatFrameConnectionError">
67 <generalization xmi:type="uml:Generalization" xmi:id="GUID+e2f097fc-15cd-4c67-9875-11a7fc4349d9" general="GUID+d9d65175-b83c-4a10-b7d2-6a3ce0565615"/>
68 </packagedElement>
69 <packagedElement xmi:type="uml:Class" xmi:id="GUID+8b7c00fd-0cf5-48a6-9866-b0f593854575" name="SeatHeaterCircuitIntegrityError">
70 <generalization xmi:type="uml:Generalization" xmi:id="GUID+4d5d7951-a024-499b-8333-445ecc40644f" general="GUID+d9d65175-b83c-4a10-b7d2-6a3ce0565615"/>
71 </packagedElement>
72 <packagedElement xmi:type="uml:Class" xmi:id="GUID+e4bcf44b-621e-430d-94cb-b18f5a557df1" name="Sensor"/>
73 <packagedElement xmi:type="uml:Class" xmi:id="GUID+12582673-accc-4b14-9bd4-7a09303212e2" name="ShortSenseUbatGndError">
74 <generalization xmi:type="uml:Generalization" xmi:id="GUID+7fcb0f1e-ee75-4025-87f3-628100aa335b" general="GUID+d9d65175-b83c-4a10-b7d2-6a3ce0565615"/>
75 </packagedElement>
76 <packagedElement xmi:type="uml:Class" xmi:id="GUID+48b88776-a1a3-47bb-a658-a12de079afaf" name="TemperatureError">
77 <generalization xmi:type="uml:Generalization" xmi:id="GUID+aa258982-ac00-498d-8459-944a4cfe94b7" general="GUID+340b5c52-0a00-407d-b4de-e7210cb5cbab"/>
78 </packagedElement>
79 <packagedElement xmi:type="uml:Class" xmi:id="GUID+1ed911f3-479f-4721-bfff-04fae9aecac1" name="TemperatureSensorError">
80 <generalization xmi:type="uml:Generalization" xmi:id="GUID+36c31bec-5a78-4d82-9a0e-a3f80a501053" general="GUID+5b9e4e43-e723-4379-8b16-6bd2a17afc62"/>
81 </packagedElement>
82 <packagedElement xmi:type="uml:Class" xmi:id="GUID+79ade3d0-c388-4a80-be39-f68a386d95d1" name="VoltageError">
83 <generalization xmi:type="uml:Generalization" xmi:id="GUID+39c4c15c-bce1-403b-8ec1-01f6648c74ca" general="GUID+340b5c52-0a00-407d-b4de-e7210cb5cbab"/>
84 </packagedElement>
85 <packagedElement xmi:type="uml:Class" xmi:id="GUID+0f474175-fa54-4e22-9fde-c1ac83af0bf8" name="BodySenseSystem">
86 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+982e73e5-dc63-4b29-b1c4-8b353b2cb0f8" name="ADC_Thermistor_MAX_Diff_Threshold" visibility="public">
87 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
88 </ownedAttribute>
89 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+021c967c-e7a8-4489-83e8-324c1f6dcb70" name="PWMDiagADC1_MIN_Threshold" visibility="public">
90 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
91 </ownedAttribute>
92 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+bbad8304-049a-4493-9416-45e15209b956" name="PWMDiagADC1_MAX_Threshold" visibility="public">
93 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
94 </ownedAttribute>
95 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+66763855-b068-4a84-8316-35340690b89b" name="PWMDiagADC12_MIN_Threshold" visibility="public">
96 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
97 </ownedAttribute>
98 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+0ec29d37-c641-4c50-b151-01eba69b8a7f" name="PWMDiagADC12_MAX_Threshold" visibility="public">
99 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
100 </ownedAttribute>
101 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+3479af54-b7e8-427f-b819-150f67987ee9" name="PWMDiagADC13_MIN_Threshold" visibility="public">
102 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
103 </ownedAttribute>
104 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+3d34d555-b76d-4526-a106-c82ee2049301" name="PWMDiagADC13_MAX_Threshold" visibility="public">
105 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
106 </ownedAttribute>
107 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+ef978564-8c59-4ec2-9abd-9df8c0bdee44" name="GuardCurrent_MIN_Treshold" visibility="public">
108 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
109 </ownedAttribute>
110 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+6280fc2f-0f31-4978-9cf9-abb4b6000d6a" name="GuardACVoltage_MIN_Threshold" visibility="public">
111 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
112 </ownedAttribute>
113 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+0b4edcf5-6c85-4740-b63c-c840c1594474" name="GuardACVoltage_MAX_Threshold" visibility="public">
114 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
115 </ownedAttribute>
116 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+50c18c86-6209-45fc-9f4d-84ad088fdb57" name="GuardCurrent_MAX_Treshold1" visibility="public">
117 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
118 </ownedAttribute>
119 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+9e3b4aa9-fcc0-4469-8c67-df11539bdbbc" name="GuardCurrent_MAX_Treshold2" visibility="public">
120 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
121 </ownedAttribute>
122 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+f98ed933-a42d-4dfc-90af-c2df9cdfed96" name="discardFlag" visibility="public">
123 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
124 </ownedAttribute>
125 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+04466852-4310-494e-bab8-06722f00a5d9" name="NORMAL_VOLTAGE_MIN" visibility="public" isReadOnly="true">
126 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
127 <defaultValue xmi:type="uml:LiteralReal" xmi:id="_2SQ0kOZFEeepcMgPsKwFYA" value="7.0"/>
128 </ownedAttribute>
129 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+012703af-55ef-4f34-abb3-dd0da557d6a8" name="NORMAL_VOLTAGE_MAX" visibility="public" isReadOnly="true">
130 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
131 <defaultValue xmi:type="uml:LiteralReal" xmi:id="_oyrC8OZFEeepcMgPsKwFYA" value="16.5"/>
132 </ownedAttribute>
133 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+93f50d8d-dd27-4120-8753-4e99f8d4409d" name="resetCounter" visibility="public">
134 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
135 </ownedAttribute>
136 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+3f17c9e6-a89d-4b2a-984e-16073d669f37" name="calibrationDone" visibility="public">
137 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
138 </ownedAttribute>
139 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+60dafbf2-8dd4-4411-a102-bab6093dd6e3" name="buildCheckStatus" visibility="public" type="GUID+98b4d567-5252-4aec-ab11-94ca8fbfd876"/>
140 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+8812fe5c-608d-4cf8-9ba2-76991f98f5d8" name="communicationOn" visibility="public">
141 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
142 </ownedAttribute>
143 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+80c839ba-8fdd-49ae-8059-a3ca6a77c873" name="abortFlag" visibility="public">
144 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
145 <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_mgCfj2paEeS7fJC3QiZfaQ"/>
146 </ownedAttribute>
147 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+bfea8765-8bac-425e-9ad5-beccedba9327" name="measuredTemperature" visibility="public">
148 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
149 </ownedAttribute>
150 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+f4923666-f06f-464c-ad0d-71c35bccbd66" name="measuredVoltage" visibility="public">
151 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
152 </ownedAttribute>
153 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+d4bcd9cc-bb97-4f8f-84c9-2a608ec78ba3" name="ERROR_VOLTAGE_HYSTERESIS" visibility="public" isReadOnly="true">
154 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
155 <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_mgCfk2paEeS7fJC3QiZfaQ" value="200"/>
156 </ownedAttribute>
157 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+0faae0df-89fb-40d4-85b6-48cd9b77d0b6" name="VOLTAGE_ERROR_UNDETECTION_THRESHOLD" visibility="public" isReadOnly="true">
158 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
159 </ownedAttribute>
160 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+c8733d78-b932-4b1d-8f08-6b2d94cf94ab" name="VOLTAGE_ERROR_DETECTION_THRESHOLD" visibility="public" isReadOnly="true">
161 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
162 </ownedAttribute>
163 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+1e691d0a-818f-4d4e-9daf-e6d88d45912c" name="TEMPERATURE_MAX" visibility="public" isReadOnly="true">
164 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
165 <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_mgCfl2paEeS7fJC3QiZfaQ" value="60"/>
166 </ownedAttribute>
167 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+e82ccb12-d996-448e-b2ea-0f23c82bf36e" name="TEMPERATURE_LIMIT_MAX" visibility="public" isReadOnly="true">
168 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
169 <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_mgCfmWpaEeS7fJC3QiZfaQ" value="100"/>
170 </ownedAttribute>
171 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+065bb55f-836e-44c3-9f09-decab0dd1d03" name="seatTemperatureCompensationFlag" visibility="public">
172 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
173 </ownedAttribute>
174 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+c284a7c5-fd33-4c1a-8a58-fe9abb78f198" name="compensationRezeoringFlag" visibility="public">
175 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
176 </ownedAttribute>
177 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+5ae9dd1e-2950-418c-8609-37214a15fe92" name="frequencyIndex" visibility="public">
178 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
179 <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_mgCfnWpaEeS7fJC3QiZfaQ"/>
180 </ownedAttribute>
181 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+1bc3b688-dc86-42f1-b0ec-58f1ca617123" name="CX_LIMIT" visibility="public" isReadOnly="true">
182 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
183 </ownedAttribute>
184 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+de09bdd8-b645-4323-8655-dd52d410ec7c" name="GX_LIMIT" visibility="public" isReadOnly="true">
185 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
186 </ownedAttribute>
187 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+f867c45c-5704-411f-84d5-ea180a777aba" name="isMeasurementDataPlausible" visibility="public">
188 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
189 </ownedAttribute>
190 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+381091ac-85a3-4116-8ae2-76eafae22f05" name="itsTimer" visibility="public" type="GUID+6959692e-af45-40ee-b0fb-6a34ab872fe6" association="GUID+cbe808a6-06cc-4469-a39a-4e0c9af87eed"/>
191 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+68728fd2-e5bc-4115-bf8f-57bd838ab09f" name="itsNVM" visibility="public" type="GUID+03a6e68a-e687-4da1-afe8-a4cc7d7dc80b" association="GUID+faef7c57-fe29-4721-8e95-f68adb4c3db2"/>
192 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+27dc4967-d64d-4dcc-9038-c8bd47700c85" name="itsLoadedCalibrationData" visibility="public" type="GUID+862b21ad-fe99-4187-a3cf-ac61ba758b6e" association="GUID+bbe1f8e1-57c6-44fd-bd5a-e8198b2b3c4a">
193 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mgCfpGpaEeS7fJC3QiZfaQ"/>
194 </ownedAttribute>
195 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+c6913877-0ff3-4d9b-8c90-a39339cc1268" name="itsWatchdog" visibility="public" type="GUID+5f5aca8c-fb3f-4fd1-b4d8-01c234e1907c" association="GUID+3eff4bbf-a78c-4a39-869b-fb42314a7024"/>
196 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+66885a26-3da4-425b-bde9-2dde68605810" name="itsTemperatureSensor" visibility="public" type="GUID+b103d9a5-f222-4835-b60f-56236203ab44" association="GUID+0a638758-4e69-46f4-9b73-cb71bacbafdf"/>
197 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+1f474478-a4a9-40f7-8722-1d68578ba047" name="itsPreviousOccupancyStatus" visibility="public" type="GUID+66fe09ac-7246-4e38-b0de-ccd788f7347b" association="GUID+eaf63a81-1e41-4de3-b94d-eb3f52e51e15"/>
198 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+88d4da64-8034-40a4-bd44-1558acd54307" name="itsALU" visibility="public" type="GUID+21e2b3ba-944c-4b73-b237-49bc668a139d" association="GUID+44591504-aed0-4354-9c71-c424de018587"/>
199 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+478c8763-c0da-4b05-bbc1-e9d826793df0" name="itsOccupancyStatus" visibility="public" type="GUID+66fe09ac-7246-4e38-b0de-ccd788f7347b" association="GUID+05618f64-fb68-40b7-bd3a-6ffa3884d335"/>
200 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+1010d33a-32d4-4e94-9e16-c51c59ef374e" name="itsBodySenseElectronics" visibility="public" type="GUID+33990a46-5bc7-4ed6-a952-40212c7a7e2a" association="GUID+a9c80e74-724c-4b38-a42d-be9f9cd06038"/>
201 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+a3ab1373-15aa-415b-a1a8-967e74d68bcf" name="itsROM" visibility="public" type="GUID+2ab04b30-dac5-4cc4-b682-122064af889a" association="GUID+e71c0e9a-901e-4bc0-9d48-418713906dee"/>
202 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+f370cb64-dc8b-4b9d-b46d-fd9f7ad7e49d" name="itsMeasurementValue" visibility="public" type="GUID+f921f48d-7f45-4013-9187-ade53258a900" association="GUID+ca517787-217f-4692-a7f9-314f16a02ced"/>
203 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+69169118-aa04-497f-b7aa-e68553925437" name="itsError" visibility="public" type="GUID+340b5c52-0a00-407d-b4de-e7210cb5cbab" association="GUID+f05e6892-5c49-4fb5-b7ef-2f9ed7c73bd1">
204 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mgCfr2paEeS7fJC3QiZfaQ"/>
205 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mgCfrmpaEeS7fJC3QiZfaQ" value="*"/>
206 </ownedAttribute>
207 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+bf450128-4370-4ae1-af37-b9b0375b347a" name="itsRAM" visibility="public" type="GUID+4d186178-6743-487a-b076-f02b2f3d001a" association="GUID+b99c3d2f-bb55-4689-995f-df24c587bb88"/>
208 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+a39561af-8268-4233-96f0-2842947ae10e" name="itsIgnitionResetButton" visibility="public" type="GUID+5ccdd823-5164-4f1e-a14d-895c7f8165e5" association="GUID+e0c6236a-7292-4de6-a0d0-f55e09c20b19"/>
209 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+120bf304-389c-4f2e-a1fe-1024bf080b56" name="itsSFR" visibility="public" type="GUID+5e7682a5-b34e-4358-95ff-829e0be23658" association="GUID+e3bc66db-a238-4056-beb9-a12a5d05c111"/>
210 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+da01c4d6-b4a6-4b3c-a666-a875e63fe1bf" name="itsVoltageSensor" visibility="public" type="GUID+53333089-c1dd-4487-982a-fa14deaa8510" association="GUID+a35fad26-bc73-4424-8dc8-eae52113c5f1"/>
211 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+b8ca4358-dd93-49db-93a9-06b7521aab41" name="itsDefaultCalibrationData" visibility="public" type="GUID+862b21ad-fe99-4187-a3cf-ac61ba758b6e" association="GUID+6850f3f9-cd35-49be-8def-07e2c46a699f"/>
212 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+b06be66b-9af4-48fd-b01f-2a45446f6c7d" name="itsAirbagControlUnit" visibility="public" type="GUID+aeaf44bf-4d97-43e2-b5aa-f6a5d83d2b85" association="GUID+d9fe5cca-f9f8-473e-8bf2-9240a278b4d2"/>
213 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+8daf9eb1-da96-4db7-b037-988c73a152c6" name="itsBodySenseSensor" visibility="public" type="GUID+2aa138ab-8791-4b76-8cf7-23d650c1933f" association="GUID+97c91b3c-f082-4cc6-8cd9-f00aaf733b16"/>
214 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+7bd9d92e-612d-41d3-9c5a-c7e242db0fd4" name="set_error_internal_measurement_device_error_not_detected" visibility="public"/>
215 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+d887b180-0e2f-4efb-b516-c6d2709e13f7" name="set_temperature_sensor_error_detected" visibility="public"/>
216 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+6472bf46-57c9-41d9-90ce-c49ffe7ccb7f" name="set_internal_measurement_path_error_detected" visibility="public"/>
217 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+9450310d-43cb-4f29-8c78-f67a009d100d" name="set_error_external_measurement_device_error_not_detected" visibility="public"/>
218 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+b6e2683e-acee-4d9c-be19-91b42db14742" name="set_seat_frame_connection_error_detected" visibility="public"/>
219 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+03b3bc18-bbee-44a6-9331-e670d2d2b87b" name="set_seat_heater_integrity_error_detected" visibility="public"/>
220 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+e7cbc56d-5749-4226-babf-33b6e21383c6" name="set_cable_shield_integrity_error_detected" visibility="public"/>
221 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+b2fcd944-52c6-47e6-9af9-603392c9f6e3" name="set_measurement_sense_path_error_detected" visibility="public"/>
222 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+1b7d110e-1979-44bc-a747-fcdf2fd3f7b3" name="set_short_sense_Ubat_GND_error_detected" visibility="public"/>
223 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+b728c6ed-5701-4ff3-b1f7-05013fd012b0" name="set_temperature_error_not_detected" visibility="public"/>
224 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+455e5434-90cc-4627-90c7-0877bb9b104b" name="set_error_temperature_range_errors_detected" visibility="public"/>
225 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+49a430d4-1913-4845-b5fa-5345edfeba0c" name="apply_compensations_static_compensation" visibility="public"/>
226 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+ae586f62-7e4c-437a-a274-5de39946a374" name="apply_compensations_dynamic_compensation_coil_temperature" visibility="public"/>
227 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+6a41e9f1-d2bf-4731-b059-1ff800521388" name="compensate_measurement_result_for_temperature" visibility="public"/>
228 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+640c58f8-93e4-42ab-945d-8653f649b671" name="compensate_measurement_result_for_rezeroing" visibility="public"/>
229 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+65457636-0db9-43fa-a8c8-e937e6fcad64" name="limit_measurement_data" visibility="public"/>
230 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+1b122de8-9491-4d29-b262-afc95f08c030" name="select_measurement_data" visibility="public"/>
231 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+56589a5d-1155-4f14-b235-8ff865551ef1" name="set_error_measurement_range_error_not_detected" visibility="public"/>
232 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+4ab370a7-62e5-42da-83f0-f58d973acb29" name="set_error_measurement_range_error_detected" visibility="public"/>
233 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+66aef061-ff15-4a7c-bd77-40e1cf55d646" name="derive_occupancy_class_for_airbag_control" visibility="public"/>
234 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+85b9e864-73f1-4469-b63f-5859c6085a22" name="derive_occupancy_class_for_sbr_control" visibility="public"/>
235 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+96ee0487-d9ab-4838-b305-7c3c0e98b9c6" name="set_error_memory_error_not_detected" visibility="public"/>
236 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+f715550c-5203-47a7-8e04-c2f59ca2b8d1" name="set_error_memory_error_detected" visibility="public"/>
237 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+1ff280e5-d889-446b-a00e-6f020a16e6e9" name="reset_classification_filters" visibility="public"/>
238 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+e7867e6b-9b5a-46e1-9ac3-d1244d8bd914" name="start_identification" visibility="public"/>
239 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+2e4d2203-78f9-46bd-82b1-7e42657e8050" name="ignite_the_system" visibility="public"/>
240 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+fd7181a6-56b4-4aa0-91aa-8899a05b0290" name="set_all_errors_not_detected" visibility="public"/>
241 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+01439a06-bf7e-4ab9-8c1b-4bb54cf32f15" name="initialize_occupant_class_for_airbag_control" visibility="public"/>
242 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+d4142ceb-5d4f-46bf-895a-e55df5dc1a03" name="initialize_occupant_class_for_sbr_control" visibility="public"/>
243 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+30acd70b-d600-4b89-b361-1d188334f1fc" name="set_error_discard_error_detected" visibility="public"/>
244 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+2dfb2b8b-5272-4dbd-b54d-7a81996e2a75" name="set_error_normal_operation_conditions_error_detected" visibility="public"/>
245 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+688a5f33-1368-4b3e-9d71-926cc75ab214" name="set_error_watchdog_error_detected" visibility="public"/>
246 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+596a8b30-092d-4359-9467-63172cf091bb" name="set_error_calibration_not_learned_detected" visibility="public"/>
247 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+b2d4ccc2-e4c3-4892-a9be-547641adf012" name="set_error_build_check_not_run_error_detected" visibility="public"/>
248 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+979d29c6-f7fa-414f-b597-d26e4cd0b415" name="set_error_build_check_failed_error_detected" visibility="public"/>
249 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+be585f89-fde0-4515-ba13-772ac4dc3f9f" name="qualify_all_error_locking_errors" visibility="public"/>
250 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+ff1690c1-456a-4d55-beec-909cc07c8a11" name="enable_communication" visibility="public"/>
251 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+4d686a05-3876-479d-9df5-b3856a9eb73a" name="load_calibration_data" visibility="public"/>
252 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+5af986cf-0ac3-4bbb-8f66-93b062ed110d" name="set_error_NVM_CRC_error_detected" visibility="public"/>
253 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+79849ef9-e469-4575-a224-fe8211711472" name="set_NVM_access_error_detected" visibility="public"/>
254 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+a7ab9a9a-7896-4636-9d09-641214c70d8a" name="set_error_calibration_data_error_detected" visibility="public"/>
255 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+560fb26e-5f2d-4893-bd96-63a626597269" name="load_default_calibration_data" visibility="public"/>
256 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+ba703880-a37d-43f2-8b14-b4a5744ccbd0" name="set_error_RAM_error_detected" visibility="public"/>
257 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+a7b7b378-d59e-4a3a-9a7c-3b346659ad24" name="set_error_SFR_error_detected" visibility="public"/>
258 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+dc8bd6d2-fc48-4d5a-b042-1362156db1a5" name="set_error_ALU_error_detected" visibility="public"/>
259 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+5a50328e-50b8-4b3a-9cba-49ebc6cc20f5" name="load_calibration_data_from_NVM" visibility="public"/>
260 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+6ce66ad0-fc82-478e-b65d-c3785a3eea13" name="set_error_ROM_error_detected" visibility="public"/>
261 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+9b0b5c63-2dbb-490f-a424-a37e84caa1c8" name="set_abort_flag" visibility="public"/>
262 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+93cdf0e1-779f-4fcb-983d-66f36ef5fb45" name="reset_abort_flag" visibility="public"/>
263 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+8816bc47-95d3-48a1-b85e-8f8d669181ef" name="start_voltage_check" visibility="public"/>
264 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+455fc8ad-5e45-4f93-8f82-25540d8e153c" name="set_voltage_high_error_detected" visibility="public"/>
265 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+90325485-d96c-4a88-8c26-743608cea781" name="set_voltage_high_error_not_detected" visibility="public"/>
266 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+f8407ffd-95f4-4874-8b35-2ed9202f23d0" name="set_voltage_low_error_detected" visibility="public"/>
267 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+faf17d03-0d28-464f-897a-08ded5f5fd27" name="set_voltage_low_error_not_detected" visibility="public"/>
268 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+4eed62c1-e124-4328-a3e6-b626e9e63e72" name="set_voltage_high_error_qualified" visibility="public"/>
269 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+67a374e4-9678-4f9a-b034-f1522bd2e877" name="set_voltage_high_error_not_qualified" visibility="public"/>
270 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+f01d6fd9-f2fe-4bce-992d-2b435577f2a8" name="set_voltage_low_error_qualified" visibility="public"/>
271 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+ee0c38a9-4367-4681-807e-e85d8c861ce3" name="set_voltage_low_error_not_qualified" visibility="public"/>
272 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+3d0f0fe9-7132-48db-8572-956bbe3c60af" name="reset_voltage_high_error_detection_counter" visibility="public"/>
273 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+80952d39-4ce2-4fae-9091-c07aa8861d62" name="reset_voltage_low_error_detection_counter" visibility="public"/>
274 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+29064101-c11e-4917-bdf5-0e2914b8283e" name="increase_voltage_high_error_detection_counter" visibility="public"/>
275 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+6f007d60-feeb-4d5f-8580-9b841572aa2d" name="decrease_voltage_high_error_detection_counter" visibility="public"/>
276 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+d3c4466c-7e01-4a5c-b93c-19f0f52e6bd6" name="increase_voltage_low_error_detection_counter" visibility="public"/>
277 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+71d02a28-2a5b-41cc-bc5d-48075d496ea9" name="decrease_voltage_low_error_detection_counter" visibility="public"/>
278 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+dd5ae4c3-3ecb-4c06-8549-b44bbbd58d15" name="set_error_temperature_range_limit_errors_detected" visibility="public"/>
279 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+8ea56e25-2f0d-49df-ad5c-1f2f064a8cb1" name="increase_frequency_index" visibility="public"/>
280 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+ee1103f9-6bdf-4b0f-bdc9-54f2fc5b74ec" name="reset_frequency_index" visibility="public"/>
281 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+4f90aed8-79ae-45c6-aa2e-790cf8a14c29" name="collect_all_detected_errors" visibility="public"/>
282 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+668f8314-a67f-4eb9-b8da-7cf985f48e9a" name="qualify_errors" visibility="public"/>
283 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+4f35f23c-b5c0-4c46-8a98-193e06f759bf" name="set_error_discard_error_qualified" visibility="public"/>
284 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+1c726d30-56e5-4758-8962-c3a897f5e44b" name="set_discard_flag" visibility="public"/>
285 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+fb5cfb97-0cf9-4557-9348-d055e5cb3c08" name="increase_error_qualification_counter" visibility="public"/>
286 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+b266aae4-d74f-428e-aa48-048c19d50991" name="add_error_to_error_status" visibility="public"/>
287 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+b1d0ad0d-2fed-4f79-a604-4ad47910851a" name="set_detected_error_active" visibility="public"/>
288 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+b2f699b4-4899-4780-bd2a-e93353abaf42" name="updates_error_traceability_buffer" visibility="public"/>
289 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+f49b5d6a-6a38-4bba-b9e7-f698cf8e2a7c" name="reset_error_fault_free_ignition_counter" visibility="public"/>
290 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+5ffd38ae-2f99-4aff-a2ed-ba26ae743c63" name="collect_all_not_detected_errors" visibility="public"/>
291 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+862092ae-6b88-499c-bb9b-7150c065d333" name="reset_error_qualification_history" visibility="public"/>
292 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+18d2f573-2f89-4114-8cec-e76bfd0abb28" name="reset_error_dequalification_history" visibility="public"/>
293 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+936d226b-6772-412a-a918-e5f4c7849959" name="dequalify_errors" visibility="public"/>
294 </packagedElement>
295 <packagedElement xmi:type="uml:Class" xmi:id="GUID+66fe09ac-7246-4e38-b0de-ccd788f7347b" name="OccupancyStatus">
296 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+6ad7c27a-37ff-4d29-a951-d5b0dcb3de51" name="OccupantClassForAirbagControl" visibility="public" type="GUID+a7a55376-97c1-4516-8524-c4a77235a929"/>
297 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+e757c865-c06b-4b24-b79d-a1878bd0e955" name="OccupantClassForSeatBeltReminder" visibility="public" type="GUID+a2e418ae-a4e5-4308-9993-ff3dd7ad5fbf"/>
298 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+409fff9c-bb4b-42b5-a24e-901d71454042" name="hasValidClassforAirbagControl" visibility="public">
299 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
300 </ownedAttribute>
301 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+8d481442-2d6c-4ef3-a0f7-523e1ed6599f" name="hasValidClassforSbr" visibility="public">
302 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
303 </ownedAttribute>
304 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+9492b531-8d79-4963-9d04-7e45efe9d4cb" name="itsBodySenseSystem_1" visibility="public" type="GUID+0f474175-fa54-4e22-9fde-c1ac83af0bf8" association="GUID+eaf63a81-1e41-4de3-b94d-eb3f52e51e15"/>
305 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+c37ff336-8596-4135-8aee-03c36bed4c07" name="itsBodySenseSystem" visibility="public" type="GUID+0f474175-fa54-4e22-9fde-c1ac83af0bf8" association="GUID+05618f64-fb68-40b7-bd3a-6ffa3884d335"/>
306 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+a274dbf9-ed8d-4933-b70f-6c610322ebeb" name="itsAirbagControlUnit" visibility="public" type="GUID+aeaf44bf-4d97-43e2-b5aa-f6a5d83d2b85" association="GUID+3e632cf8-c2a9-4835-82f0-059874ceaf89"/>
307 </packagedElement>
308 <packagedElement xmi:type="uml:Class" xmi:id="GUID+83d1aa98-a39e-4aef-8540-0de24b687755" name="VoltageLowError">
309 <generalization xmi:type="uml:Generalization" xmi:id="GUID+c26fa862-9cfe-427f-a64f-3fdc080d42e6" general="GUID+79ade3d0-c388-4a80-be39-f68a386d95d1"/>
310 </packagedElement>
311 <packagedElement xmi:type="uml:Class" xmi:id="GUID+313aad79-a621-474f-85bf-528b16c0ac69" name="VoltageHighError">
312 <generalization xmi:type="uml:Generalization" xmi:id="GUID+01ea632a-c918-47a8-88be-69cc3286b762" general="GUID+79ade3d0-c388-4a80-be39-f68a386d95d1"/>
313 </packagedElement>
314 <packagedElement xmi:type="uml:Class" xmi:id="GUID+23eb5620-e1bd-4389-906b-817159470e93" name="NormalOperationConditionError">
315 <generalization xmi:type="uml:Generalization" xmi:id="GUID+f6153671-c580-4e64-9192-d4549b50030a" general="GUID+340b5c52-0a00-407d-b4de-e7210cb5cbab"/>
316 </packagedElement>
317 <packagedElement xmi:type="uml:Class" xmi:id="GUID+2851a373-02c4-4b49-9037-5c78e948c611" name="DiscardError">
318 <generalization xmi:type="uml:Generalization" xmi:id="GUID+b7bdeb47-8619-4727-897f-87b3a048da73" general="GUID+23eb5620-e1bd-4389-906b-817159470e93"/>
319 </packagedElement>
320 <packagedElement xmi:type="uml:Class" xmi:id="GUID+5cc2b4d9-80a3-4c0b-a994-fa843bb8feef" name="WatchdogError">
321 <generalization xmi:type="uml:Generalization" xmi:id="GUID+f7b5dd97-be9c-4258-8bd4-8fd050579531" general="GUID+23eb5620-e1bd-4389-906b-817159470e93"/>
322 </packagedElement>
323 <packagedElement xmi:type="uml:Class" xmi:id="GUID+f6ded33d-b2b5-432a-af24-3f44f4ff727b" name="BuildCheckError">
324 <generalization xmi:type="uml:Generalization" xmi:id="GUID+49604892-233a-489d-ae1c-631bcf07f5a8" general="GUID+23eb5620-e1bd-4389-906b-817159470e93"/>
325 </packagedElement>
326 <packagedElement xmi:type="uml:Class" xmi:id="GUID+980cc2e4-7688-4201-b515-80f9977903c4" name="NVMAccessError">
327 <generalization xmi:type="uml:Generalization" xmi:id="GUID+81d90d44-35e7-4eb9-b9ce-10da7888c124" general="GUID+39e9e36d-3b1d-4ff0-b839-fa900547ec8e"/>
328 </packagedElement>
329 <packagedElement xmi:type="uml:Class" xmi:id="GUID+5b3b9a4c-c178-4cd1-b969-4de8bdb001ec" name="CalibrationNotLearnedError">
330 <generalization xmi:type="uml:Generalization" xmi:id="GUID+a5ff940c-90ec-4253-be0a-7a5cbccf8d71" general="GUID+23eb5620-e1bd-4389-906b-817159470e93"/>
331 </packagedElement>
332 <packagedElement xmi:type="uml:Class" xmi:id="GUID+f680048f-65f2-4916-bdde-60353c73c8ef" name="BuildCheckNotRunError">
333 <generalization xmi:type="uml:Generalization" xmi:id="GUID+8d5d5558-dded-482e-acd2-36beffb7b613" general="GUID+f6ded33d-b2b5-432a-af24-3f44f4ff727b"/>
334 </packagedElement>
335 <packagedElement xmi:type="uml:Class" xmi:id="GUID+6ea95903-08c4-4759-bc29-6e1e4d3a3a29" name="BuildCheckFailedError">
336 <generalization xmi:type="uml:Generalization" xmi:id="GUID+013f6658-8a94-49b4-be4d-885a9f106bec" general="GUID+f6ded33d-b2b5-432a-af24-3f44f4ff727b"/>
337 </packagedElement>
338 <packagedElement xmi:type="uml:Class" xmi:id="GUID+f9b0c4b6-99e7-4c84-a1e1-4d7b3eac0ff9" name="SFRError">
339 <generalization xmi:type="uml:Generalization" xmi:id="GUID+0c07b9a4-29d4-4e71-a07c-679ebbe6deb0" general="GUID+39e9e36d-3b1d-4ff0-b839-fa900547ec8e"/>
340 </packagedElement>
341 <packagedElement xmi:type="uml:Class" xmi:id="GUID+47d32e95-840d-4220-b9b2-bd1743d6548f" name="ALUError">
342 <generalization xmi:type="uml:Generalization" xmi:id="GUID+56161c8a-9865-4a29-87a7-739238ba2d3f" general="GUID+39e9e36d-3b1d-4ff0-b839-fa900547ec8e"/>
343 </packagedElement>
344 <packagedElement xmi:type="uml:Class" xmi:id="GUID+39e9e36d-3b1d-4ff0-b839-fa900547ec8e" name="MemoryError">
345 <generalization xmi:type="uml:Generalization" xmi:id="GUID+7713eafc-717e-4794-b90a-7f7e76ae09ab" general="GUID+340b5c52-0a00-407d-b4de-e7210cb5cbab"/>
346 </packagedElement>
347 <packagedElement xmi:type="uml:Class" xmi:id="GUID+e42837ee-2901-42fa-804a-9fe3948dd72b" name="RAMError">
348 <generalization xmi:type="uml:Generalization" xmi:id="GUID+f336f7c2-270e-48f2-9926-a1959a57dfb8" general="GUID+39e9e36d-3b1d-4ff0-b839-fa900547ec8e"/>
349 </packagedElement>
350 <packagedElement xmi:type="uml:Class" xmi:id="GUID+9ba8a2c2-70a1-40b8-abed-3ad1f4a7e169" name="ROMError">
351 <generalization xmi:type="uml:Generalization" xmi:id="GUID+c270ccb8-b150-414e-81bb-440206af7c10" general="GUID+39e9e36d-3b1d-4ff0-b839-fa900547ec8e"/>
352 </packagedElement>
353 <packagedElement xmi:type="uml:Class" xmi:id="GUID+60a533bd-6085-4cad-9f53-7432f92b7e2a" name="NVMCRCError">
354 <generalization xmi:type="uml:Generalization" xmi:id="GUID+5ce55d14-c2f1-4c9a-bf55-a42269c668bd" general="GUID+39e9e36d-3b1d-4ff0-b839-fa900547ec8e"/>
355 </packagedElement>
356 <packagedElement xmi:type="uml:Class" xmi:id="GUID+326f3ec3-76a5-4999-96c0-06866dc56ae8" name="CalibrationDataError">
357 <generalization xmi:type="uml:Generalization" xmi:id="GUID+0e65b5ba-4a6e-46f8-826f-b62287ae47b6" general="GUID+39e9e36d-3b1d-4ff0-b839-fa900547ec8e"/>
358 </packagedElement>
359 <packagedElement xmi:type="uml:Class" xmi:id="GUID+4d186178-6743-487a-b076-f02b2f3d001a" name="RAM">
360 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+ed67dec5-7a4c-4d86-8ff0-0cf1a86faada" name="isValid" visibility="public">
361 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
362 </ownedAttribute>
363 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+63f5a563-543d-45b6-877b-e7629bf5f2f4" name="itsBodySenseSystem" visibility="public" type="GUID+0f474175-fa54-4e22-9fde-c1ac83af0bf8" association="GUID+b99c3d2f-bb55-4689-995f-df24c587bb88"/>
364 </packagedElement>
365 <packagedElement xmi:type="uml:Class" xmi:id="GUID+5e7682a5-b34e-4358-95ff-829e0be23658" name="SFR">
366 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+6af6d11b-92c5-40bc-a231-0273af76c806" name="isValid" visibility="public">
367 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
368 </ownedAttribute>
369 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+ae955560-f1cd-457e-be40-90ec2a706122" name="itsBodySenseSystem" visibility="public" type="GUID+0f474175-fa54-4e22-9fde-c1ac83af0bf8" association="GUID+e3bc66db-a238-4056-beb9-a12a5d05c111"/>
370 </packagedElement>
371 <packagedElement xmi:type="uml:Class" xmi:id="GUID+21e2b3ba-944c-4b73-b237-49bc668a139d" name="ALU">
372 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+ae141729-73c8-49b5-b950-e55d52e53c98" name="isValid" visibility="public">
373 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
374 </ownedAttribute>
375 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+d1bb834b-4960-4527-a268-079af0a635dd" name="itsBodySenseSystem" visibility="public" type="GUID+0f474175-fa54-4e22-9fde-c1ac83af0bf8" association="GUID+44591504-aed0-4354-9c71-c424de018587"/>
376 </packagedElement>
377 <packagedElement xmi:type="uml:Class" xmi:id="GUID+5f5aca8c-fb3f-4fd1-b4d8-01c234e1907c" name="Watchdog">
378 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+080f3db4-662a-4a1f-998e-a9b259e787ee" name="isEnabled" visibility="public">
379 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
380 </ownedAttribute>
381 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+1df132f0-f5bb-443c-9a68-82a26fbd6592" name="itsBodySenseSystem" visibility="public" type="GUID+0f474175-fa54-4e22-9fde-c1ac83af0bf8" association="GUID+3eff4bbf-a78c-4a39-869b-fb42314a7024"/>
382 </packagedElement>
383 <packagedElement xmi:type="uml:Class" xmi:id="GUID+03a6e68a-e687-4da1-afe8-a4cc7d7dc80b" name="NVM">
384 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+fa000fc1-c478-49e6-b576-6f289a865a7d" name="isAccessible" visibility="public">
385 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
386 </ownedAttribute>
387 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+99409fbe-ca55-4984-bd02-7d04bb53f460" name="itsBodySenseSystem" visibility="public" type="GUID+0f474175-fa54-4e22-9fde-c1ac83af0bf8" association="GUID+faef7c57-fe29-4721-8e95-f68adb4c3db2"/>
388 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+63a5bdf7-b862-4ffb-a1d9-62b856939c6f" name="itsCalibrationData" visibility="public" type="GUID+862b21ad-fe99-4187-a3cf-ac61ba758b6e" association="GUID+45a73731-aa8f-4737-a159-5e09b69fe420"/>
389 </packagedElement>
390 <packagedElement xmi:type="uml:Class" xmi:id="GUID+862b21ad-fe99-4187-a3cf-ac61ba758b6e" name="CalibrationData">
391 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+dbeeafdc-6189-41a4-8060-ab51a318c163" name="crcCheck" visibility="public">
392 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
393 </ownedAttribute>
394 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+751fd7cd-eddc-4b83-b8ca-2736ea364089" name="isValid" visibility="public">
395 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
396 </ownedAttribute>
397 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+f070f658-dc36-4e83-be04-eebcc4503b5b" name="itsBodySenseSystem_1" visibility="public" type="GUID+0f474175-fa54-4e22-9fde-c1ac83af0bf8" association="GUID+bbe1f8e1-57c6-44fd-bd5a-e8198b2b3c4a"/>
398 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+7264adec-5d31-4057-a5f2-4b489d6c19d4" name="itsBodySenseSystem" visibility="public" type="GUID+0f474175-fa54-4e22-9fde-c1ac83af0bf8" association="GUID+6850f3f9-cd35-49be-8def-07e2c46a699f"/>
399 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+10ddcd3e-19a3-4740-a0eb-f5dc7359b4bf" name="itsNVM" visibility="public" type="GUID+03a6e68a-e687-4da1-afe8-a4cc7d7dc80b" association="GUID+45a73731-aa8f-4737-a159-5e09b69fe420"/>
400 </packagedElement>
401 <packagedElement xmi:type="uml:Class" xmi:id="GUID+861d3241-8956-4983-9dec-9ca1a3eda6e7" name="LINResponseError">
402 <generalization xmi:type="uml:Generalization" xmi:id="GUID+29b0fa4d-8591-4856-94e2-9122f40058a3" general="GUID+38fddb17-0a3c-4a5d-b6f9-e8413b28fb0a"/>
403 </packagedElement>
404 <packagedElement xmi:type="uml:Class" xmi:id="GUID+cd922c2e-5f7d-4cd8-a96e-8e39da39484a" name="LINCRCError">
405 <generalization xmi:type="uml:Generalization" xmi:id="GUID+fd105fe6-3df9-4ead-b4f8-637fe226d289" general="GUID+38fddb17-0a3c-4a5d-b6f9-e8413b28fb0a"/>
406 </packagedElement>
407 <packagedElement xmi:type="uml:Class" xmi:id="GUID+2ab04b30-dac5-4cc4-b682-122064af889a" name="ROM">
408 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+80228514-3770-4680-999c-5fef5b99f8ed" name="isValid" visibility="public">
409 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
410 </ownedAttribute>
411 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+81072951-7939-47dd-860e-435d11852617" name="itsBodySenseSystem" visibility="public" type="GUID+0f474175-fa54-4e22-9fde-c1ac83af0bf8" association="GUID+e71c0e9a-901e-4bc0-9d48-418713906dee"/>
412 </packagedElement>
413 <packagedElement xmi:type="uml:Class" xmi:id="GUID+6d3ba789-8a7b-45bf-9cc6-75dfcbcff003" name="TemperatureRangeError">
414 <generalization xmi:type="uml:Generalization" xmi:id="GUID+8f933a25-c692-4161-bf0e-b70e9614abc9" general="GUID+48b88776-a1a3-47bb-a658-a12de079afaf"/>
415 </packagedElement>
416 <packagedElement xmi:type="uml:Class" xmi:id="GUID+f7669903-769b-441e-8832-073466c328e8" name="TemperatureRangeLimitError">
417 <generalization xmi:type="uml:Generalization" xmi:id="GUID+4bc9f164-95a3-4be8-a48f-f9e875085a2b" general="GUID+48b88776-a1a3-47bb-a658-a12de079afaf"/>
418 </packagedElement>
419 <packagedElement xmi:type="uml:Class" xmi:id="GUID+38ca0e1f-a482-4d8a-acba-e6f2ef5f8e75" name="MeasurementRangeError">
420 <generalization xmi:type="uml:Generalization" xmi:id="GUID+6d3e4caa-5cb3-43a8-b2eb-df20514c979b" general="GUID+7f785413-0c72-4c0f-8204-be2794c3e9dd"/>
421 </packagedElement>
422 <packagedElement xmi:type="uml:Class" xmi:id="GUID+f921f48d-7f45-4013-9187-ade53258a900" name="MeasurementValue">
423 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+3f270435-f39a-4833-98b0-cb2ba94f0c4c" name="cxValue" visibility="public">
424 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
425 </ownedAttribute>
426 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+3257593c-e169-4aba-8d7d-fbe33424913d" name="gxValue" visibility="public">
427 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
428 </ownedAttribute>
429 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+a58b0e85-b1bd-444d-b1b5-7049fd4a7382" name="isSaturated" visibility="public">
430 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
431 </ownedAttribute>
432 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+8cfe5162-d808-4ad4-9469-44228875131e" name="itsBodySenseSystem" visibility="public" type="GUID+0f474175-fa54-4e22-9fde-c1ac83af0bf8" association="GUID+ca517787-217f-4692-a7f9-314f16a02ced"/>
433 </packagedElement>
434 <packagedElement xmi:type="uml:Class" xmi:id="GUID+97eb2f7b-c164-4957-9367-a2ed65230091" name="DTC"/>
435 <packagedElement xmi:type="uml:Class" xmi:id="GUID+5ccdd823-5164-4f1e-a14d-895c7f8165e5" name="IgnitionResetButton">
436 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+38d5a9bd-3549-4bca-a92d-87668e7f91a3" name="itsBodySenseSystem" visibility="public" type="GUID+0f474175-fa54-4e22-9fde-c1ac83af0bf8" association="GUID+e0c6236a-7292-4de6-a0d0-f55e09c20b19"/>
437 </packagedElement>
438 <packagedElement xmi:type="uml:Class" xmi:id="GUID+6959692e-af45-40ee-b0fb-6a34ab872fe6" name="Timer">
439 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+09ae9d76-67d9-485a-a88c-56760a387e8b" name="itsBodySenseSystem" visibility="public" type="GUID+0f474175-fa54-4e22-9fde-c1ac83af0bf8" association="GUID+cbe808a6-06cc-4469-a39a-4e0c9af87eed"/>
440 </packagedElement>
441 <packagedElement xmi:type="uml:Class" xmi:id="GUID+53333089-c1dd-4487-982a-fa14deaa8510" name="VoltageSensor">
442 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+853dd134-91eb-4d76-a976-16e23e4b6acd" name="voltage" visibility="public">
443 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
444 </ownedAttribute>
445 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+30c66265-813b-47d1-8330-56d749ee69ed" name="itsBodySenseSystem" visibility="public" type="GUID+0f474175-fa54-4e22-9fde-c1ac83af0bf8" association="GUID+a35fad26-bc73-4424-8dc8-eae52113c5f1"/>
446 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+541d9fa9-b6d2-4148-a390-451139341ff7" name="get_voltage" visibility="public">
447 <ownedParameter xmi:type="uml:Parameter" xmi:id="_mgCgYmpaEeS7fJC3QiZfaQ" name="Result" direction="return">
448 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
449 </ownedParameter>
450 </ownedOperation>
451 </packagedElement>
452 <packagedElement xmi:type="uml:Class" xmi:id="GUID+2aa138ab-8791-4b76-8cf7-23d650c1933f" name="BodySenseSensor">
453 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+a3857ec0-09cc-4423-a1fe-3a57890b30d7" name="seatFrameConnectionStatus" visibility="public" type="GUID+28db8431-e6d0-4b04-884a-c84d66585f7f"/>
454 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+f6ea8478-1cb0-44b3-88ae-a60fdb1fc332" name="seatHeaterCircuitIntegrityStatus" visibility="public" type="GUID+28db8431-e6d0-4b04-884a-c84d66585f7f"/>
455 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+58002fed-4dba-4059-ad46-85aecd1f653a" name="cableShieldIntegrityStatus" visibility="public" type="GUID+28db8431-e6d0-4b04-884a-c84d66585f7f"/>
456 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+68a6fc59-b662-4d16-b56b-3508c6f722ff" name="measurementSensePathStatus" visibility="public" type="GUID+28db8431-e6d0-4b04-884a-c84d66585f7f"/>
457 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+793bd523-09a1-46f1-be17-ee0042af691c" name="shortSenseUbatGNDStatus" visibility="public" type="GUID+28db8431-e6d0-4b04-884a-c84d66585f7f"/>
458 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+e73a8b99-f16a-423d-8bac-6594a639f5e0" name="cxValue" visibility="public">
459 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
460 </ownedAttribute>
461 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+db027956-4fde-472e-aa87-0e7d7f35a343" name="gxValue" visibility="public">
462 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
463 </ownedAttribute>
464 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+366b70f9-ac6b-4230-bdef-727e4fec9d4e" name="saturationFlag" visibility="public">
465 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
466 </ownedAttribute>
467 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+8b00e42c-4692-4290-b3d7-0d8765010983" name="itsBodySenseSystem" visibility="public" type="GUID+0f474175-fa54-4e22-9fde-c1ac83af0bf8" association="GUID+97c91b3c-f082-4cc6-8cd9-f00aaf733b16"/>
468 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+2bf9074f-10d0-4b50-8565-52b83b02dc16" name="get_seat_frame_connection_status" visibility="public">
469 <ownedParameter xmi:type="uml:Parameter" xmi:id="_mgCgbmpaEeS7fJC3QiZfaQ" name="Result" type="GUID+28db8431-e6d0-4b04-884a-c84d66585f7f" direction="return"/>
470 </ownedOperation>
471 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+3ce1d937-a07f-44f2-93f6-8c1a660be5a1" name="get_seat_heater_circuit_integrity_status" visibility="public">
472 <ownedParameter xmi:type="uml:Parameter" xmi:id="_mgCgcGpaEeS7fJC3QiZfaQ" name="Result" type="GUID+28db8431-e6d0-4b04-884a-c84d66585f7f" direction="return"/>
473 </ownedOperation>
474 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+caa6da88-26e8-4307-8053-da4f613f4b7e" name="get_cable_shield_integrity_stauts" visibility="public">
475 <ownedParameter xmi:type="uml:Parameter" xmi:id="_mgCgcmpaEeS7fJC3QiZfaQ" name="Result" type="GUID+28db8431-e6d0-4b04-884a-c84d66585f7f" direction="return"/>
476 </ownedOperation>
477 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+3d4a13ab-3a4e-432b-a0b4-c99d8b4727d6" name="get_measurement_sense_path_status" visibility="public">
478 <ownedParameter xmi:type="uml:Parameter" xmi:id="_mgCgdGpaEeS7fJC3QiZfaQ" name="Result" type="GUID+28db8431-e6d0-4b04-884a-c84d66585f7f" direction="return"/>
479 </ownedOperation>
480 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+e9b441bf-c9dd-408a-b824-9d4a4288b3e7" name="get_short_sense_Ubat_GND_status" visibility="public">
481 <ownedParameter xmi:type="uml:Parameter" xmi:id="_mgCgdmpaEeS7fJC3QiZfaQ" name="Result" type="GUID+28db8431-e6d0-4b04-884a-c84d66585f7f" direction="return"/>
482 </ownedOperation>
483 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+0f13e898-c9a6-4789-8b0d-fdc1c9abf409" name="measure_occupancy_status" visibility="public">
484 <ownedParameter xmi:type="uml:Parameter" xmi:id="GUID+59e9a22a-1999-477a-aae6-163f2a9dc7e1" name="frequencyIndex">
485 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
486 </ownedParameter>
487 <ownedParameter xmi:type="uml:Parameter" xmi:id="_mgCgeWpaEeS7fJC3QiZfaQ" name="Result" type="GUID+f921f48d-7f45-4013-9187-ade53258a900" direction="return"/>
488 </ownedOperation>
489 </packagedElement>
490 <packagedElement xmi:type="uml:Class" xmi:id="GUID+33990a46-5bc7-4ed6-a952-40212c7a7e2a" name="BodySenseElectronics">
491 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+efba581e-bec9-4e9f-ad03-3e20f0c8f876" name="InternalMeasurementPathStatus" visibility="public" type="GUID+28db8431-e6d0-4b04-884a-c84d66585f7f"/>
492 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+e0c93c77-a56e-46c5-a79a-536d5d5e2ddc" name="itsBodySenseSystem" visibility="public" type="GUID+0f474175-fa54-4e22-9fde-c1ac83af0bf8" association="GUID+a9c80e74-724c-4b38-a42d-be9f9cd06038"/>
493 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+9974d2e0-508e-4c40-ac6d-fcbfe0429b71" name="get_internal_measurement_path_status" visibility="public">
494 <ownedParameter xmi:type="uml:Parameter" xmi:id="_mgCgfmpaEeS7fJC3QiZfaQ" name="Result" type="GUID+28db8431-e6d0-4b04-884a-c84d66585f7f" direction="return"/>
495 </ownedOperation>
496 </packagedElement>
497 <packagedElement xmi:type="uml:Class" xmi:id="GUID+b103d9a5-f222-4835-b60f-56236203ab44" name="TemperatureSensor">
498 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+e007d1b4-7036-4ae5-8861-6fe4b9a34225" name="temperatureSensorStatus" visibility="public" type="GUID+28db8431-e6d0-4b04-884a-c84d66585f7f"/>
499 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+a57733f7-d82f-4a5f-98ae-5a42842aa893" name="temperature" visibility="public">
500 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
501 </ownedAttribute>
502 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+f302fb2e-c2c3-43f5-9a71-96991cdd11d8" name="itsBodySenseSystem" visibility="public" type="GUID+0f474175-fa54-4e22-9fde-c1ac83af0bf8" association="GUID+0a638758-4e69-46f4-9b73-cb71bacbafdf"/>
503 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+582a0913-9f1a-4f2a-ab36-a70e5531c586" name="itsThermistor" visibility="public" type="GUID+f8144966-7d5b-479c-9f0f-6fb003324166" aggregation="composite" association="_mgCgzmpaEeS7fJC3QiZfaQ">
504 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mgCghWpaEeS7fJC3QiZfaQ" value="2"/>
505 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mgCghGpaEeS7fJC3QiZfaQ" value="2"/>
506 </ownedAttribute>
507 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+b76a30ca-d7ac-4512-8abe-5a21b70d1254" name="get_temperature_sensor_status" visibility="public">
508 <ownedParameter xmi:type="uml:Parameter" xmi:id="_mgCgh2paEeS7fJC3QiZfaQ" name="Result" type="GUID+28db8431-e6d0-4b04-884a-c84d66585f7f" direction="return"/>
509 </ownedOperation>
510 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+2a9f97af-ab75-450a-a5a1-3097a7351c07" name="get_temperature" visibility="public">
511 <ownedParameter xmi:type="uml:Parameter" xmi:id="_mgCgiWpaEeS7fJC3QiZfaQ" name="Result" direction="return">
512 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
513 </ownedParameter>
514 </ownedOperation>
515 </packagedElement>
516 <packagedElement xmi:type="uml:Class" xmi:id="GUID+f8144966-7d5b-479c-9f0f-6fb003324166" name="Thermistor">
517 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+1f4d8dbf-38db-4598-9de8-ed7a621b94e4" name="itsTemperatureSensor" visibility="public" type="GUID+b103d9a5-f222-4835-b60f-56236203ab44" association="_mgCgzmpaEeS7fJC3QiZfaQ"/>
518 </packagedElement>
519 <packagedElement xmi:type="uml:Class" xmi:id="GUID+aeaf44bf-4d97-43e2-b5aa-f6a5d83d2b85" name="AirbagControlUnit">
520 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+25cbf9bd-2ad4-4313-aa2b-ff730892a89d" name="itsOccupancyStatus" visibility="public" type="GUID+66fe09ac-7246-4e38-b0de-ccd788f7347b" association="GUID+3e632cf8-c2a9-4835-82f0-059874ceaf89"/>
521 <ownedAttribute xmi:type="uml:Property" xmi:id="GUID+a498df1b-6af8-4ea0-95bb-7df6e5758efc" name="itsBodySenseSystem" visibility="public" type="GUID+0f474175-fa54-4e22-9fde-c1ac83af0bf8" association="GUID+d9fe5cca-f9f8-473e-8bf2-9240a278b4d2"/>
522 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+348e84e2-7ced-40d8-8dff-e566b0b388d7" name="provide_previous_classification_value" visibility="public"/>
523 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+4d29595c-2588-4891-b13f-c5fe37fae046" name="send_com_DTC" visibility="public"/>
524 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+10d2c925-05d9-43e8-918d-587d33e7243a" name="send_occupant_class_for_airbag_control_error" visibility="public"/>
525 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+86c9275b-06a9-44be-b4a1-7cb8fd5b7027" name="send_occupant_class_for_sbr_control_error" visibility="public"/>
526 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+c425b85b-c093-4737-8011-582ae176b0ef" name="send_occupant_class_for_airbag_control" visibility="public">
527 <ownedParameter xmi:type="uml:Parameter" xmi:id="GUID+5b1d74bd-6333-426b-b235-d16012d67ba1" name="oc" type="GUID+66fe09ac-7246-4e38-b0de-ccd788f7347b"/>
528 </ownedOperation>
529 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+43628f2e-ebe0-4617-86f9-5b597b65ca81" name="send_occupant_class_for_sbr" visibility="public">
530 <ownedParameter xmi:type="uml:Parameter" xmi:id="GUID+9e968916-966a-4927-ac7d-719b8b1a8d8a" name="oc" type="GUID+66fe09ac-7246-4e38-b0de-ccd788f7347b"/>
531 </ownedOperation>
532 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+a2de16db-14fa-4015-93ea-d143eced4332" name="send_previous_occupant_class_for_airbag_control" visibility="public">
533 <ownedParameter xmi:type="uml:Parameter" xmi:id="GUID+e4807c28-b927-4dcf-8fdf-89f5aabd989f" name="oc" type="GUID+66fe09ac-7246-4e38-b0de-ccd788f7347b"/>
534 </ownedOperation>
535 <ownedOperation xmi:type="uml:Operation" xmi:id="GUID+15469dfe-9db8-4404-8c82-8fb73d61e19b" name="send_previous_occupant_class_for_sbr" visibility="public">
536 <ownedParameter xmi:type="uml:Parameter" xmi:id="GUID+d02cd38b-3b73-4db4-9e31-48c5e75112db" name="oc" type="GUID+66fe09ac-7246-4e38-b0de-ccd788f7347b"/>
537 </ownedOperation>
538 </packagedElement>
539 <packagedElement xmi:type="uml:Association" xmi:id="GUID+a35fad26-bc73-4424-8dc8-eae52113c5f1" name="input" memberEnd="GUID+da01c4d6-b4a6-4b3c-a666-a875e63fe1bf GUID+30c66265-813b-47d1-8330-56d749ee69ed"/>
540 <packagedElement xmi:type="uml:Association" xmi:id="GUID+a9c80e74-724c-4b38-a42d-be9f9cd06038" name="input" memberEnd="GUID+e0c93c77-a56e-46c5-a79a-536d5d5e2ddc GUID+1010d33a-32d4-4e94-9e16-c51c59ef374e"/>
541 <packagedElement xmi:type="uml:Association" xmi:id="GUID+cbe808a6-06cc-4469-a39a-4e0c9af87eed" name="awaken" memberEnd="GUID+09ae9d76-67d9-485a-a88c-56760a387e8b GUID+381091ac-85a3-4116-8ae2-76eafae22f05"/>
542 <packagedElement xmi:type="uml:Association" xmi:id="GUID+e0c6236a-7292-4de6-a0d0-f55e09c20b19" name="input" memberEnd="GUID+38d5a9bd-3549-4bca-a92d-87668e7f91a3 GUID+a39561af-8268-4233-96f0-2842947ae10e"/>
543 <packagedElement xmi:type="uml:Association" xmi:id="GUID+05618f64-fb68-40b7-bd3a-6ffa3884d335" name="sense" memberEnd="GUID+478c8763-c0da-4b05-bbc1-e9d826793df0 GUID+c37ff336-8596-4135-8aee-03c36bed4c07"/>
544 <packagedElement xmi:type="uml:Association" xmi:id="GUID+f05e6892-5c49-4fb5-b7ef-2f9ed7c73bd1" name="gives" memberEnd="GUID+69169118-aa04-497f-b7aa-e68553925437 GUID+b8524d08-9dd2-405b-b3b3-6335c09f167e"/>
545 <packagedElement xmi:type="uml:Association" xmi:id="GUID+97c91b3c-f082-4cc6-8cd9-f00aaf733b16" name="input" memberEnd="GUID+8b00e42c-4692-4290-b3d7-0d8765010983 GUID+8daf9eb1-da96-4db7-b037-988c73a152c6"/>
546 <packagedElement xmi:type="uml:Association" xmi:id="GUID+0a638758-4e69-46f4-9b73-cb71bacbafdf" name="input" memberEnd="GUID+f302fb2e-c2c3-43f5-9a71-96991cdd11d8 GUID+66885a26-3da4-425b-bde9-2dde68605810"/>
547 <packagedElement xmi:type="uml:Association" xmi:id="GUID+d9fe5cca-f9f8-473e-8bf2-9240a278b4d2" name="connect" memberEnd="GUID+a498df1b-6af8-4ea0-95bb-7df6e5758efc GUID+b06be66b-9af4-48fd-b01f-2a45446f6c7d"/>
548 <packagedElement xmi:type="uml:Association" xmi:id="GUID+3e632cf8-c2a9-4835-82f0-059874ceaf89" name="received" memberEnd="GUID+25cbf9bd-2ad4-4313-aa2b-ff730892a89d GUID+a274dbf9-ed8d-4933-b70f-6c610322ebeb"/>
549 <packagedElement xmi:type="uml:Association" xmi:id="GUID+eaf63a81-1e41-4de3-b94d-eb3f52e51e15" name="store" memberEnd="GUID+9492b531-8d79-4963-9d04-7e45efe9d4cb GUID+1f474478-a4a9-40f7-8722-1d68578ba047"/>
550 <packagedElement xmi:type="uml:Association" xmi:id="GUID+faef7c57-fe29-4721-8e95-f68adb4c3db2" name="has" memberEnd="GUID+99409fbe-ca55-4984-bd02-7d04bb53f460 GUID+68728fd2-e5bc-4115-bf8f-57bd838ab09f"/>
551 <packagedElement xmi:type="uml:Association" xmi:id="GUID+45a73731-aa8f-4737-a159-5e09b69fe420" name="store" memberEnd="GUID+63a5bdf7-b862-4ffb-a1d9-62b856939c6f GUID+10ddcd3e-19a3-4740-a0eb-f5dc7359b4bf"/>
552 <packagedElement xmi:type="uml:Association" xmi:id="GUID+6850f3f9-cd35-49be-8def-07e2c46a699f" name="store" memberEnd="GUID+7264adec-5d31-4057-a5f2-4b489d6c19d4 GUID+b8ca4358-dd93-49db-93a9-06b7521aab41"/>
553 <packagedElement xmi:type="uml:Association" xmi:id="GUID+bbe1f8e1-57c6-44fd-bd5a-e8198b2b3c4a" name="store" memberEnd="GUID+27dc4967-d64d-4dcc-9038-c8bd47700c85 GUID+f070f658-dc36-4e83-be04-eebcc4503b5b"/>
554 <packagedElement xmi:type="uml:Association" xmi:id="GUID+b99c3d2f-bb55-4689-995f-df24c587bb88" name="has" memberEnd="GUID+bf450128-4370-4ae1-af37-b9b0375b347a GUID+63f5a563-543d-45b6-877b-e7629bf5f2f4"/>
555 <packagedElement xmi:type="uml:Association" xmi:id="GUID+e3bc66db-a238-4056-beb9-a12a5d05c111" name="has" memberEnd="GUID+120bf304-389c-4f2e-a1fe-1024bf080b56 GUID+ae955560-f1cd-457e-be40-90ec2a706122"/>
556 <packagedElement xmi:type="uml:Association" xmi:id="GUID+44591504-aed0-4354-9c71-c424de018587" name="has" memberEnd="GUID+88d4da64-8034-40a4-bd44-1558acd54307 GUID+d1bb834b-4960-4527-a268-079af0a635dd"/>
557 <packagedElement xmi:type="uml:Association" xmi:id="GUID+3eff4bbf-a78c-4a39-869b-fb42314a7024" name="has" memberEnd="GUID+1df132f0-f5bb-443c-9a68-82a26fbd6592 GUID+c6913877-0ff3-4d9b-8c90-a39339cc1268"/>
558 <packagedElement xmi:type="uml:Association" xmi:id="GUID+e71c0e9a-901e-4bc0-9d48-418713906dee" name="has" memberEnd="GUID+a3ab1373-15aa-415b-a1a8-967e74d68bcf GUID+81072951-7939-47dd-860e-435d11852617"/>
559 <packagedElement xmi:type="uml:Association" xmi:id="GUID+ca517787-217f-4692-a7f9-314f16a02ced" name="measures" memberEnd="GUID+8cfe5162-d808-4ad4-9469-44228875131e GUID+f370cb64-dc8b-4b9d-b46d-fd9f7ad7e49d"/>
560 <packagedElement xmi:type="uml:Enumeration" xmi:id="GUID+a7a55376-97c1-4516-8524-c4a77235a929" name="OccupantClassAirbag">
561 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="GUID+9e55efc2-111f-461c-aa07-0b1bb5b481e0" name="EmptyOrChildSeat">
562 <specification xmi:type="uml:LiteralString" xmi:id="_mgCgsmpaEeS7fJC3QiZfaQ" value=""/>
563 </ownedLiteral>
564 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="GUID+ffdd2271-6480-4087-80e6-ad57a4c29ce2" name="Adult">
565 <specification xmi:type="uml:LiteralString" xmi:id="_mgCgtGpaEeS7fJC3QiZfaQ" value=""/>
566 </ownedLiteral>
567 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="GUID+539abb2f-4c61-4bf4-9c64-858735108bea" name="Error">
568 <specification xmi:type="uml:LiteralString" xmi:id="_mgCgtmpaEeS7fJC3QiZfaQ" value=""/>
569 </ownedLiteral>
570 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="GUID+9ffa2cb4-0668-4f6e-aa28-c724abafc0fa" name="Init">
571 <specification xmi:type="uml:LiteralString" xmi:id="_mgCguGpaEeS7fJC3QiZfaQ" value=""/>
572 </ownedLiteral>
573 </packagedElement>
574 <packagedElement xmi:type="uml:Enumeration" xmi:id="GUID+a2e418ae-a4e5-4308-9993-ff3dd7ad5fbf" name="OccupantClassSbr">
575 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="GUID+cc847e2c-6251-47c6-9889-dca653fd0394" name="Empty">
576 <specification xmi:type="uml:LiteralString" xmi:id="_mgCgu2paEeS7fJC3QiZfaQ" value=""/>
577 </ownedLiteral>
578 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="GUID+775b0457-4c47-45a2-96b1-81ca6494398f" name="Occupied">
579 <specification xmi:type="uml:LiteralString" xmi:id="_mgCgvWpaEeS7fJC3QiZfaQ" value=""/>
580 </ownedLiteral>
581 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="GUID+f81c7276-ac9f-49e4-ad1a-fe90a1bd860c" name="Error">
582 <specification xmi:type="uml:LiteralString" xmi:id="_mgCgv2paEeS7fJC3QiZfaQ" value=""/>
583 </ownedLiteral>
584 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="GUID+f0a75a5e-dfd8-4f7a-ac69-1dc5f1f5ea16" name="Init">
585 <specification xmi:type="uml:LiteralString" xmi:id="_mgCgwWpaEeS7fJC3QiZfaQ" value=""/>
586 </ownedLiteral>
587 </packagedElement>
588 <packagedElement xmi:type="uml:Enumeration" xmi:id="GUID+98b4d567-5252-4aec-ab11-94ca8fbfd876" name="BuildCheckStatus">
589 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="GUID+80b9c7d1-21d5-406c-9129-8aaa5c789117" name="NotRun">
590 <specification xmi:type="uml:LiteralString" xmi:id="_mgCgxGpaEeS7fJC3QiZfaQ" value=""/>
591 </ownedLiteral>
592 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="GUID+3e271335-e423-483e-8ed5-13c847d30c95" name="Passed">
593 <specification xmi:type="uml:LiteralString" xmi:id="_mgCgxmpaEeS7fJC3QiZfaQ" value=""/>
594 </ownedLiteral>
595 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="GUID+b075b74b-8316-4dbd-ac27-d079b19f6f42" name="Failed">
596 <specification xmi:type="uml:LiteralString" xmi:id="_mgCgyGpaEeS7fJC3QiZfaQ" value=""/>
597 </ownedLiteral>
598 </packagedElement>
599 <packagedElement xmi:type="uml:Enumeration" xmi:id="GUID+28db8431-e6d0-4b04-884a-c84d66585f7f" name="HWStatus">
600 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="GUID+6d3bdba9-3619-4431-96da-6b5397db3629" name="OK">
601 <specification xmi:type="uml:LiteralString" xmi:id="_mgCgy2paEeS7fJC3QiZfaQ" value=""/>
602 </ownedLiteral>
603 <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="GUID+5b554ebf-2b43-41ef-b7c3-16d1898d383c" name="NotOK">
604 <specification xmi:type="uml:LiteralString" xmi:id="_mgCgzWpaEeS7fJC3QiZfaQ" value=""/>
605 </ownedLiteral>
606 </packagedElement>
607 <packagedElement xmi:type="uml:Association" xmi:id="_mgCgzmpaEeS7fJC3QiZfaQ" memberEnd="GUID+582a0913-9f1a-4f2a-ab36-a70e5531c586 GUID+1f4d8dbf-38db-4598-9de8-ed7a621b94e4"/>
608</uml:Package>
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.originalFiles/model/CD_Case_C.uml_ b/Tests/MODELS2020-CaseStudies/case.study.pledge.originalFiles/model/CD_Case_C.uml_
new file mode 100644
index 00000000..29208a9a
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.originalFiles/model/CD_Case_C.uml_
@@ -0,0 +1,2094 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<uml:Package xmi:version="2.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="GUID+fadc4ae9-265b-4361-8233-286c5b98ea06" name="inputData" URI="http:///inputData.ecore">
3 <packageImport xmi:id="_Rvoi9FVUEeWRIqLs5_0Tzg">
4 <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
5 </packageImport>
6 <packagedElement xmi:type="uml:Class" xmi:id="_Rvoi9VVUEeWRIqLs5_0Tzg" name="XsveRtStps">
7 <ownedAttribute xmi:id="_Rvoi9lVUEeWRIqLs5_0Tzg" name="extendedCadu" visibility="private" isUnique="false">
8 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
9 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Rvoi-FVUEeWRIqLs5_0Tzg" value="1"/>
10 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Rvoi91VUEeWRIqLs5_0Tzg" value="1"/>
11 </ownedAttribute>
12 <ownedAttribute xmi:id="_Rvoi-VVUEeWRIqLs5_0Tzg" name="minimalBinaryOutput" visibility="private">
13 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
14 </ownedAttribute>
15 <ownedAttribute xmi:id="_Rvoi-lVUEeWRIqLs5_0Tzg" name="frameLength" visibility="private" type="_Rvome1VUEeWRIqLs5_0Tzg" isUnique="false">
16 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Rvoi_FVUEeWRIqLs5_0Tzg" value="1"/>
17 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Rvoi-1VUEeWRIqLs5_0Tzg" value="1"/>
18 </ownedAttribute>
19 <ownedAttribute xmi:id="_Rvoi_VVUEeWRIqLs5_0Tzg" name="site" visibility="private" isUnique="false">
20 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
21 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Rvoi_1VUEeWRIqLs5_0Tzg" value="1"/>
22 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Rvoi_lVUEeWRIqLs5_0Tzg" value="1"/>
23 </ownedAttribute>
24 <ownedAttribute xmi:id="_RvojAFVUEeWRIqLs5_0Tzg" name="fileClass" visibility="private" type="_RvojuFVUEeWRIqLs5_0Tzg" isUnique="false">
25 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvojAlVUEeWRIqLs5_0Tzg" value="1"/>
26 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvojAVVUEeWRIqLs5_0Tzg" value="1"/>
27 </ownedAttribute>
28 <ownedAttribute xmi:id="_RvojA1VUEeWRIqLs5_0Tzg" name="missionName" visibility="private" type="_RvomgFVUEeWRIqLs5_0Tzg" isUnique="false">
29 <ownedComment xmi:id="_RvojBFVUEeWRIqLs5_0Tzg" annotatedElement="_RvojA1VUEeWRIqLs5_0Tzg">
30 <body>&lt;p>Mission name; value: three characters matching the following regular expression [S][1-3][A-B]&lt;/p></body>
31 </ownedComment>
32 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvojBlVUEeWRIqLs5_0Tzg" value="1"/>
33 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvojBVVUEeWRIqLs5_0Tzg" value="1"/>
34 </ownedAttribute>
35 <ownedAttribute xmi:id="_RvojB1VUEeWRIqLs5_0Tzg" name="rsCorrectHeader" visibility="private" isUnique="false">
36 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
37 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvojCVVUEeWRIqLs5_0Tzg" value="1"/>
38 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvojCFVUEeWRIqLs5_0Tzg" value="1"/>
39 </ownedAttribute>
40 <ownedAttribute xmi:id="_RvojClVUEeWRIqLs5_0Tzg" name="checkCrc" visibility="private" isUnique="false">
41 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
42 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvojDFVUEeWRIqLs5_0Tzg" value="1"/>
43 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvojC1VUEeWRIqLs5_0Tzg" value="1"/>
44 </ownedAttribute>
45 <ownedAttribute xmi:id="_RvojDVVUEeWRIqLs5_0Tzg" name="rsCorrectFrame" visibility="private" isUnique="false">
46 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
47 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvojD1VUEeWRIqLs5_0Tzg" value="1"/>
48 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvojDlVUEeWRIqLs5_0Tzg" value="1"/>
49 </ownedAttribute>
50 <ownedAttribute xmi:id="_RvojEFVUEeWRIqLs5_0Tzg" name="rsCorrectSize" visibility="private" type="_Rvome1VUEeWRIqLs5_0Tzg" isUnique="false">
51 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvojElVUEeWRIqLs5_0Tzg" value="1"/>
52 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvojEVVUEeWRIqLs5_0Tzg" value="1"/>
53 </ownedAttribute>
54 <ownedAttribute xmi:id="_RvojE1VUEeWRIqLs5_0Tzg" name="spacecraftId" visibility="private" isUnique="false">
55 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
56 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvojFVVUEeWRIqLs5_0Tzg" value="1"/>
57 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvojFFVUEeWRIqLs5_0Tzg" value="1"/>
58 </ownedAttribute>
59 <ownedAttribute xmi:id="_RvojFlVUEeWRIqLs5_0Tzg" name="idleVcid" visibility="private" type="_RvomoVVUEeWRIqLs5_0Tzg"/>
60 <ownedAttribute xmi:id="_RvojF1VUEeWRIqLs5_0Tzg" name="idleApid" visibility="private" type="_RvomjVVUEeWRIqLs5_0Tzg"/>
61 <ownedAttribute xmi:id="_RvojGFVUEeWRIqLs5_0Tzg" name="discardIdle" visibility="private" isUnique="false">
62 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
63 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvojGlVUEeWRIqLs5_0Tzg" value="1"/>
64 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvojGVVUEeWRIqLs5_0Tzg" value="1"/>
65 </ownedAttribute>
66 <ownedAttribute xmi:id="_RvojG1VUEeWRIqLs5_0Tzg" name="vcdusConfig" visibility="private" type="_RvojIlVUEeWRIqLs5_0Tzg" aggregation="composite" association="_RvomelVUEeWRIqLs5_0Tzg">
67 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvojHVVUEeWRIqLs5_0Tzg" value="1"/>
68 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvojHFVUEeWRIqLs5_0Tzg" value="1"/>
69 </ownedAttribute>
70 <ownedAttribute xmi:id="_RvojHlVUEeWRIqLs5_0Tzg" name="ignoreIdlePattern" visibility="private">
71 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
72 </ownedAttribute>
73 <ownedAttribute xmi:id="_RvojH1VUEeWRIqLs5_0Tzg" name="rtStpsConfig" visibility="private" type="_RvojPlVUEeWRIqLs5_0Tzg" association="_Rvomd1VUEeWRIqLs5_0Tzg">
74 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvojIVVUEeWRIqLs5_0Tzg" value="1"/>
75 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvojIFVUEeWRIqLs5_0Tzg" value="1"/>
76 </ownedAttribute>
77 </packagedElement>
78 <packagedElement xmi:type="uml:Class" xmi:id="_RvojIlVUEeWRIqLs5_0Tzg" name="VcdusConfig">
79 <ownedAttribute xmi:id="_RvojI1VUEeWRIqLs5_0Tzg" name="xsveRtStps" visibility="private" type="_Rvoi9VVUEeWRIqLs5_0Tzg" association="_RvomelVUEeWRIqLs5_0Tzg">
80 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvojJVVUEeWRIqLs5_0Tzg" value="1"/>
81 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvojJFVUEeWRIqLs5_0Tzg" value="1"/>
82 </ownedAttribute>
83 <ownedAttribute xmi:id="_RvojJlVUEeWRIqLs5_0Tzg" name="vcduConfig" visibility="private" type="_RvojKVVUEeWRIqLs5_0Tzg" aggregation="composite" association="_RvomeVVUEeWRIqLs5_0Tzg">
84 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvojKFVUEeWRIqLs5_0Tzg" value="1"/>
85 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvojJ1VUEeWRIqLs5_0Tzg" value="*"/>
86 </ownedAttribute>
87 </packagedElement>
88 <packagedElement xmi:type="uml:Class" xmi:id="_RvojKVVUEeWRIqLs5_0Tzg" name="VcduConfig">
89 <ownedAttribute xmi:id="_RvojKlVUEeWRIqLs5_0Tzg" name="vcdusConfig" visibility="private" type="_RvojIlVUEeWRIqLs5_0Tzg" association="_RvomeVVUEeWRIqLs5_0Tzg">
90 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvojLFVUEeWRIqLs5_0Tzg" value="1"/>
91 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvojK1VUEeWRIqLs5_0Tzg" value="1"/>
92 </ownedAttribute>
93 <ownedAttribute xmi:id="_RvojLVVUEeWRIqLs5_0Tzg" name="vcid" visibility="private" type="_RvomoVVUEeWRIqLs5_0Tzg"/>
94 <ownedAttribute xmi:id="_RvojLlVUEeWRIqLs5_0Tzg" name="minPacketSize" visibility="private" type="_Rvome1VUEeWRIqLs5_0Tzg" isUnique="false">
95 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvojMFVUEeWRIqLs5_0Tzg" value="1"/>
96 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvojL1VUEeWRIqLs5_0Tzg" value="1"/>
97 </ownedAttribute>
98 <ownedAttribute xmi:id="_RvojMVVUEeWRIqLs5_0Tzg" name="maxPacketSize" visibility="private" type="_Rvome1VUEeWRIqLs5_0Tzg" isUnique="false">
99 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvojM1VUEeWRIqLs5_0Tzg" value="1"/>
100 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvojMlVUEeWRIqLs5_0Tzg" value="1"/>
101 </ownedAttribute>
102 <ownedAttribute xmi:id="_RvojNFVUEeWRIqLs5_0Tzg" name="ispsConfig" visibility="private" type="_RvojTFVUEeWRIqLs5_0Tzg" aggregation="composite" association="_RvomdVVUEeWRIqLs5_0Tzg">
103 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvojNlVUEeWRIqLs5_0Tzg" value="1"/>
104 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvojNVVUEeWRIqLs5_0Tzg" value="1"/>
105 </ownedAttribute>
106 </packagedElement>
107 <packagedElement xmi:type="uml:Class" xmi:id="_RvojN1VUEeWRIqLs5_0Tzg" name="ValidApidsConfig">
108 <ownedAttribute xmi:id="_RvojOFVUEeWRIqLs5_0Tzg" name="configuration" visibility="private" type="_RvojclVUEeWRIqLs5_0Tzg" association="_RvomcVVUEeWRIqLs5_0Tzg">
109 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvojOlVUEeWRIqLs5_0Tzg" value="1"/>
110 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvojOVVUEeWRIqLs5_0Tzg" value="1"/>
111 </ownedAttribute>
112 <ownedAttribute xmi:id="_RvojO1VUEeWRIqLs5_0Tzg" name="ispInfo" visibility="private" type="_RvojU1VUEeWRIqLs5_0Tzg" aggregation="composite" association="_RvomeFVUEeWRIqLs5_0Tzg">
113 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvojPVVUEeWRIqLs5_0Tzg" value="1"/>
114 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvojPFVUEeWRIqLs5_0Tzg" value="*"/>
115 </ownedAttribute>
116 </packagedElement>
117 <packagedElement xmi:type="uml:Class" xmi:id="_RvojPlVUEeWRIqLs5_0Tzg" name="RtStpsConfig">
118 <ownedAttribute xmi:id="_RvojP1VUEeWRIqLs5_0Tzg" name="configuration" visibility="private" type="_RvojclVUEeWRIqLs5_0Tzg" association="_Rvomc1VUEeWRIqLs5_0Tzg">
119 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvojQVVUEeWRIqLs5_0Tzg" value="1"/>
120 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvojQFVUEeWRIqLs5_0Tzg" value="1"/>
121 </ownedAttribute>
122 <ownedAttribute xmi:id="_RvojQlVUEeWRIqLs5_0Tzg" name="xsveRtStps" visibility="private" type="_Rvoi9VVUEeWRIqLs5_0Tzg" aggregation="composite" association="_Rvomd1VUEeWRIqLs5_0Tzg">
123 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvojRFVUEeWRIqLs5_0Tzg" value="1"/>
124 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvojQ1VUEeWRIqLs5_0Tzg" value="1"/>
125 </ownedAttribute>
126 </packagedElement>
127 <packagedElement xmi:type="uml:Class" xmi:id="_RvojRVVUEeWRIqLs5_0Tzg" name="MaxCounterPerApidSuffixConfig">
128 <ownedAttribute xmi:id="_RvojRlVUEeWRIqLs5_0Tzg" name="apidSuffixAndMaxCounter" visibility="private" type="_Rvojf1VUEeWRIqLs5_0Tzg" aggregation="composite" association="_RvomdlVUEeWRIqLs5_0Tzg">
129 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvojSFVUEeWRIqLs5_0Tzg" value="1"/>
130 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvojR1VUEeWRIqLs5_0Tzg" value="*"/>
131 </ownedAttribute>
132 <ownedAttribute xmi:id="_RvojSVVUEeWRIqLs5_0Tzg" name="configuration" visibility="private" type="_RvojclVUEeWRIqLs5_0Tzg" association="_RvomclVUEeWRIqLs5_0Tzg">
133 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvojS1VUEeWRIqLs5_0Tzg" value="1"/>
134 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvojSlVUEeWRIqLs5_0Tzg" value="1"/>
135 </ownedAttribute>
136 </packagedElement>
137 <packagedElement xmi:type="uml:Class" xmi:id="_RvojTFVUEeWRIqLs5_0Tzg" name="IspsConfig">
138 <ownedAttribute xmi:id="_RvojTVVUEeWRIqLs5_0Tzg" name="vcduConfig" visibility="private" type="_RvojKVVUEeWRIqLs5_0Tzg" association="_RvomdVVUEeWRIqLs5_0Tzg">
139 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvojT1VUEeWRIqLs5_0Tzg" value="1"/>
140 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvojTlVUEeWRIqLs5_0Tzg" value="1"/>
141 </ownedAttribute>
142 <ownedAttribute xmi:id="_RvojUFVUEeWRIqLs5_0Tzg" name="ispConfig" visibility="private" type="_RvojbVVUEeWRIqLs5_0Tzg" aggregation="composite" association="_RvomdFVUEeWRIqLs5_0Tzg">
143 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvojUlVUEeWRIqLs5_0Tzg" value="1"/>
144 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvojUVVUEeWRIqLs5_0Tzg" value="*"/>
145 </ownedAttribute>
146 </packagedElement>
147 <packagedElement xmi:type="uml:Class" xmi:id="_RvojU1VUEeWRIqLs5_0Tzg" name="IspInfo">
148 <ownedAttribute xmi:id="_RvojVFVUEeWRIqLs5_0Tzg" name="missionName" visibility="private" type="_RvomgFVUEeWRIqLs5_0Tzg"/>
149 <ownedAttribute xmi:id="_RvojVVVUEeWRIqLs5_0Tzg" name="offset" visibility="private">
150 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
151 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvojV1VUEeWRIqLs5_0Tzg" value="1"/>
152 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvojVlVUEeWRIqLs5_0Tzg" value="1"/>
153 </ownedAttribute>
154 <ownedAttribute xmi:id="_RvojWFVUEeWRIqLs5_0Tzg" name="packetType" visibility="private" type="_RvojnFVUEeWRIqLs5_0Tzg">
155 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvojWlVUEeWRIqLs5_0Tzg" value="1"/>
156 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvojWVVUEeWRIqLs5_0Tzg" value="1"/>
157 </ownedAttribute>
158 <ownedAttribute xmi:id="_RvojW1VUEeWRIqLs5_0Tzg" name="seconds" visibility="private">
159 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
160 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvojXVVUEeWRIqLs5_0Tzg" value="1"/>
161 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvojXFVUEeWRIqLs5_0Tzg" value="1"/>
162 </ownedAttribute>
163 <ownedAttribute xmi:id="_RvojXlVUEeWRIqLs5_0Tzg" name="subseconds" visibility="private">
164 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
165 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvojYFVUEeWRIqLs5_0Tzg" value="1"/>
166 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvojX1VUEeWRIqLs5_0Tzg" value="1"/>
167 </ownedAttribute>
168 <ownedAttribute xmi:id="_RvojYVVUEeWRIqLs5_0Tzg" name="apidValue" visibility="private" type="_RvomjVVUEeWRIqLs5_0Tzg">
169 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvojY1VUEeWRIqLs5_0Tzg"/>
170 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvojYlVUEeWRIqLs5_0Tzg" value="*"/>
171 </ownedAttribute>
172 <ownedAttribute xmi:id="_RvojZFVUEeWRIqLs5_0Tzg" name="validApidsConfig" visibility="private" type="_RvojN1VUEeWRIqLs5_0Tzg" association="_RvomeFVUEeWRIqLs5_0Tzg">
173 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvojZlVUEeWRIqLs5_0Tzg" value="1"/>
174 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvojZVVUEeWRIqLs5_0Tzg" value="1"/>
175 </ownedAttribute>
176 <ownedAttribute xmi:id="_RvojZ1VUEeWRIqLs5_0Tzg" name="pidValue" visibility="private" type="_RvomilVUEeWRIqLs5_0Tzg">
177 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvojaVVUEeWRIqLs5_0Tzg"/>
178 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvojaFVUEeWRIqLs5_0Tzg" value="*"/>
179 </ownedAttribute>
180 <ownedAttribute xmi:id="_RvojalVUEeWRIqLs5_0Tzg" name="pcatValue" visibility="private" type="_Rvomh1VUEeWRIqLs5_0Tzg">
181 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvojbFVUEeWRIqLs5_0Tzg"/>
182 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Rvoja1VUEeWRIqLs5_0Tzg" value="*"/>
183 </ownedAttribute>
184 </packagedElement>
185 <packagedElement xmi:type="uml:Class" xmi:id="_RvojbVVUEeWRIqLs5_0Tzg" name="IspConfig">
186 <ownedAttribute xmi:id="_RvojblVUEeWRIqLs5_0Tzg" name="ispsConfig" visibility="private" type="_RvojTFVUEeWRIqLs5_0Tzg" association="_RvomdFVUEeWRIqLs5_0Tzg">
187 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvojcFVUEeWRIqLs5_0Tzg" value="1"/>
188 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Rvojb1VUEeWRIqLs5_0Tzg" value="1"/>
189 </ownedAttribute>
190 <ownedAttribute xmi:id="_RvojcVVUEeWRIqLs5_0Tzg" name="apid" visibility="private" type="_RvomjVVUEeWRIqLs5_0Tzg"/>
191 </packagedElement>
192 <packagedElement xmi:type="uml:Class" xmi:id="_RvojclVUEeWRIqLs5_0Tzg" name="Configuration">
193 <ownedAttribute xmi:id="_Rvojc1VUEeWRIqLs5_0Tzg" name="transmission" visibility="private" type="_RvolTVVUEeWRIqLs5_0Tzg" association="_RvomTFVUEeWRIqLs5_0Tzg">
194 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvojdVVUEeWRIqLs5_0Tzg" value="1"/>
195 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvojdFVUEeWRIqLs5_0Tzg" value="1"/>
196 </ownedAttribute>
197 <ownedAttribute xmi:id="_RvojdlVUEeWRIqLs5_0Tzg" name="maxCounterPerApidSuffixConfig" visibility="private" type="_RvojRVVUEeWRIqLs5_0Tzg" aggregation="composite" association="_RvomclVUEeWRIqLs5_0Tzg">
198 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvojeFVUEeWRIqLs5_0Tzg" value="1"/>
199 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Rvojd1VUEeWRIqLs5_0Tzg" value="1"/>
200 </ownedAttribute>
201 <ownedAttribute xmi:id="_RvojeVVUEeWRIqLs5_0Tzg" name="validApidsConfig" visibility="private" type="_RvojN1VUEeWRIqLs5_0Tzg" aggregation="composite" association="_RvomcVVUEeWRIqLs5_0Tzg">
202 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Rvoje1VUEeWRIqLs5_0Tzg" value="1"/>
203 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvojelVUEeWRIqLs5_0Tzg" value="1"/>
204 </ownedAttribute>
205 <ownedAttribute xmi:id="_RvojfFVUEeWRIqLs5_0Tzg" name="rtStpsConfig" visibility="private" type="_RvojPlVUEeWRIqLs5_0Tzg" aggregation="composite" association="_Rvomc1VUEeWRIqLs5_0Tzg">
206 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvojflVUEeWRIqLs5_0Tzg" value="1"/>
207 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvojfVVUEeWRIqLs5_0Tzg" value="1"/>
208 </ownedAttribute>
209 </packagedElement>
210 <packagedElement xmi:type="uml:Class" xmi:id="_Rvojf1VUEeWRIqLs5_0Tzg" name="ApidSuffixAndMaxCounter">
211 <ownedAttribute xmi:id="_RvojgFVUEeWRIqLs5_0Tzg" name="apidSuffix" visibility="private" type="_Rvomh1VUEeWRIqLs5_0Tzg"/>
212 <ownedAttribute xmi:id="_RvojgVVUEeWRIqLs5_0Tzg" name="maxSscCounterValue" visibility="private">
213 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
214 </ownedAttribute>
215 <ownedAttribute xmi:id="_RvojglVUEeWRIqLs5_0Tzg" name="maxCounterPerApidSuffixConfig" visibility="private" type="_RvojRVVUEeWRIqLs5_0Tzg" association="_RvomdlVUEeWRIqLs5_0Tzg">
216 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvojhFVUEeWRIqLs5_0Tzg" value="1"/>
217 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Rvojg1VUEeWRIqLs5_0Tzg" value="1"/>
218 </ownedAttribute>
219 </packagedElement>
220 <packagedElement xmi:type="uml:Class" xmi:id="_RvojhVVUEeWRIqLs5_0Tzg" name="ByteSequence">
221 <ownedAttribute xmi:id="_RvojhlVUEeWRIqLs5_0Tzg" name="byte" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg" isOrdered="true" isUnique="false">
222 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvojiFVUEeWRIqLs5_0Tzg" value="1"/>
223 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Rvojh1VUEeWRIqLs5_0Tzg" value="*"/>
224 </ownedAttribute>
225 </packagedElement>
226 <packagedElement xmi:type="uml:Class" xmi:id="_RvojiVVUEeWRIqLs5_0Tzg" name="BitSequence">
227 <ownedAttribute xmi:id="_RvojilVUEeWRIqLs5_0Tzg" name="numberOfBits" visibility="private">
228 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
229 </ownedAttribute>
230 <ownedAttribute xmi:id="_Rvoji1VUEeWRIqLs5_0Tzg" name="intValue" visibility="private">
231 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
232 </ownedAttribute>
233 </packagedElement>
234 <packagedElement xmi:type="uml:Enumeration" xmi:id="_RvojjFVUEeWRIqLs5_0Tzg" name="VirtualChannelType">
235 <ownedLiteral xmi:id="_RvojjVVUEeWRIqLs5_0Tzg" name="ACTIVE">
236 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvojjlVUEeWRIqLs5_0Tzg">
237 <body>ACTIVE</body>
238 </specification>
239 </ownedLiteral>
240 <ownedLiteral xmi:id="_Rvojj1VUEeWRIqLs5_0Tzg" name="IDLE">
241 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvojkFVUEeWRIqLs5_0Tzg">
242 <body>IDLE</body>
243 </specification>
244 </ownedLiteral>
245 </packagedElement>
246 <packagedElement xmi:type="uml:Enumeration" xmi:id="_RvojkVVUEeWRIqLs5_0Tzg" name="SubsystemTypes">
247 <ownedLiteral xmi:id="_RvojklVUEeWRIqLs5_0Tzg" name="Xsve_Nss"/>
248 <ownedLiteral xmi:id="_Rvojk1VUEeWRIqLs5_0Tzg" name="Xsve_Hdr"/>
249 <ownedLiteral xmi:id="_RvojlFVUEeWRIqLs5_0Tzg" name="Xsve_Ucdc"/>
250 </packagedElement>
251 <packagedElement xmi:type="uml:Enumeration" xmi:id="_RvojlVVUEeWRIqLs5_0Tzg" name="PacketType">
252 <ownedLiteral xmi:id="_RvojllVUEeWRIqLs5_0Tzg" name="ACTIVE">
253 <specification xmi:type="uml:OpaqueExpression" xmi:id="_Rvojl1VUEeWRIqLs5_0Tzg">
254 <body>ACTIVE</body>
255 </specification>
256 </ownedLiteral>
257 <ownedLiteral xmi:id="_RvojmFVUEeWRIqLs5_0Tzg" name="IDLE">
258 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvojmVVUEeWRIqLs5_0Tzg">
259 <body>IDLE</body>
260 </specification>
261 </ownedLiteral>
262 <ownedLiteral xmi:id="_RvojmlVUEeWRIqLs5_0Tzg" name="UNDEFINED">
263 <specification xmi:type="uml:OpaqueExpression" xmi:id="_Rvojm1VUEeWRIqLs5_0Tzg">
264 <body>UNDEFINED</body>
265 </specification>
266 </ownedLiteral>
267 </packagedElement>
268 <packagedElement xmi:type="uml:Enumeration" xmi:id="_RvojnFVUEeWRIqLs5_0Tzg" name="IspPacketTypes">
269 <ownedLiteral xmi:id="_RvojnVVUEeWRIqLs5_0Tzg" name="S1_SAR">
270 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvojnlVUEeWRIqLs5_0Tzg">
271 <language> </language>
272 <body>S1_SAR</body>
273 </specification>
274 </ownedLiteral>
275 <ownedLiteral xmi:id="_Rvojn1VUEeWRIqLs5_0Tzg" name="S1_GPSR">
276 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvojoFVUEeWRIqLs5_0Tzg">
277 <language></language>
278 <body>S1_GPSR</body>
279 </specification>
280 </ownedLiteral>
281 <ownedLiteral xmi:id="_RvojoVVUEeWRIqLs5_0Tzg" name="S2_MSI">
282 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvojolVUEeWRIqLs5_0Tzg">
283 <language> </language>
284 <body>S2_MSI</body>
285 </specification>
286 </ownedLiteral>
287 <ownedLiteral xmi:id="_Rvojo1VUEeWRIqLs5_0Tzg" name="S2_GPSR">
288 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvojpFVUEeWRIqLs5_0Tzg">
289 <language></language>
290 <body>S2_GPSR</body>
291 </specification>
292 </ownedLiteral>
293 <ownedLiteral xmi:id="_RvojpVVUEeWRIqLs5_0Tzg" name="S2_STR">
294 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvojplVUEeWRIqLs5_0Tzg">
295 <language></language>
296 <body>S2_STR</body>
297 </specification>
298 </ownedLiteral>
299 <ownedLiteral xmi:id="_Rvojp1VUEeWRIqLs5_0Tzg" name="S2_CSW">
300 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvojqFVUEeWRIqLs5_0Tzg">
301 <language></language>
302 <body>S2_CSW</body>
303 </specification>
304 </ownedLiteral>
305 <ownedLiteral xmi:id="_RvojqVVUEeWRIqLs5_0Tzg" name="S3_OLCI">
306 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvojqlVUEeWRIqLs5_0Tzg">
307 <language> </language>
308 <body>S3_OLCI</body>
309 </specification>
310 </ownedLiteral>
311 <ownedLiteral xmi:id="_Rvojq1VUEeWRIqLs5_0Tzg" name="S3_SLSTR">
312 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvojrFVUEeWRIqLs5_0Tzg">
313 <language> </language>
314 <body>S3_SLSTR</body>
315 </specification>
316 </ownedLiteral>
317 <ownedLiteral xmi:id="_RvojrVVUEeWRIqLs5_0Tzg" name="S3_DORIS">
318 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvojrlVUEeWRIqLs5_0Tzg">
319 <language> </language>
320 <body>S3_DORIS</body>
321 </specification>
322 </ownedLiteral>
323 <ownedLiteral xmi:id="_Rvojr1VUEeWRIqLs5_0Tzg" name="S3_NAVATT">
324 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvojsFVUEeWRIqLs5_0Tzg">
325 <language></language>
326 <body>S3_NAVATT</body>
327 </specification>
328 </ownedLiteral>
329 <ownedLiteral xmi:id="_RvojsVVUEeWRIqLs5_0Tzg" name="S3_MWR">
330 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvojslVUEeWRIqLs5_0Tzg">
331 <language> </language>
332 <body>S3_MWR</body>
333 </specification>
334 </ownedLiteral>
335 <ownedLiteral xmi:id="_Rvojs1VUEeWRIqLs5_0Tzg" name="S3_SRAL">
336 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvojtFVUEeWRIqLs5_0Tzg">
337 <language> </language>
338 <body>S3_SRAL</body>
339 </specification>
340 </ownedLiteral>
341 <ownedLiteral xmi:id="_RvojtVVUEeWRIqLs5_0Tzg" name="S3_GPSR">
342 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvojtlVUEeWRIqLs5_0Tzg">
343 <language></language>
344 <body>S3_GPSR</body>
345 </specification>
346 </ownedLiteral>
347 <ownedLiteral xmi:id="_Rvojt1VUEeWRIqLs5_0Tzg" name="UNDEFINED"/>
348 </packagedElement>
349 <packagedElement xmi:type="uml:Enumeration" xmi:id="_RvojuFVUEeWRIqLs5_0Tzg" name="FileClassTypes">
350 <ownedLiteral xmi:id="_RvojuVVUEeWRIqLs5_0Tzg" name="TEST">
351 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvojulVUEeWRIqLs5_0Tzg">
352 <body>TEST</body>
353 </specification>
354 </ownedLiteral>
355 <ownedLiteral xmi:id="_Rvoju1VUEeWRIqLs5_0Tzg" name="OPER">
356 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvojvFVUEeWRIqLs5_0Tzg">
357 <body>OPER</body>
358 </specification>
359 </ownedLiteral>
360 </packagedElement>
361 <packagedElement xmi:type="uml:Enumeration" xmi:id="_RvojvVVUEeWRIqLs5_0Tzg" name="ApidProfile">
362 <ownedLiteral xmi:id="_RvojvlVUEeWRIqLs5_0Tzg" name="IDLE_TM_PACKET">
363 <specification xmi:type="uml:OpaqueExpression" xmi:id="_Rvojv1VUEeWRIqLs5_0Tzg">
364 <language> </language>
365 <body>IDLE_TM_PACKET</body>
366 </specification>
367 </ownedLiteral>
368 <ownedLiteral xmi:id="_RvojwFVUEeWRIqLs5_0Tzg" name="HOUSEKEEPING">
369 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvojwVVUEeWRIqLs5_0Tzg">
370 <body>HOUSEKEEPING</body>
371 </specification>
372 </ownedLiteral>
373 <ownedLiteral xmi:id="_RvojwlVUEeWRIqLs5_0Tzg" name="NON-REAL_TIME_HKTM">
374 <specification xmi:type="uml:OpaqueExpression" xmi:id="_Rvojw1VUEeWRIqLs5_0Tzg">
375 <body>NON-REAL_TIME_HKTM</body>
376 </specification>
377 </ownedLiteral>
378 </packagedElement>
379 <packagedElement xmi:type="uml:Class" xmi:id="_RvojxFVUEeWRIqLs5_0Tzg" name="VcduHeader">
380 <ownedComment xmi:id="_RvojxVVUEeWRIqLs5_0Tzg">
381 <body>Transfer Frame Primary Header / Virtual Channel Data Unit Header</body>
382 </ownedComment>
383 <ownedRule xmi:id="_RvojxlVUEeWRIqLs5_0Tzg" name="input_masterChannelIdTransferFrameVersionNumber" constrainedElement="_RvojxFVUEeWRIqLs5_0Tzg">
384 <specification xmi:type="uml:OpaqueExpression" xmi:id="_Rvojx1VUEeWRIqLs5_0Tzg">
385 <language>OCL</language>
386 <body>self.mcidTfVersionNumber.intValue = 1</body>
387 </specification>
388 </ownedRule>
389 <ownedRule xmi:id="_RvojyFVUEeWRIqLs5_0Tzg" name="input_masterChannelIdSpacecraftId" constrainedElement="_RvojxFVUEeWRIqLs5_0Tzg">
390 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvojyVVUEeWRIqLs5_0Tzg">
391 <language>OCL</language>
392 <body>self.mcidSpacecraftId.intValue = self.vcdu.cadu.channelData.transmissionData.configuration.rtStpsConfig.xsveRtStps.spacecraftId</body>
393 </specification>
394 </ownedRule>
395 <ownedRule xmi:id="_RvojylVUEeWRIqLs5_0Tzg" name="input_virtualChannelIdInConfiguration" constrainedElement="_RvojxFVUEeWRIqLs5_0Tzg">
396 <specification xmi:type="uml:OpaqueExpression" xmi:id="_Rvojy1VUEeWRIqLs5_0Tzg">
397 <language>OCL</language>
398 <body>let rtStpsConfig : XsveRtStps = self.vcdu.cadu.channelData.transmissionData.configuration.rtStpsConfig.xsveRtStps in &#xD;
399&#xD;
400rtStpsConfig.vcdusConfig.vcduConfig.vcid->exists(x | x = self.virtualChannelId) &#xD;
401or &#xD;
402self.virtualChannelId = rtStpsConfig.idleVcid&#xD;
403</body>
404 </specification>
405 </ownedRule>
406 <ownedRule xmi:id="_RvojzFVUEeWRIqLs5_0Tzg" name="input_signalingFieldReplayFlag" constrainedElement="_RvojxFVUEeWRIqLs5_0Tzg">
407 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvojzVVUEeWRIqLs5_0Tzg">
408 <language>OCL</language>
409 <body>self.signFieldReplayFlag.intValue = 0</body>
410 </specification>
411 </ownedRule>
412 <ownedRule xmi:id="_RvojzlVUEeWRIqLs5_0Tzg" name="input_signalingFieldReservedSpare" constrainedElement="_RvojxFVUEeWRIqLs5_0Tzg">
413 <specification xmi:type="uml:OpaqueExpression" xmi:id="_Rvojz1VUEeWRIqLs5_0Tzg">
414 <language>OCL</language>
415 <body>self.signFieldRsvdSpare.intValue = 0</body>
416 </specification>
417 </ownedRule>
418 <ownedRule xmi:id="_Rvoj0FVUEeWRIqLs5_0Tzg" name="input_virtualChannelIdInRange" constrainedElement="_RvojxFVUEeWRIqLs5_0Tzg">
419 <specification xmi:type="uml:OpaqueExpression" xmi:id="_Rvoj0VVUEeWRIqLs5_0Tzg">
420 <language>OCL</language>
421 <body>self.virtualChannelId.value.intValue >= 0 and self.virtualChannelId.value.intValue &lt;= 63</body>
422 </specification>
423 </ownedRule>
424 <ownedRule xmi:id="_Rvoj0lVUEeWRIqLs5_0Tzg" name="input_frameHeader" constrainedElement="_RvojxFVUEeWRIqLs5_0Tzg">
425 <specification xmi:type="uml:OpaqueExpression" xmi:id="_Rvoj01VUEeWRIqLs5_0Tzg">
426 <language>OCL</language>
427 <body>self.vcdu.cadu.channelData.transmissionData.configuration.rtStpsConfig.xsveRtStps.rsCorrectHeader &#xD;
428&#xD;
429implies &#xD;
430&#xD;
431self.rsCrcHasErrors = false</body>
432 </specification>
433 </ownedRule>
434 <ownedRule xmi:id="_Rvoj1FVUEeWRIqLs5_0Tzg" name="input_frameHeaderCorrectable" constrainedElement="_RvojxFVUEeWRIqLs5_0Tzg">
435 <specification xmi:type="uml:OpaqueExpression" xmi:id="_Rvoj1VVUEeWRIqLs5_0Tzg">
436 <language>OCL</language>
437 <body>self.vcdu.cadu.channelData.transmissionData.configuration.rtStpsConfig.xsveRtStps.rsCorrectHeader &#xD;
438&#xD;
439and &#xD;
440&#xD;
441self.rsCrcHasErrors = true &#xD;
442&#xD;
443implies &#xD;
444&#xD;
445self.rsCrcErrorsCorrectable = true</body>
446 </specification>
447 </ownedRule>
448 <ownedRule xmi:id="_Rvoj1lVUEeWRIqLs5_0Tzg" name="alloy_input_virtualChannelIdInConfiguration" constrainedElement="_RvojxFVUEeWRIqLs5_0Tzg">
449 <specification xmi:type="uml:OpaqueExpression" xmi:id="_Rvoj11VUEeWRIqLs5_0Tzg">
450 <language>OCL</language>
451 <body>self.vcdu.cadu.channelData.transmissionData.configuration.rtStpsConfig.xsveRtStps.vcdusConfig.vcduConfig.vcid->exists(x | x = self.virtualChannelId) &#xD;
452or &#xD;
453self.virtualChannelId = self.vcdu.cadu.channelData.transmissionData.configuration.rtStpsConfig.xsveRtStps.idleVcid&#xD;
454</body>
455 </specification>
456 </ownedRule>
457 <ownedAttribute xmi:id="_Rvoj2FVUEeWRIqLs5_0Tzg" name="mcidTfVersionNumber" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg">
458 <eAnnotations xmi:id="_Rvoj2VVUEeWRIqLs5_0Tzg" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
459 <ownedComment xmi:id="_Rvoj2lVUEeWRIqLs5_0Tzg" annotatedElement="_Rvoj2FVUEeWRIqLs5_0Tzg">
460 <body>&lt;p>Master&amp;nbsp;Channel&amp;nbsp;ID&amp;nbsp;-&amp;nbsp;Transfer&amp;nbsp;Frame&amp;nbsp;Version&amp;nbsp;Number&lt;/p>&lt;p>2&amp;nbsp;bits&lt;/p></body>
461 </ownedComment>
462 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Rvoj3FVUEeWRIqLs5_0Tzg" value="1"/>
463 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Rvoj21VUEeWRIqLs5_0Tzg" value="1"/>
464 </ownedAttribute>
465 <ownedAttribute xmi:id="_Rvoj3VVUEeWRIqLs5_0Tzg" name="mcidSpacecraftId" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg">
466 <ownedComment xmi:id="_Rvoj3lVUEeWRIqLs5_0Tzg" annotatedElement="_Rvoj3VVUEeWRIqLs5_0Tzg">
467 <body>&lt;p>Master&amp;nbsp;Channel&amp;nbsp;ID&amp;nbsp;-&amp;nbsp;Spacecraft&amp;nbsp;ID&lt;/p>&lt;p>8&amp;nbsp;bits&lt;/p></body>
468 </ownedComment>
469 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Rvoj4FVUEeWRIqLs5_0Tzg" value="1"/>
470 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Rvoj31VUEeWRIqLs5_0Tzg" value="1"/>
471 </ownedAttribute>
472 <ownedAttribute xmi:id="_Rvoj4VVUEeWRIqLs5_0Tzg" name="virtualChannelId" visibility="private" type="_RvomoVVUEeWRIqLs5_0Tzg">
473 <ownedComment xmi:id="_Rvoj4lVUEeWRIqLs5_0Tzg" annotatedElement="_Rvoj4VVUEeWRIqLs5_0Tzg">
474 <body>&lt;p>6&amp;nbsp;bits&lt;/p></body>
475 </ownedComment>
476 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Rvoj5FVUEeWRIqLs5_0Tzg" value="1"/>
477 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Rvoj41VUEeWRIqLs5_0Tzg" value="1"/>
478 </ownedAttribute>
479 <ownedAttribute xmi:id="_Rvoj5VVUEeWRIqLs5_0Tzg" name="virtualChannelFrameCount" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg">
480 <ownedComment xmi:id="_Rvoj5lVUEeWRIqLs5_0Tzg" annotatedElement="_Rvoj5VVUEeWRIqLs5_0Tzg">
481 <body>&lt;p>3&amp;nbsp;bytes&lt;/p></body>
482 </ownedComment>
483 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Rvoj6FVUEeWRIqLs5_0Tzg" value="1"/>
484 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Rvoj51VUEeWRIqLs5_0Tzg" value="1"/>
485 </ownedAttribute>
486 <ownedAttribute xmi:id="_Rvoj6VVUEeWRIqLs5_0Tzg" name="signFieldReplayFlag" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg">
487 <ownedComment xmi:id="_Rvoj6lVUEeWRIqLs5_0Tzg" annotatedElement="_Rvoj6VVUEeWRIqLs5_0Tzg">
488 <body>&lt;p>Signaling&amp;nbsp;Field&amp;nbsp;-&amp;nbsp;Replay&amp;nbsp;Flag&lt;/p>&lt;p>1&amp;nbsp;bit&lt;/p></body>
489 </ownedComment>
490 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Rvoj7FVUEeWRIqLs5_0Tzg" value="1"/>
491 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Rvoj61VUEeWRIqLs5_0Tzg" value="1"/>
492 </ownedAttribute>
493 <ownedAttribute xmi:id="_Rvoj7VVUEeWRIqLs5_0Tzg" name="signFieldRsvdSpare" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg">
494 <ownedComment xmi:id="_Rvoj7lVUEeWRIqLs5_0Tzg" annotatedElement="_Rvoj7VVUEeWRIqLs5_0Tzg">
495 <body>&lt;p>Signaling&amp;nbsp;Field&amp;nbsp;-&amp;nbsp;Rsvd&amp;nbsp;Fd&lt;/p>&lt;p>7&amp;nbsp;bits&lt;/p></body>
496 </ownedComment>
497 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Rvoj8FVUEeWRIqLs5_0Tzg" value="1"/>
498 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Rvoj71VUEeWRIqLs5_0Tzg" value="1"/>
499 </ownedAttribute>
500 <ownedAttribute xmi:id="_Rvoj8VVUEeWRIqLs5_0Tzg" name="frameHeaderErrorControl" visibility="private" type="_RvojhVVUEeWRIqLs5_0Tzg">
501 <ownedComment xmi:id="_Rvoj8lVUEeWRIqLs5_0Tzg" annotatedElement="_Rvoj8VVUEeWRIqLs5_0Tzg">
502 <body>&lt;p>2&amp;nbsp;bytes&lt;/p></body>
503 </ownedComment>
504 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Rvoj9FVUEeWRIqLs5_0Tzg" value="1"/>
505 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Rvoj81VUEeWRIqLs5_0Tzg" value="1"/>
506 </ownedAttribute>
507 <ownedAttribute xmi:id="_Rvoj9VVUEeWRIqLs5_0Tzg" name="vcdu" visibility="private" type="_RvokDVVUEeWRIqLs5_0Tzg" association="_RvomG1VUEeWRIqLs5_0Tzg">
508 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Rvoj91VUEeWRIqLs5_0Tzg" value="1"/>
509 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Rvoj9lVUEeWRIqLs5_0Tzg" value="1"/>
510 </ownedAttribute>
511 <ownedAttribute xmi:id="_Rvoj-FVUEeWRIqLs5_0Tzg" name="vcduHeaderAsString" visibility="private">
512 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
513 </ownedAttribute>
514 <ownedAttribute xmi:id="_Rvoj-VVUEeWRIqLs5_0Tzg" name="rsCrcHasErrors" visibility="private">
515 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
516 </ownedAttribute>
517 <ownedAttribute xmi:id="_Rvoj-lVUEeWRIqLs5_0Tzg" name="rsCrcErrorsCorrectable" visibility="private">
518 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
519 </ownedAttribute>
520 <ownedOperation xmi:id="_Rvoj-1VUEeWRIqLs5_0Tzg" name="calculateRsCrc" visibility="public">
521 <ownedComment xmi:id="_Rvoj_FVUEeWRIqLs5_0Tzg" annotatedElement="_Rvoj-1VUEeWRIqLs5_0Tzg">
522 <body>&lt;p>return&amp;nbsp;2&amp;nbsp;byte&amp;nbsp;array&lt;/p></body>
523 </ownedComment>
524 <ownedParameter xmi:id="_Rvoj_VVUEeWRIqLs5_0Tzg" name="Result" type="_RvojhVVUEeWRIqLs5_0Tzg" isUnique="false" direction="return" effect="update">
525 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Rvoj_1VUEeWRIqLs5_0Tzg"/>
526 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Rvoj_lVUEeWRIqLs5_0Tzg" value="1"/>
527 </ownedParameter>
528 <ownedParameter xmi:id="_RvokAFVUEeWRIqLs5_0Tzg" name="tfVersionNumber">
529 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EByte"/>
530 </ownedParameter>
531 <ownedParameter xmi:id="_RvokAVVUEeWRIqLs5_0Tzg" name="spaceCraftId">
532 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EByte"/>
533 </ownedParameter>
534 <ownedParameter xmi:id="_RvokAlVUEeWRIqLs5_0Tzg" name="virtualChannelId">
535 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EByte"/>
536 </ownedParameter>
537 <ownedParameter xmi:id="_RvokA1VUEeWRIqLs5_0Tzg" name="signFieldReplayFlag">
538 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EByte"/>
539 </ownedParameter>
540 <ownedParameter xmi:id="_RvokBFVUEeWRIqLs5_0Tzg" name="signFieldRsvdSpare">
541 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EByte"/>
542 </ownedParameter>
543 </ownedOperation>
544 <ownedOperation xmi:id="_RvokBVVUEeWRIqLs5_0Tzg" name="isUsingHeaderCorrection" bodyCondition="_RvokBlVUEeWRIqLs5_0Tzg" isQuery="true">
545 <ownedRule xmi:id="_RvokBlVUEeWRIqLs5_0Tzg" name="isUsingHeaderCorrection" constrainedElement="_RvokBVVUEeWRIqLs5_0Tzg">
546 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvokB1VUEeWRIqLs5_0Tzg">
547 <language>OCL</language>
548 <body>self.vcdu.cadu.channelData.transmissionData.configuration.rtStpsConfig.xsveRtStps.rsCorrectHeader</body>
549 </specification>
550 </ownedRule>
551 <ownedParameter xmi:id="_RvokCFVUEeWRIqLs5_0Tzg" name="Parameter1" direction="return">
552 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
553 </ownedParameter>
554 </ownedOperation>
555 <ownedOperation xmi:id="_RvokCVVUEeWRIqLs5_0Tzg" name="getVirtualChannelId" bodyCondition="_RvokClVUEeWRIqLs5_0Tzg" isQuery="true">
556 <ownedRule xmi:id="_RvokClVUEeWRIqLs5_0Tzg" name="getVirtualChannelId" constrainedElement="_RvokCVVUEeWRIqLs5_0Tzg">
557 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvokC1VUEeWRIqLs5_0Tzg">
558 <language>OCL</language>
559 <body>self.virtualChannelId.value.intValue</body>
560 </specification>
561 </ownedRule>
562 <ownedParameter xmi:id="_RvokDFVUEeWRIqLs5_0Tzg" name="Parameter1" direction="return">
563 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
564 </ownedParameter>
565 </ownedOperation>
566 </packagedElement>
567 <packagedElement xmi:type="uml:Class" xmi:id="_RvokDVVUEeWRIqLs5_0Tzg" name="Vcdu">
568 <ownedComment xmi:id="_RvokDlVUEeWRIqLs5_0Tzg">
569 <body>Frame / Virtual Channel Data Unit</body>
570 </ownedComment>
571 <ownedRule xmi:id="_RvokD1VUEeWRIqLs5_0Tzg" name="input_idleFrame" constrainedElement="_RvokDVVUEeWRIqLs5_0Tzg">
572 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvokEFVUEeWRIqLs5_0Tzg">
573 <language>OCL</language>
574 <body>self.vcduHeader.virtualChannelId = self.cadu.channelData.transmissionData.configuration.rtStpsConfig.xsveRtStps.idleVcid&#xD;
575 &#xD;
576implies &#xD;
577&#xD;
578self.mpduHeader.oclIsTypeOf(MpduIdleHeader) &#xD;
579and &#xD;
580self.mpduHeader.oclAsType(MpduIdleHeader).value.byte->at(1).intValue = 7 &#xD;
581and &#xD;
582self.mpduHeader.oclAsType(MpduIdleHeader).value.byte->at(2).intValue = -2 &#xD;
583and &#xD;
584self.mpduPacketZone.oclIsTypeOf(MpduIdlePacketZone) &#xD;
585and &#xD;
586self.mpduPacketZone.oclAsType(MpduIdlePacketZone).value.byte->at(1).intValue = -1 &#xD;
587and &#xD;
588self.mpduPacketZone.oclAsType(MpduIdlePacketZone).value.byte->at(2).intValue = -3 &#xD;
589and &#xD;
590self.mpduPacketZone.oclAsType(MpduIdlePacketZone).value.byte->at(3).intValue = 89 &#xD;
591and &#xD;
592self.mpduPacketZone.oclAsType(MpduIdlePacketZone).value.byte->at(4).intValue = 123 &#xD;
593</body>
594 </specification>
595 </ownedRule>
596 <ownedRule xmi:id="_RvokEVVUEeWRIqLs5_0Tzg" name="alloy_IsActiveCadu" constrainedElement="_RvokDVVUEeWRIqLs5_0Tzg">
597 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvokElVUEeWRIqLs5_0Tzg">
598 <language>OCL</language>
599 <body>(self.vcduHeader.virtualChannelId = self.cadu.channelData.transmissionData.configuration.rtStpsConfig.xsveRtStps.idleVcid and self.mpduHeader.oclIsTypeOf(MpduIdleHeader) and self.mpduPacketZone.oclIsTypeOf(MpduIdlePacketZone)) &#xD;
600or&#xD;
601(self.vcduHeader.virtualChannelId &lt;> self.cadu.channelData.transmissionData.configuration.rtStpsConfig.xsveRtStps.idleVcid and self.mpduHeader.oclIsTypeOf(MpduActiveHeader) and self.mpduPacketZone.oclIsTypeOf(MpduActivePacketZone))</body>
602 </specification>
603 </ownedRule>
604 <ownedAttribute xmi:id="_RvokE1VUEeWRIqLs5_0Tzg" name="mpduPacketZone" visibility="private" type="_Rvok4FVUEeWRIqLs5_0Tzg" aggregation="composite" association="_RvomHFVUEeWRIqLs5_0Tzg">
605 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvokFVVUEeWRIqLs5_0Tzg" value="1"/>
606 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvokFFVUEeWRIqLs5_0Tzg" value="1"/>
607 </ownedAttribute>
608 <ownedAttribute xmi:id="_RvokFlVUEeWRIqLs5_0Tzg" name="vcduHeader" visibility="private" type="_RvojxFVUEeWRIqLs5_0Tzg" aggregation="composite" association="_RvomG1VUEeWRIqLs5_0Tzg">
609 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvokGFVUEeWRIqLs5_0Tzg" value="1"/>
610 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvokF1VUEeWRIqLs5_0Tzg" value="1"/>
611 </ownedAttribute>
612 <ownedAttribute xmi:id="_RvokGVVUEeWRIqLs5_0Tzg" name="cadu" visibility="private" type="_RvolZVVUEeWRIqLs5_0Tzg" association="_RvomKlVUEeWRIqLs5_0Tzg">
613 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvokG1VUEeWRIqLs5_0Tzg" value="1"/>
614 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvokGlVUEeWRIqLs5_0Tzg" value="1"/>
615 </ownedAttribute>
616 <ownedAttribute xmi:id="_RvokHFVUEeWRIqLs5_0Tzg" name="mpduHeader" visibility="private" type="_Rvolm1VUEeWRIqLs5_0Tzg" aggregation="composite" association="_RvomM1VUEeWRIqLs5_0Tzg">
617 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvokHlVUEeWRIqLs5_0Tzg" value="1"/>
618 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvokHVVUEeWRIqLs5_0Tzg" value="1"/>
619 </ownedAttribute>
620 <ownedOperation xmi:id="_RvokH1VUEeWRIqLs5_0Tzg" name="getVirtualChannelType" bodyCondition="_RvokIFVUEeWRIqLs5_0Tzg" isQuery="true">
621 <ownedRule xmi:id="_RvokIFVUEeWRIqLs5_0Tzg" name="getVirtualChannelType" constrainedElement="_RvokH1VUEeWRIqLs5_0Tzg">
622 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvokIVVUEeWRIqLs5_0Tzg">
623 <language>OCL</language>
624 <body>if self.vcduHeader.virtualChannelId = self.cadu.channelData.transmissionData.configuration.rtStpsConfig.xsveRtStps.idleVcid&#xD;
625 then VirtualChannelType::IDLE &#xD;
626else VirtualChannelType::ACTIVE &#xD;
627endif &#xD;
628</body>
629 </specification>
630 </ownedRule>
631 <ownedParameter xmi:id="_RvokIlVUEeWRIqLs5_0Tzg" name="Parameter1" type="_RvojjFVUEeWRIqLs5_0Tzg" direction="return"/>
632 </ownedOperation>
633 <ownedOperation xmi:id="_RvokI1VUEeWRIqLs5_0Tzg" name="getHeaderAsString" bodyCondition="_RvokJFVUEeWRIqLs5_0Tzg" isQuery="true">
634 <ownedRule xmi:id="_RvokJFVUEeWRIqLs5_0Tzg" name="getHeaderAsString" constrainedElement="_RvokI1VUEeWRIqLs5_0Tzg">
635 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvokJVVUEeWRIqLs5_0Tzg">
636 <language>OCL</language>
637 <body>if self.cadu.channelData.caduHeaderIncludesMpdu then&#xD;
638 if self.getVirtualChannelType() = VirtualChannelType::IDLE then&#xD;
639 self.vcduHeader.vcduHeaderAsString.concat(self.mpduHeader.oclAsType(MpduIdleHeader).mpduIdleHeaderAsString)&#xD;
640 else&#xD;
641 self.vcduHeader.vcduHeaderAsString.concat(self.mpduHeader.oclAsType(MpduActiveHeader).mpduActiveHeaderAsString)&#xD;
642 endif&#xD;
643else&#xD;
644 self.vcduHeader.vcduHeaderAsString&#xD;
645endif&#xD;
646</body>
647 </specification>
648 </ownedRule>
649 <ownedParameter xmi:id="_RvokJlVUEeWRIqLs5_0Tzg" name="Parameter1" direction="return">
650 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
651 </ownedParameter>
652 </ownedOperation>
653 </packagedElement>
654 <packagedElement xmi:type="uml:Class" xmi:id="_RvokJ1VUEeWRIqLs5_0Tzg" name="TmGpsrS1DataFieldHeader">
655 <ownedComment xmi:id="_RvokKFVUEeWRIqLs5_0Tzg">
656 <body>TM GPSR Data Field Header</body>
657 </ownedComment>
658 <generalization xmi:id="_RvokKVVUEeWRIqLs5_0Tzg" general="_Rvokf1VUEeWRIqLs5_0Tzg"/>
659 <ownedAttribute xmi:id="_RvokKlVUEeWRIqLs5_0Tzg" name="fillerA" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg">
660 <ownedComment xmi:id="_RvokK1VUEeWRIqLs5_0Tzg" annotatedElement="_RvokKlVUEeWRIqLs5_0Tzg">
661 <body>&lt;p>1&amp;nbsp;bit&lt;/p></body>
662 </ownedComment>
663 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvokLVVUEeWRIqLs5_0Tzg" value="1"/>
664 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvokLFVUEeWRIqLs5_0Tzg" value="1"/>
665 </ownedAttribute>
666 <ownedAttribute xmi:id="_RvokLlVUEeWRIqLs5_0Tzg" name="version" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg">
667 <ownedComment xmi:id="_RvokL1VUEeWRIqLs5_0Tzg" annotatedElement="_RvokLlVUEeWRIqLs5_0Tzg">
668 <body>&lt;p>3&amp;nbsp;bits&lt;/p></body>
669 </ownedComment>
670 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvokMVVUEeWRIqLs5_0Tzg" value="1"/>
671 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvokMFVUEeWRIqLs5_0Tzg" value="1"/>
672 </ownedAttribute>
673 <ownedAttribute xmi:id="_RvokMlVUEeWRIqLs5_0Tzg" name="fillerB" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg">
674 <ownedComment xmi:id="_RvokM1VUEeWRIqLs5_0Tzg" annotatedElement="_RvokMlVUEeWRIqLs5_0Tzg">
675 <body>&lt;p>4&amp;nbsp;bits&lt;/p></body>
676 </ownedComment>
677 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvokNVVUEeWRIqLs5_0Tzg" value="1"/>
678 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvokNFVUEeWRIqLs5_0Tzg" value="1"/>
679 </ownedAttribute>
680 <ownedAttribute xmi:id="_RvokNlVUEeWRIqLs5_0Tzg" name="type" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg">
681 <ownedComment xmi:id="_RvokN1VUEeWRIqLs5_0Tzg" annotatedElement="_RvokNlVUEeWRIqLs5_0Tzg">
682 <body>&lt;p>8&amp;nbsp;bits&lt;/p></body>
683 </ownedComment>
684 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvokOVVUEeWRIqLs5_0Tzg" value="1"/>
685 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvokOFVUEeWRIqLs5_0Tzg" value="1"/>
686 </ownedAttribute>
687 <ownedAttribute xmi:id="_RvokOlVUEeWRIqLs5_0Tzg" name="subtype" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg">
688 <ownedComment xmi:id="_RvokO1VUEeWRIqLs5_0Tzg" annotatedElement="_RvokOlVUEeWRIqLs5_0Tzg">
689 <body>&lt;p>8&amp;nbsp;bits&lt;/p></body>
690 </ownedComment>
691 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvokPVVUEeWRIqLs5_0Tzg" value="1"/>
692 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvokPFVUEeWRIqLs5_0Tzg" value="1"/>
693 </ownedAttribute>
694 <ownedAttribute xmi:id="_RvokPlVUEeWRIqLs5_0Tzg" name="destinationId" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg">
695 <ownedComment xmi:id="_RvokP1VUEeWRIqLs5_0Tzg" annotatedElement="_RvokPlVUEeWRIqLs5_0Tzg">
696 <body>&lt;p>Destination&amp;nbsp;ID&lt;/p>&lt;p>8&amp;nbsp;bits&lt;/p></body>
697 </ownedComment>
698 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvokQVVUEeWRIqLs5_0Tzg" value="1"/>
699 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvokQFVUEeWRIqLs5_0Tzg" value="1"/>
700 </ownedAttribute>
701 <ownedAttribute xmi:id="_RvokQlVUEeWRIqLs5_0Tzg" name="tfUndefinedA" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg">
702 <ownedComment xmi:id="_RvokQ1VUEeWRIqLs5_0Tzg" annotatedElement="_RvokQlVUEeWRIqLs5_0Tzg">
703 <body>&lt;p>8&amp;nbsp;bits&lt;/p></body>
704 </ownedComment>
705 </ownedAttribute>
706 <ownedAttribute xmi:id="_RvokRFVUEeWRIqLs5_0Tzg" name="tfSeconds" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg">
707 <ownedComment xmi:id="_RvokRVVUEeWRIqLs5_0Tzg" annotatedElement="_RvokRFVUEeWRIqLs5_0Tzg">
708 <body>&lt;p>4&amp;nbsp;bytes&lt;/p></body>
709 </ownedComment>
710 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvokR1VUEeWRIqLs5_0Tzg" value="1"/>
711 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvokRlVUEeWRIqLs5_0Tzg" value="1"/>
712 </ownedAttribute>
713 <ownedAttribute xmi:id="_RvokSFVUEeWRIqLs5_0Tzg" name="tfSubSeconds" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg">
714 <ownedComment xmi:id="_RvokSVVUEeWRIqLs5_0Tzg" annotatedElement="_RvokSFVUEeWRIqLs5_0Tzg">
715 <body>&lt;p>8&amp;nbsp;bits&lt;/p></body>
716 </ownedComment>
717 </ownedAttribute>
718 <ownedAttribute xmi:id="_RvokSlVUEeWRIqLs5_0Tzg" name="tfUndefinedB" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg">
719 <ownedComment xmi:id="_RvokS1VUEeWRIqLs5_0Tzg" annotatedElement="_RvokSlVUEeWRIqLs5_0Tzg">
720 <body>&lt;p>2&amp;nbsp;bytes&lt;/p></body>
721 </ownedComment>
722 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvokTVVUEeWRIqLs5_0Tzg" value="1"/>
723 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvokTFVUEeWRIqLs5_0Tzg" value="1"/>
724 </ownedAttribute>
725 </packagedElement>
726 <packagedElement xmi:type="uml:Class" xmi:id="_RvokTlVUEeWRIqLs5_0Tzg" name="Sync">
727 <ownedComment xmi:id="_RvokT1VUEeWRIqLs5_0Tzg">
728 <body>Sync Marker</body>
729 </ownedComment>
730 <ownedRule xmi:id="_RvokUFVUEeWRIqLs5_0Tzg" name="input_syncMarker" constrainedElement="_RvokTlVUEeWRIqLs5_0Tzg">
731 <ownedComment xmi:id="_RvokUVVUEeWRIqLs5_0Tzg" annotatedElement="_RvokUFVUEeWRIqLs5_0Tzg">
732 <body>&lt;p>We&amp;nbsp;expect&amp;nbsp;that&amp;nbsp;the&amp;nbsp;4&amp;nbsp;byte&amp;nbsp;Sync&amp;nbsp;field&amp;nbsp;should&amp;nbsp;be&amp;nbsp;equal&amp;nbsp;to&amp;nbsp;0x1ACFFC1D&lt;/p>&lt;p>0x1A&amp;nbsp;=&amp;nbsp;26&amp;nbsp;&lt;/p>&lt;p>0xCF&amp;nbsp;=&amp;nbsp;207&lt;/p>&lt;p>0xFC&amp;nbsp;=&amp;nbsp;252&lt;/p>&lt;p>0x1D&amp;nbsp;=&amp;nbsp;29&lt;/p></body>
733 </ownedComment>
734 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvokUlVUEeWRIqLs5_0Tzg">
735 <language>OCL</language>
736 <body>self.value.byte->at(1).intValue = 26 and &#xD;
737self.value.byte->at(2).intValue = -49 and &#xD;
738self.value.byte->at(3).intValue = -4 and &#xD;
739self.value.byte->at(4).intValue = 29</body>
740 </specification>
741 </ownedRule>
742 <ownedAttribute xmi:id="_RvokU1VUEeWRIqLs5_0Tzg" name="value" visibility="private" type="_RvojhVVUEeWRIqLs5_0Tzg">
743 <ownedComment xmi:id="_RvokVFVUEeWRIqLs5_0Tzg" annotatedElement="_RvokU1VUEeWRIqLs5_0Tzg">
744 <body>&lt;p>4&amp;nbsp;bytes&lt;/p></body>
745 </ownedComment>
746 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvokVlVUEeWRIqLs5_0Tzg" value="1"/>
747 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvokVVVUEeWRIqLs5_0Tzg" value="1"/>
748 </ownedAttribute>
749 <ownedAttribute xmi:id="_RvokV1VUEeWRIqLs5_0Tzg" name="cadu" visibility="private" type="_RvolZVVUEeWRIqLs5_0Tzg" association="_RvomHVVUEeWRIqLs5_0Tzg">
750 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvokWVVUEeWRIqLs5_0Tzg" value="1"/>
751 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvokWFVUEeWRIqLs5_0Tzg" value="1"/>
752 </ownedAttribute>
753 </packagedElement>
754 <packagedElement xmi:type="uml:Class" xmi:id="_RvokWlVUEeWRIqLs5_0Tzg" name="SarS1DataFieldHeader">
755 <ownedComment xmi:id="_RvokW1VUEeWRIqLs5_0Tzg">
756 <body>SAR Data Field Header</body>
757 </ownedComment>
758 <generalization xmi:id="_RvokXFVUEeWRIqLs5_0Tzg" general="_Rvokf1VUEeWRIqLs5_0Tzg"/>
759 <ownedAttribute xmi:id="_RvokXVVUEeWRIqLs5_0Tzg" name="tcCoarseTime" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg">
760 <ownedComment xmi:id="_RvokXlVUEeWRIqLs5_0Tzg" annotatedElement="_RvokXVVUEeWRIqLs5_0Tzg">
761 <body>&lt;p>32&amp;nbsp;bits&lt;/p></body>
762 </ownedComment>
763 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvokYFVUEeWRIqLs5_0Tzg" value="1"/>
764 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvokX1VUEeWRIqLs5_0Tzg" value="1"/>
765 </ownedAttribute>
766 <ownedAttribute xmi:id="_RvokYVVUEeWRIqLs5_0Tzg" name="tcFineTime" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg">
767 <ownedComment xmi:id="_RvokYlVUEeWRIqLs5_0Tzg" annotatedElement="_RvokYVVUEeWRIqLs5_0Tzg">
768 <body>&lt;p>16&amp;nbsp;bits&lt;/p></body>
769 </ownedComment>
770 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvokZFVUEeWRIqLs5_0Tzg" value="1"/>
771 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvokY1VUEeWRIqLs5_0Tzg" value="1"/>
772 </ownedAttribute>
773 <ownedAttribute xmi:id="_RvokZVVUEeWRIqLs5_0Tzg" name="ancillaryData" visibility="private" type="_RvojhVVUEeWRIqLs5_0Tzg">
774 <ownedComment xmi:id="_RvokZlVUEeWRIqLs5_0Tzg" annotatedElement="_RvokZVVUEeWRIqLs5_0Tzg">
775 <body>&lt;p>56  bytes&lt;/p></body>
776 </ownedComment>
777 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvokaFVUEeWRIqLs5_0Tzg" value="1"/>
778 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvokZ1VUEeWRIqLs5_0Tzg" value="1"/>
779 </ownedAttribute>
780 </packagedElement>
781 <packagedElement xmi:type="uml:Class" xmi:id="_RvokaVVUEeWRIqLs5_0Tzg" name="ReedSolomonCoding">
782 <ownedComment xmi:id="_RvokalVUEeWRIqLs5_0Tzg">
783 <body>Reed Solomon check symbols</body>
784 </ownedComment>
785 <ownedRule xmi:id="_Rvoka1VUEeWRIqLs5_0Tzg" name="input_reedSolomonCheckSymbols" constrainedElement="_RvolZVVUEeWRIqLs5_0Tzg">
786 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvokbFVUEeWRIqLs5_0Tzg">
787 <language>OCL</language>
788 <body>self.cadu.channelData.transmissionData.configuration.rtStpsConfig.xsveRtStps.rsCorrectFrame = true &#xD;
789 &#xD;
790implies &#xD;
791 &#xD;
792self.rsActualCheckSymbols.byte = self.rsCalculatedCheckSymbols.byte&#xD;
793</body>
794 </specification>
795 </ownedRule>
796 <ownedAttribute xmi:id="_RvokbVVUEeWRIqLs5_0Tzg" name="rsActualCheckSymbols" visibility="private" type="_RvojhVVUEeWRIqLs5_0Tzg">
797 <ownedComment xmi:id="_RvokblVUEeWRIqLs5_0Tzg">
798 <body>128 bytes</body>
799 </ownedComment>
800 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvokcFVUEeWRIqLs5_0Tzg" value="1"/>
801 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Rvokb1VUEeWRIqLs5_0Tzg" value="1"/>
802 </ownedAttribute>
803 <ownedAttribute xmi:id="_RvokcVVUEeWRIqLs5_0Tzg" name="rsCalculatedCheckSymbols" visibility="private" type="_RvojhVVUEeWRIqLs5_0Tzg">
804 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Rvokc1VUEeWRIqLs5_0Tzg" value="1"/>
805 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvokclVUEeWRIqLs5_0Tzg" value="1"/>
806 </ownedAttribute>
807 <ownedAttribute xmi:id="_RvokdFVUEeWRIqLs5_0Tzg" name="cadu" visibility="private" type="_RvolZVVUEeWRIqLs5_0Tzg" association="_RvomKVVUEeWRIqLs5_0Tzg">
808 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvokdlVUEeWRIqLs5_0Tzg" value="1"/>
809 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvokdVVUEeWRIqLs5_0Tzg" value="1"/>
810 </ownedAttribute>
811 <ownedOperation xmi:id="_Rvokd1VUEeWRIqLs5_0Tzg" name="calculateRsCoding" visibility="public">
812 <ownedComment xmi:id="_RvokeFVUEeWRIqLs5_0Tzg">
813 <body>return a byte array of 128 bytes</body>
814 </ownedComment>
815 <ownedParameter xmi:id="_RvokeVVUEeWRIqLs5_0Tzg" name="Result" isUnique="false" direction="return" effect="update">
816 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EByteArray"/>
817 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Rvoke1VUEeWRIqLs5_0Tzg"/>
818 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvokelVUEeWRIqLs5_0Tzg" value="*"/>
819 </ownedParameter>
820 <ownedParameter xmi:id="_RvokfFVUEeWRIqLs5_0Tzg" name="vcduBytes" isUnique="false" effect="read">
821 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EByteArray"/>
822 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvokflVUEeWRIqLs5_0Tzg"/>
823 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvokfVVUEeWRIqLs5_0Tzg" value="*"/>
824 </ownedParameter>
825 </ownedOperation>
826 </packagedElement>
827 <packagedElement xmi:type="uml:Class" xmi:id="_Rvokf1VUEeWRIqLs5_0Tzg" name="PacketSecondaryHeader" isAbstract="true">
828 <ownedComment xmi:id="_RvokgFVUEeWRIqLs5_0Tzg">
829 <body>Packet Secondary Header / Data Field Header</body>
830 </ownedComment>
831 <ownedRule xmi:id="_RvokgVVUEeWRIqLs5_0Tzg" name="alloy_isUsingCorrectMissionIspInfo" constrainedElement="_Rvokf1VUEeWRIqLs5_0Tzg">
832 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvokglVUEeWRIqLs5_0Tzg">
833 <language>OCL</language>
834 <body>self.activePacketDataField.isp.mpduActivePacketZone.vcdu.cadu.channelData.transmissionData.configuration.validApidsConfig.ispInfo->exists(x : IspInfo | &#xD;
835 self.activePacketDataField.isp.mpduActivePacketZone.vcdu.cadu.channelData.transmissionData.configuration.rtStpsConfig.xsveRtStps.missionName->exists(y: MissionName |&#xD;
836 y = x.missionName&#xD;
837 )&#xD;
838)&#xD;
839</body>
840 </specification>
841 </ownedRule>
842 <ownedRule xmi:id="_Rvokg1VUEeWRIqLs5_0Tzg" name="alloy_isSecondaryHeaderMatchingIspInfo" constrainedElement="_Rvokf1VUEeWRIqLs5_0Tzg">
843 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvokhFVUEeWRIqLs5_0Tzg">
844 <language>OCL</language>
845 <body>self.activePacketDataField.isp.mpduActivePacketZone.vcdu.cadu.channelData.transmissionData.configuration.validApidsConfig.ispInfo->exists(x : IspInfo | &#xD;
846 (&#xD;
847 self.activePacketDataField.isp.mpduActivePacketZone.vcdu.cadu.channelData.transmissionData.configuration.rtStpsConfig.xsveRtStps.missionName->exists(y: MissionName | &#xD;
848 y = x.missionName) &#xD;
849 ) &#xD;
850 and &#xD;
851 ( &#xD;
852 ( &#xD;
853 (x.missionName = MissionName::Sentinel1 or x.missionName = MissionName::Sentinel2) &#xD;
854 and &#xD;
855 x.apidValue->exists(y : Apid | &#xD;
856 y.apidPid = self.activePacketDataField.isp.packetPrimaryHeader.apidPid &#xD;
857 and &#xD;
858 y.apidPcat = self.activePacketDataField.isp.packetPrimaryHeader.apidPcat&#xD;
859 ) &#xD;
860 )&#xD;
861 or &#xD;
862 ( &#xD;
863 x.missionName = MissionName::Sentinel3&#xD;
864 and &#xD;
865 x.pidValue->exists(pid : ApidPid | pid = self.activePacketDataField.isp.packetPrimaryHeader.apidPid) &#xD;
866 and &#xD;
867 x.pcatValue->exists(pcat : ApidPcat | pcat = self.activePacketDataField.isp.packetPrimaryHeader.apidPcat)&#xD;
868 )&#xD;
869 ) &#xD;
870 and&#xD;
871 (&#xD;
872 ( (x.packetType = IspPacketTypes::S1_SAR) and self.oclIsTypeOf(SarS1DataFieldHeader) ) or &#xD;
873 ( (x.packetType = IspPacketTypes::S1_GPSR) and self.oclIsTypeOf(TmGpsrS1DataFieldHeader) ) or &#xD;
874 ( (x.packetType = IspPacketTypes::S2_CSW) and self.oclIsTypeOf(TmCswS2DataFieldHeader) ) or &#xD;
875 ( (x.packetType = IspPacketTypes::S2_GPSR) and self.oclIsTypeOf(TmGpsrS2DataFieldHeader) ) or &#xD;
876 ( (x.packetType = IspPacketTypes::S2_MSI) and self.oclIsTypeOf(MsiS2DataFieldHeader) ) or &#xD;
877 ( (x.packetType = IspPacketTypes::S2_STR) and self.oclIsTypeOf(TmStrS2DataFieldHeader) ) or &#xD;
878 ( (x.packetType = IspPacketTypes::S3_OLCI) and self.oclIsTypeOf(OlciS3DataFieldHeader) ) or &#xD;
879 ( (x.packetType = IspPacketTypes::S3_DORIS) and self.oclIsTypeOf(DorisS3DateFieldHeader) ) or &#xD;
880 ( (x.packetType = IspPacketTypes::S3_MWR) and self.oclIsTypeOf(MwrS3DataFieldHeader) ) or &#xD;
881 ( (x.packetType = IspPacketTypes::S3_GPSR) and self.oclIsTypeOf(TmGpsrS3DataFieldHeader) ) or &#xD;
882 ( (x.packetType = IspPacketTypes::S3_SLSTR) and self.oclIsTypeOf(SlstrS3DataFieldHeader) ) or &#xD;
883 ( (x.packetType = IspPacketTypes::S3_NAVATT) and self.oclIsTypeOf(TmNavattS3DataFieldHeader) ) or &#xD;
884 ( (x.packetType = IspPacketTypes::S3_SRAL) and self.oclIsTypeOf(SralS3DataFieldHeader) ) &#xD;
885 ) &#xD;
886) </body>
887 </specification>
888 </ownedRule>
889 <ownedRule xmi:id="_RvokhVVUEeWRIqLs5_0Tzg" name="alloy_isSecondaryHeaderMatchingPacketType" constrainedElement="_Rvokf1VUEeWRIqLs5_0Tzg">
890 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvokhlVUEeWRIqLs5_0Tzg">
891 <language>OCL</language>
892 <body>self.activePacketDataField.isp.mpduActivePacketZone.vcdu.cadu.channelData.transmissionData.configuration.validApidsConfig.ispInfo->exists(x : IspInfo | &#xD;
893 ((x.packetType = IspPacketTypes::S1_SAR) and self.oclIsTypeOf(SarS1DataFieldHeader)) or &#xD;
894 ((x.packetType = IspPacketTypes::S1_GPSR) and self.oclIsTypeOf(TmGpsrS1DataFieldHeader)) or&#xD;
895&#xD;
896 ((x.packetType = IspPacketTypes::S2_CSW) and self.oclIsTypeOf(TmCswS2DataFieldHeader)) or&#xD;
897 ((x.packetType = IspPacketTypes::S2_GPSR) and self.oclIsTypeOf(TmGpsrS2DataFieldHeader)) or&#xD;
898 ((x.packetType = IspPacketTypes::S2_MSI) and self.oclIsTypeOf(MsiS2DataFieldHeader)) or &#xD;
899 ((x.packetType = IspPacketTypes::S2_STR) and self.oclIsTypeOf(TmStrS2DataFieldHeader)) or&#xD;
900&#xD;
901 ((x.packetType = IspPacketTypes::S3_OLCI) and self.oclIsTypeOf(OlciS3DataFieldHeader)) or&#xD;
902 ((x.packetType = IspPacketTypes::S3_DORIS) and self.oclIsTypeOf(DorisS3DateFieldHeader)) or&#xD;
903 ((x.packetType = IspPacketTypes::S3_MWR) and self.oclIsTypeOf(MwrS3DataFieldHeader)) or &#xD;
904 ((x.packetType = IspPacketTypes::S3_GPSR) and self.oclIsTypeOf(TmGpsrS3DataFieldHeader)) or&#xD;
905 ((x.packetType = IspPacketTypes::S3_SLSTR) and self.oclIsTypeOf(SlstrS3DataFieldHeader)) or&#xD;
906 ((x.packetType = IspPacketTypes::S3_NAVATT) and self.oclIsTypeOf(TmNavattS3DataFieldHeader)) or&#xD;
907 ((x.packetType = IspPacketTypes::S3_SRAL) and self.oclIsTypeOf(SralS3DataFieldHeader))&#xD;
908)&#xD;
909</body>
910 </specification>
911 </ownedRule>
912 <ownedAttribute xmi:id="_Rvokh1VUEeWRIqLs5_0Tzg" name="activePacketDataField" visibility="private" type="_RvomNFVUEeWRIqLs5_0Tzg" association="_RvomSVVUEeWRIqLs5_0Tzg">
913 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvokiVVUEeWRIqLs5_0Tzg" value="1"/>
914 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvokiFVUEeWRIqLs5_0Tzg" value="1"/>
915 </ownedAttribute>
916 </packagedElement>
917 <packagedElement xmi:type="uml:Class" xmi:id="_RvokilVUEeWRIqLs5_0Tzg" name="PacketPrimaryHeader">
918 <ownedComment xmi:id="_Rvoki1VUEeWRIqLs5_0Tzg">
919 <body>Packet Primary Header</body>
920 </ownedComment>
921 <ownedRule xmi:id="_RvokjFVUEeWRIqLs5_0Tzg" name="input_packetIdentificationApid" constrainedElement="_Rvok_VVUEeWRIqLs5_0Tzg">
922 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvokjVVUEeWRIqLs5_0Tzg">
923 <language>OCL</language>
924 <body>let rtstpsConfig : XsveRtStps = self.isp.mpduActivePacketZone->first().vcdu.cadu.channelData.transmissionData.configuration.rtStpsConfig.xsveRtStps in &#xD;
925&#xD;
926rtstpsConfig.vcdusConfig.vcduConfig->select(y | y.vcid = self.isp.mpduActivePacketZone->first().vcdu.vcduHeader.virtualChannelId).ispsConfig.ispConfig.apid->exists(x | &#xD;
927 x.apidPid = self.apidPid and x.apidPcat = self.apidPcat) &#xD;
928or &#xD;
929self.apidPid = rtstpsConfig.idleApid.apidPid and self.apidPcat = rtstpsConfig.idleApid.apidPcat&#xD;
930</body>
931 </specification>
932 </ownedRule>
933 <ownedRule xmi:id="_RvokjlVUEeWRIqLs5_0Tzg" name="input_packetVersionNumber" constrainedElement="_RvokilVUEeWRIqLs5_0Tzg">
934 <specification xmi:type="uml:OpaqueExpression" xmi:id="_Rvokj1VUEeWRIqLs5_0Tzg">
935 <language>OCL</language>
936 <body>self.versionNumber.intValue = 0</body>
937 </specification>
938 </ownedRule>
939 <ownedRule xmi:id="_RvokkFVUEeWRIqLs5_0Tzg" name="input_packetIdentificationType" constrainedElement="_RvokilVUEeWRIqLs5_0Tzg">
940 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvokkVVUEeWRIqLs5_0Tzg">
941 <language>OCL</language>
942 <body>self.type.intValue = 0</body>
943 </specification>
944 </ownedRule>
945 <ownedRule xmi:id="_RvokklVUEeWRIqLs5_0Tzg" name="input_packetActiveIdentificationShf" constrainedElement="_RvokilVUEeWRIqLs5_0Tzg">
946 <specification xmi:type="uml:OpaqueExpression" xmi:id="_Rvokk1VUEeWRIqLs5_0Tzg">
947 <language>OCL</language>
948 <body>let transmissionData : TransmissionData = self.isp.mpduActivePacketZone->first().vcdu.cadu.channelData.transmissionData in &#xD;
949&#xD;
950self.apidPid &lt;> transmissionData.configuration.rtStpsConfig.xsveRtStps.idleApid.apidPid&#xD;
951or&#xD;
952self.apidPcat &lt;> transmissionData.configuration.rtStpsConfig.xsveRtStps.idleApid.apidPcat&#xD;
953&#xD;
954implies &#xD;
955&#xD;
956self.shf.intValue = 1&#xD;
957</body>
958 </specification>
959 </ownedRule>
960 <ownedRule xmi:id="_RvoklFVUEeWRIqLs5_0Tzg" name="input_packetSequenceControlGroupingFlags" constrainedElement="_RvokilVUEeWRIqLs5_0Tzg">
961 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvoklVVUEeWRIqLs5_0Tzg">
962 <language>OCL</language>
963 <body>self.sequenceFlags.intValue = 3</body>
964 </specification>
965 </ownedRule>
966 <ownedRule xmi:id="_RvokllVUEeWRIqLs5_0Tzg" name="input_packetDataLength" constrainedElement="_RvokilVUEeWRIqLs5_0Tzg">
967 <specification xmi:type="uml:OpaqueExpression" xmi:id="_Rvokl1VUEeWRIqLs5_0Tzg">
968 <language>OCL</language>
969 <body>self.isp.isTypeOfPacket(IspPacketTypes::S1_SAR)&#xD;
970&#xD;
971implies&#xD;
972&#xD;
973(self.dataLength.intValue + 6 +1).mod(4) = 0 &#xD;
974</body>
975 </specification>
976 </ownedRule>
977 <ownedRule xmi:id="_RvokmFVUEeWRIqLs5_0Tzg" name="input_packetIdleIdentificationShf" constrainedElement="_RvokilVUEeWRIqLs5_0Tzg">
978 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvokmVVUEeWRIqLs5_0Tzg">
979 <language>OCL</language>
980 <body>let transmissionData : TransmissionData = self.isp.mpduActivePacketZone->first().vcdu.cadu.channelData.transmissionData in &#xD;
981&#xD;
982self.apidPid = transmissionData.configuration.rtStpsConfig.xsveRtStps.idleApid.apidPid&#xD;
983and&#xD;
984self.apidPcat = transmissionData.configuration.rtStpsConfig.xsveRtStps.idleApid.apidPcat&#xD;
985 &#xD;
986implies &#xD;
987&#xD;
988self.shf.intValue = 0&#xD;
989</body>
990 </specification>
991 </ownedRule>
992 <ownedRule xmi:id="_RvokmlVUEeWRIqLs5_0Tzg" name="input_validPacketType" constrainedElement="_RvokilVUEeWRIqLs5_0Tzg">
993 <specification xmi:type="uml:OpaqueExpression" xmi:id="_Rvokm1VUEeWRIqLs5_0Tzg">
994 <language>OCL</language>
995 <body>let transmissionData : TransmissionData = self.isp.mpduActivePacketZone->first().vcdu.cadu.channelData.transmissionData, &#xD;
996 ispInfoSet : Set(IspInfo) = transmissionData.configuration.validApidsConfig.ispInfo &#xD;
997in &#xD;
998&#xD;
999self.apidPid = transmissionData.configuration.rtStpsConfig.xsveRtStps.idleApid.apidPid&#xD;
1000and&#xD;
1001self.apidPcat = transmissionData.configuration.rtStpsConfig.xsveRtStps.idleApid.apidPcat&#xD;
1002&#xD;
1003or &#xD;
1004&#xD;
1005if transmissionData.configuration.rtStpsConfig.xsveRtStps.missionName = 'S3A' then&#xD;
1006 (ispInfoSet.apidValue.apidPid->exists(x : ApidPid | x = self.apidPid) and &#xD;
1007 ispInfoSet.apidValue.apidPcat->exists(x : ApidPcat | x = self.apidPcat))&#xD;
1008else&#xD;
1009 ispInfoSet.apidValue->exists(x : Apid | x.apidPid = self.apidPid and x.apidPcat = self.apidPcat) &#xD;
1010endif &#xD;
1011</body>
1012 </specification>
1013 </ownedRule>
1014 <ownedAttribute xmi:id="_RvoknFVUEeWRIqLs5_0Tzg" name="versionNumber" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg">
1015 <ownedComment xmi:id="_RvoknVVUEeWRIqLs5_0Tzg" annotatedElement="_RvoknFVUEeWRIqLs5_0Tzg">
1016 <body>&lt;p>3&amp;nbsp;bits&lt;/p></body>
1017 </ownedComment>
1018 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Rvokn1VUEeWRIqLs5_0Tzg" value="1"/>
1019 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvoknlVUEeWRIqLs5_0Tzg" value="1"/>
1020 </ownedAttribute>
1021 <ownedAttribute xmi:id="_RvokoFVUEeWRIqLs5_0Tzg" name="type" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg">
1022 <ownedComment xmi:id="_RvokoVVUEeWRIqLs5_0Tzg" annotatedElement="_RvokoFVUEeWRIqLs5_0Tzg">
1023 <body>&lt;p>1&amp;nbsp;bit&lt;/p></body>
1024 </ownedComment>
1025 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Rvoko1VUEeWRIqLs5_0Tzg" value="1"/>
1026 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvokolVUEeWRIqLs5_0Tzg" value="1"/>
1027 </ownedAttribute>
1028 <ownedAttribute xmi:id="_RvokpFVUEeWRIqLs5_0Tzg" name="shf" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg">
1029 <ownedComment xmi:id="_RvokpVVUEeWRIqLs5_0Tzg" annotatedElement="_RvokpFVUEeWRIqLs5_0Tzg">
1030 <body>&lt;p>Secondary&amp;nbsp;Header&amp;nbsp;Flag&lt;/p>&lt;p>1&amp;nbsp;bit&lt;/p></body>
1031 </ownedComment>
1032 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Rvokp1VUEeWRIqLs5_0Tzg" value="1"/>
1033 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvokplVUEeWRIqLs5_0Tzg" value="1"/>
1034 </ownedAttribute>
1035 <ownedAttribute xmi:id="_RvokqFVUEeWRIqLs5_0Tzg" name="apidPid" visibility="private" type="_RvomilVUEeWRIqLs5_0Tzg">
1036 <ownedComment xmi:id="_RvokqVVUEeWRIqLs5_0Tzg" annotatedElement="_RvokqFVUEeWRIqLs5_0Tzg">
1037 <body>&lt;p>7&amp;nbsp;bits&lt;/p></body>
1038 </ownedComment>
1039 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Rvokq1VUEeWRIqLs5_0Tzg" value="1"/>
1040 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvokqlVUEeWRIqLs5_0Tzg" value="1"/>
1041 </ownedAttribute>
1042 <ownedAttribute xmi:id="_RvokrFVUEeWRIqLs5_0Tzg" name="apidPcat" visibility="private" type="_Rvomh1VUEeWRIqLs5_0Tzg"/>
1043 <ownedAttribute xmi:id="_RvokrVVUEeWRIqLs5_0Tzg" name="sequenceFlags" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg">
1044 <ownedComment xmi:id="_RvokrlVUEeWRIqLs5_0Tzg" annotatedElement="_RvokrVVUEeWRIqLs5_0Tzg">
1045 <body>&lt;p>2&amp;nbsp;bits&lt;/p></body>
1046 </ownedComment>
1047 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvoksFVUEeWRIqLs5_0Tzg" value="1"/>
1048 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Rvokr1VUEeWRIqLs5_0Tzg" value="1"/>
1049 </ownedAttribute>
1050 <ownedAttribute xmi:id="_RvoksVVUEeWRIqLs5_0Tzg" name="sequenceCount" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg">
1051 <ownedComment xmi:id="_RvokslVUEeWRIqLs5_0Tzg" annotatedElement="_RvoksVVUEeWRIqLs5_0Tzg">
1052 <body>&lt;p>14&amp;nbsp;bits&lt;/p></body>
1053 </ownedComment>
1054 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvoktFVUEeWRIqLs5_0Tzg" value="1"/>
1055 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Rvoks1VUEeWRIqLs5_0Tzg" value="1"/>
1056 </ownedAttribute>
1057 <ownedAttribute xmi:id="_RvoktVVUEeWRIqLs5_0Tzg" name="dataLength" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg">
1058 <ownedComment xmi:id="_RvoktlVUEeWRIqLs5_0Tzg" annotatedElement="_RvoktVVUEeWRIqLs5_0Tzg">
1059 <body>&lt;p>2&amp;nbsp;bytes&lt;/p></body>
1060 </ownedComment>
1061 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvokuFVUEeWRIqLs5_0Tzg" value="1"/>
1062 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Rvokt1VUEeWRIqLs5_0Tzg" value="1"/>
1063 </ownedAttribute>
1064 <ownedAttribute xmi:id="_RvokuVVUEeWRIqLs5_0Tzg" name="isp" visibility="private" type="_Rvok_VVUEeWRIqLs5_0Tzg" association="_RvomH1VUEeWRIqLs5_0Tzg">
1065 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Rvoku1VUEeWRIqLs5_0Tzg" value="1"/>
1066 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvokulVUEeWRIqLs5_0Tzg" value="1"/>
1067 </ownedAttribute>
1068 <ownedAttribute xmi:id="_RvokvFVUEeWRIqLs5_0Tzg" name="headerAsString" visibility="private">
1069 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
1070 </ownedAttribute>
1071 </packagedElement>
1072 <packagedElement xmi:type="uml:Class" xmi:id="_RvokvVVUEeWRIqLs5_0Tzg" name="PacketErrorControl">
1073 <ownedComment xmi:id="_RvokvlVUEeWRIqLs5_0Tzg">
1074 <body>Packet Error Control (CRC)</body>
1075 </ownedComment>
1076 <ownedRule xmi:id="_Rvokv1VUEeWRIqLs5_0Tzg" name="input_packetErrorControl" constrainedElement="_Rvok_VVUEeWRIqLs5_0Tzg">
1077 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvokwFVUEeWRIqLs5_0Tzg">
1078 <language>OCL</language>
1079 <body>let rtstpsConfig : XsveRtStps = self.activePacketDataField.isp.mpduActivePacketZone->first().vcdu.cadu.channelData.transmissionData.configuration.rtStpsConfig.xsveRtStps in &#xD;
1080&#xD;
1081rtstpsConfig.checkCrc &#xD;
1082and (rtstpsConfig.missionName &lt;> 'S1A' &#xD;
1083 or (self.activePacketDataField.isp.packetPrimaryHeader.apidPid.value.intValue*16 &#xD;
1084 + self.activePacketDataField.isp.packetPrimaryHeader.apidPcat.value.intValue) &lt;> 1052) &#xD;
1085&#xD;
1086implies &#xD;
1087&#xD;
1088self.actualValue.byte = self.calculatedValue.byte&#xD;
1089</body>
1090 </specification>
1091 </ownedRule>
1092 <ownedAttribute xmi:id="_RvokwVVUEeWRIqLs5_0Tzg" name="actualValue" visibility="private" type="_RvojhVVUEeWRIqLs5_0Tzg">
1093 <ownedComment xmi:id="_RvokwlVUEeWRIqLs5_0Tzg" annotatedElement="_RvokwVVUEeWRIqLs5_0Tzg">
1094 <body>&lt;p>2  bytes&lt;/p></body>
1095 </ownedComment>
1096 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvokxFVUEeWRIqLs5_0Tzg" value="1"/>
1097 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Rvokw1VUEeWRIqLs5_0Tzg" value="1"/>
1098 </ownedAttribute>
1099 <ownedAttribute xmi:id="_RvokxVVUEeWRIqLs5_0Tzg" name="calculatedValue" visibility="private" type="_RvojhVVUEeWRIqLs5_0Tzg">
1100 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Rvokx1VUEeWRIqLs5_0Tzg" value="1"/>
1101 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvokxlVUEeWRIqLs5_0Tzg" value="1"/>
1102 </ownedAttribute>
1103 <ownedAttribute xmi:id="_RvokyFVUEeWRIqLs5_0Tzg" name="activePacketDataField" visibility="private" type="_RvomNFVUEeWRIqLs5_0Tzg" association="_RvomS1VUEeWRIqLs5_0Tzg">
1104 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvokylVUEeWRIqLs5_0Tzg" value="1"/>
1105 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvokyVVUEeWRIqLs5_0Tzg" value="1"/>
1106 </ownedAttribute>
1107 <ownedOperation xmi:id="_Rvoky1VUEeWRIqLs5_0Tzg" name="calculateCrc" visibility="public">
1108 <ownedParameter xmi:id="_RvokzFVUEeWRIqLs5_0Tzg" name="Result" isUnique="false" direction="return" effect="update">
1109 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EByteArray"/>
1110 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvokzlVUEeWRIqLs5_0Tzg"/>
1111 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvokzVVUEeWRIqLs5_0Tzg" value="1"/>
1112 </ownedParameter>
1113 <ownedParameter xmi:id="_Rvokz1VUEeWRIqLs5_0Tzg" name="dataFieldHeader" isUnique="false" effect="read">
1114 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EByteArray"/>
1115 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Rvok0VVUEeWRIqLs5_0Tzg"/>
1116 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Rvok0FVUEeWRIqLs5_0Tzg" value="*"/>
1117 </ownedParameter>
1118 <ownedParameter xmi:id="_Rvok0lVUEeWRIqLs5_0Tzg" name="dataFieldHeaderLength" isUnique="false" effect="read">
1119 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
1120 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Rvok1FVUEeWRIqLs5_0Tzg"/>
1121 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Rvok01VUEeWRIqLs5_0Tzg" value="1"/>
1122 </ownedParameter>
1123 <ownedParameter xmi:id="_Rvok1VVUEeWRIqLs5_0Tzg" name="data" isUnique="false" effect="read">
1124 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EByteArray"/>
1125 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Rvok11VUEeWRIqLs5_0Tzg"/>
1126 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Rvok1lVUEeWRIqLs5_0Tzg" value="*"/>
1127 </ownedParameter>
1128 <ownedParameter xmi:id="_Rvok2FVUEeWRIqLs5_0Tzg" name="dataLength" isUnique="false" effect="read">
1129 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
1130 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Rvok2lVUEeWRIqLs5_0Tzg"/>
1131 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Rvok2VVUEeWRIqLs5_0Tzg" value="1"/>
1132 </ownedParameter>
1133 </ownedOperation>
1134 </packagedElement>
1135 <packagedElement xmi:type="uml:Class" xmi:id="_Rvok21VUEeWRIqLs5_0Tzg" name="PacketDataField" isAbstract="true">
1136 <ownedComment xmi:id="_Rvok3FVUEeWRIqLs5_0Tzg">
1137 <body>Packet Data Field</body>
1138 </ownedComment>
1139 <ownedAttribute xmi:id="_Rvok3VVUEeWRIqLs5_0Tzg" name="isp" visibility="private" type="_Rvok_VVUEeWRIqLs5_0Tzg" association="_RvomHlVUEeWRIqLs5_0Tzg">
1140 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Rvok31VUEeWRIqLs5_0Tzg" value="1"/>
1141 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Rvok3lVUEeWRIqLs5_0Tzg" value="1"/>
1142 </ownedAttribute>
1143 </packagedElement>
1144 <packagedElement xmi:type="uml:Class" xmi:id="_Rvok4FVUEeWRIqLs5_0Tzg" name="MpduPacketZone" isAbstract="true">
1145 <ownedComment xmi:id="_Rvok4VVUEeWRIqLs5_0Tzg">
1146 <body>Multiplexing Protocol Data Unit (M_PDU) Packet Zone</body>
1147 </ownedComment>
1148 <ownedAttribute xmi:id="_Rvok4lVUEeWRIqLs5_0Tzg" name="vcdu" visibility="private" type="_RvokDVVUEeWRIqLs5_0Tzg" association="_RvomHFVUEeWRIqLs5_0Tzg">
1149 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Rvok5FVUEeWRIqLs5_0Tzg" value="1"/>
1150 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Rvok41VUEeWRIqLs5_0Tzg" value="1"/>
1151 </ownedAttribute>
1152 </packagedElement>
1153 <packagedElement xmi:type="uml:Class" xmi:id="_Rvok5VVUEeWRIqLs5_0Tzg" name="MpduIdleHeader">
1154 <ownedComment xmi:id="_Rvok5lVUEeWRIqLs5_0Tzg">
1155 <body>MPDU Idle Header</body>
1156 </ownedComment>
1157 <generalization xmi:id="_Rvok51VUEeWRIqLs5_0Tzg" general="_Rvolm1VUEeWRIqLs5_0Tzg"/>
1158 <ownedAttribute xmi:id="_Rvok6FVUEeWRIqLs5_0Tzg" name="value" visibility="private" type="_RvojhVVUEeWRIqLs5_0Tzg">
1159 <ownedComment xmi:id="_Rvok6VVUEeWRIqLs5_0Tzg" annotatedElement="_Rvok6FVUEeWRIqLs5_0Tzg">
1160 <body>&lt;p>2&amp;nbsp;bytes&lt;/p></body>
1161 </ownedComment>
1162 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Rvok61VUEeWRIqLs5_0Tzg" value="1"/>
1163 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Rvok6lVUEeWRIqLs5_0Tzg" value="1"/>
1164 </ownedAttribute>
1165 <ownedAttribute xmi:id="_Rvok7FVUEeWRIqLs5_0Tzg" name="mpduIdleHeaderAsString" visibility="private">
1166 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
1167 </ownedAttribute>
1168 </packagedElement>
1169 <packagedElement xmi:type="uml:Class" xmi:id="_Rvok7VVUEeWRIqLs5_0Tzg" name="MpduActiveHeader">
1170 <ownedComment xmi:id="_Rvok7lVUEeWRIqLs5_0Tzg">
1171 <body>Multiplexing Protocol Data Unit (M_PDU) Header</body>
1172 </ownedComment>
1173 <ownedRule xmi:id="_Rvok71VUEeWRIqLs5_0Tzg" name="input_reservedSpare" constrainedElement="_Rvok7VVUEeWRIqLs5_0Tzg">
1174 <specification xmi:type="uml:OpaqueExpression" xmi:id="_Rvok8FVUEeWRIqLs5_0Tzg">
1175 <language>OCL</language>
1176 <body>self.rsvdSpare.intValue = 0</body>
1177 </specification>
1178 </ownedRule>
1179 <ownedRule xmi:id="_Rvok8VVUEeWRIqLs5_0Tzg" name="input_firstHeaderPointer" constrainedElement="_Rvok7VVUEeWRIqLs5_0Tzg">
1180 <specification xmi:type="uml:OpaqueExpression" xmi:id="_Rvok8lVUEeWRIqLs5_0Tzg">
1181 <language>OCL</language>
1182 <body>self.firstHeaderPointer.intValue = 2047 &#xD;
1183or &#xD;
1184self.firstHeaderPointer.intValue &lt; 1902</body>
1185 </specification>
1186 </ownedRule>
1187 <generalization xmi:id="_Rvok81VUEeWRIqLs5_0Tzg" general="_Rvolm1VUEeWRIqLs5_0Tzg"/>
1188 <ownedAttribute xmi:id="_Rvok9FVUEeWRIqLs5_0Tzg" name="rsvdSpare" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg">
1189 <ownedComment xmi:id="_Rvok9VVUEeWRIqLs5_0Tzg" annotatedElement="_Rvok9FVUEeWRIqLs5_0Tzg">
1190 <body>&lt;p>5&amp;nbsp;bits&lt;/p></body>
1191 </ownedComment>
1192 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Rvok91VUEeWRIqLs5_0Tzg" value="1"/>
1193 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Rvok9lVUEeWRIqLs5_0Tzg" value="1"/>
1194 </ownedAttribute>
1195 <ownedAttribute xmi:id="_Rvok-FVUEeWRIqLs5_0Tzg" name="firstHeaderPointer" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg">
1196 <ownedComment xmi:id="_Rvok-VVUEeWRIqLs5_0Tzg" annotatedElement="_Rvok-FVUEeWRIqLs5_0Tzg">
1197 <body>&lt;p>11&amp;nbsp;bits&lt;/p></body>
1198 </ownedComment>
1199 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Rvok-1VUEeWRIqLs5_0Tzg" value="1"/>
1200 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Rvok-lVUEeWRIqLs5_0Tzg" value="1"/>
1201 </ownedAttribute>
1202 <ownedAttribute xmi:id="_Rvok_FVUEeWRIqLs5_0Tzg" name="mpduActiveHeaderAsString" visibility="private">
1203 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
1204 </ownedAttribute>
1205 </packagedElement>
1206 <packagedElement xmi:type="uml:Class" xmi:id="_Rvok_VVUEeWRIqLs5_0Tzg" name="Isp">
1207 <ownedComment xmi:id="_Rvok_lVUEeWRIqLs5_0Tzg">
1208 <body>Instrument Source Packet</body>
1209 </ownedComment>
1210 <ownedRule xmi:id="_Rvok_1VUEeWRIqLs5_0Tzg" name="input_packetSequenceControlSourceSequenceCountMax" constrainedElement="_Rvok_VVUEeWRIqLs5_0Tzg">
1211 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvolAFVUEeWRIqLs5_0Tzg">
1212 <language>OCL</language>
1213 <body>let &#xD;
1214 config : Configuration = self.mpduActivePacketZone->first().vcdu.cadu.channelData.transmissionData.configuration, &#xD;
1215 counterWrapValue : Set(ApidSuffixAndMaxCounter) = config.maxCounterPerApidSuffixConfig.apidSuffixAndMaxCounter->select(x : ApidSuffixAndMaxCounter | x.apidSuffix = self.packetPrimaryHeader.apidPcat) &#xD;
1216in &#xD;
1217&#xD;
1218config.rtStpsConfig.xsveRtStps.missionName = 'S2A' &#xD;
1219and &#xD;
1220self.packetDataField.oclIsTypeOf(IdlePacketDataField) = false &#xD;
1221 &#xD;
1222implies &#xD;
1223&#xD;
1224counterWrapValue->size() = 1 &#xD;
1225&#xD;
1226and &#xD;
1227&#xD;
1228self.packetPrimaryHeader.sequenceCount.intValue &lt;= counterWrapValue->asOrderedSet()->first().maxSscCounterValue&#xD;
1229</body>
1230 </specification>
1231 </ownedRule>
1232 <ownedRule xmi:id="_RvolAVVUEeWRIqLs5_0Tzg" name="input_idleIspMarker" constrainedElement="_Rvok_VVUEeWRIqLs5_0Tzg">
1233 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvolAlVUEeWRIqLs5_0Tzg">
1234 <language>OCL</language>
1235 <body>let transmissionData : TransmissionData = self.mpduActivePacketZone->first().vcdu.cadu.channelData.transmissionData, &#xD;
1236rtStpsConfig : XsveRtStps = transmissionData.configuration.rtStpsConfig.xsveRtStps &#xD;
1237in &#xD;
1238&#xD;
1239self.packetPrimaryHeader->notEmpty() &#xD;
1240and &#xD;
1241self.packetPrimaryHeader.apidPid = rtStpsConfig.idleApid.apidPid and self.packetPrimaryHeader.apidPcat = rtStpsConfig.idleApid.apidPcat &#xD;
1242&#xD;
1243and&#xD;
1244&#xD;
1245self.packetDataField.oclIsTypeOf(IdlePacketDataField) &#xD;
1246&#xD;
1247and &#xD;
1248&#xD;
1249self.packetPrimaryHeader.versionNumber.intValue = 0 &#xD;
1250and self.packetPrimaryHeader.type.intValue = 0 &#xD;
1251and self.packetPrimaryHeader.shf.intValue = 0 &#xD;
1252and self.packetPrimaryHeader.sequenceFlags.intValue = 3 &#xD;
1253and self.packetPrimaryHeader.sequenceCount.intValue = 0 &#xD;
1254and self.packetDataField.oclAsType(IdlePacketDataField).idleDataArray.byte->at(1).intValue = 85&#xD;
1255and self.packetDataField.oclAsType(IdlePacketDataField).idleDataArray.byte->at(2).intValue = 85&#xD;
1256and self.packetDataField.oclAsType(IdlePacketDataField).idleDataArray.byte->at(3).intValue = 85&#xD;
1257and self.packetDataField.oclAsType(IdlePacketDataField).idleDataArray.byte->at(4).intValue = 85&#xD;
1258</body>
1259 </specification>
1260 </ownedRule>
1261 <ownedRule xmi:id="_RvolA1VUEeWRIqLs5_0Tzg" name="input_packetSequenceControlSourceSequenceCount" constrainedElement="_RvolTVVUEeWRIqLs5_0Tzg">
1262 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvolBFVUEeWRIqLs5_0Tzg">
1263 <language>OCL</language>
1264 <body>let &#xD;
1265 ispSequenceCount : Integer = self.packetPrimaryHeader.sequenceCount.intValue, &#xD;
1266 prevIsp : Isp = self.prevOnChannelOfSameApid, &#xD;
1267 prevSequenceCount : Integer = prevIsp.packetPrimaryHeader.sequenceCount.intValue, &#xD;
1268 config : Configuration = self.mpduActivePacketZone->first().vcdu.cadu.channelData.transmissionData.configuration, &#xD;
1269 apidCountWrapList : Set(ApidSuffixAndMaxCounter) = config.maxCounterPerApidSuffixConfig.apidSuffixAndMaxCounter, &#xD;
1270 maxSscCounterValue : Integer = apidCountWrapList->select(i : ApidSuffixAndMaxCounter | i.apidSuffix = prevIsp.packetPrimaryHeader.apidPcat)->asOrderedSet()->first().maxSscCounterValue &#xD;
1271in &#xD;
1272&#xD;
1273not self.prevOnChannelOfSameApid->isEmpty() &#xD;
1274and &#xD;
1275(self.packetPrimaryHeader.apidPid &lt;> config.rtStpsConfig.xsveRtStps.idleApid.apidPid or self.packetPrimaryHeader.apidPcat &lt;>config.rtStpsConfig.xsveRtStps.idleApid.apidPcat)&#xD;
1276&#xD;
1277implies &#xD;
1278&#xD;
1279if config.rtStpsConfig.xsveRtStps.missionName = 'S2A' &#xD;
1280 then &#xD;
1281 if prevSequenceCount &lt; maxSscCounterValue &#xD;
1282 then ispSequenceCount = prevSequenceCount + 1 &#xD;
1283 else prevSequenceCount = maxSscCounterValue and ispSequenceCount = 0 &#xD;
1284 endif &#xD;
1285else &#xD;
1286 if prevSequenceCount &lt; 16383 &#xD;
1287 then ispSequenceCount = prevSequenceCount + 1 &#xD;
1288 else prevSequenceCount = 16383 and ispSequenceCount = 0 &#xD;
1289 endif &#xD;
1290endif &#xD;
1291</body>
1292 </specification>
1293 </ownedRule>
1294 <ownedRule xmi:id="_RvolBVVUEeWRIqLs5_0Tzg" name="input_timeCodeCoarseTimeAndFineTime" constrainedElement="_RvokWlVUEeWRIqLs5_0Tzg">
1295 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvolBlVUEeWRIqLs5_0Tzg">
1296 <language>OCL</language>
1297 <body>let &#xD;
1298 prevIsp : Isp = self.prevOnChannelOfSameApid &#xD;
1299in &#xD;
1300&#xD;
1301prevIsp.packetDataField.oclIsTypeOf(ActivePacketDataField) = true and &#xD;
1302self.packetDataField.oclIsTypeOf(ActivePacketDataField) = true and &#xD;
1303prevIsp.packetDataField.oclAsType(ActivePacketDataField).packetSecondaryHeader.oclIsTypeOf(SarS1DataFieldHeader) = true and &#xD;
1304self.packetDataField.oclAsType(ActivePacketDataField).packetSecondaryHeader.oclIsTypeOf(SarS1DataFieldHeader) = true &#xD;
1305&#xD;
1306implies &#xD;
1307&#xD;
1308prevIsp.packetDataField.oclAsType(ActivePacketDataField).packetSecondaryHeader.oclAsType(SarS1DataFieldHeader).tcCoarseTime.intValue &lt; &#xD;
1309 self.packetDataField.oclAsType(ActivePacketDataField).packetSecondaryHeader.oclAsType(SarS1DataFieldHeader).tcCoarseTime.intValue &#xD;
1310or &#xD;
1311( &#xD;
1312 prevIsp.packetDataField.oclAsType(ActivePacketDataField).packetSecondaryHeader.oclAsType(SarS1DataFieldHeader).tcCoarseTime.intValue = &#xD;
1313 self.packetDataField.oclAsType(ActivePacketDataField).packetSecondaryHeader.oclAsType(SarS1DataFieldHeader).tcCoarseTime.intValue &#xD;
1314 and &#xD;
1315 prevIsp.packetDataField.oclAsType(ActivePacketDataField).packetSecondaryHeader.oclAsType(SarS1DataFieldHeader).tcFineTime.intValue &lt;= &#xD;
1316 self.packetDataField.oclAsType(ActivePacketDataField).packetSecondaryHeader.oclAsType(SarS1DataFieldHeader).tcFineTime.intValue &#xD;
1317) &#xD;
1318</body>
1319 </specification>
1320 </ownedRule>
1321 <ownedRule xmi:id="_RvolB1VUEeWRIqLs5_0Tzg" name="input_packetAssembly" constrainedElement="_RvolTVVUEeWRIqLs5_0Tzg">
1322 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvolCFVUEeWRIqLs5_0Tzg">
1323 <language>OCL</language>
1324 <body>if self.lastPacket = false then&#xD;
1325 self.isPacketComplete() = true&#xD;
1326else&#xD;
1327 true&#xD;
1328endif</body>
1329 </specification>
1330 </ownedRule>
1331 <ownedRule xmi:id="_RvolCVVUEeWRIqLs5_0Tzg" name="alloy_IsActivePacket" constrainedElement="_Rvok_VVUEeWRIqLs5_0Tzg">
1332 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvolClVUEeWRIqLs5_0Tzg">
1333 <language>OCL</language>
1334 <body>(self.mpduActivePacketZone.vcdu.cadu.channelData.transmissionData.configuration.rtStpsConfig.xsveRtStps.idleApid->exists(x : Apid | x.apidPid = self.packetPrimaryHeader.apidPid and x.apidPcat = self.packetPrimaryHeader.apidPcat) and self.packetDataField.oclIsTypeOf(IdlePacketDataField))&#xD;
1335or&#xD;
1336(self.mpduActivePacketZone.vcdu.cadu.channelData.transmissionData.configuration.rtStpsConfig.xsveRtStps.idleApid->exists(x : Apid | x.apidPid &lt;> self.packetPrimaryHeader.apidPid or x.apidPcat &lt;> self.packetPrimaryHeader.apidPcat) and self.packetDataField.oclIsTypeOf(ActivePacketDataField))&#xD;
1337</body>
1338 </specification>
1339 </ownedRule>
1340 <ownedAttribute xmi:id="_RvolC1VUEeWRIqLs5_0Tzg" name="packetPrimaryHeader" visibility="private" type="_RvokilVUEeWRIqLs5_0Tzg" aggregation="composite" association="_RvomH1VUEeWRIqLs5_0Tzg">
1341 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvolDVVUEeWRIqLs5_0Tzg"/>
1342 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvolDFVUEeWRIqLs5_0Tzg" value="1"/>
1343 </ownedAttribute>
1344 <ownedAttribute xmi:id="_RvolDlVUEeWRIqLs5_0Tzg" name="packetDataField" visibility="private" type="_Rvok21VUEeWRIqLs5_0Tzg" aggregation="composite" association="_RvomHlVUEeWRIqLs5_0Tzg">
1345 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvolEFVUEeWRIqLs5_0Tzg" value="1"/>
1346 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvolD1VUEeWRIqLs5_0Tzg" value="1"/>
1347 </ownedAttribute>
1348 <ownedAttribute xmi:id="_RvolEVVUEeWRIqLs5_0Tzg" name="mpduActivePacketZone" visibility="private" type="_Rvolh1VUEeWRIqLs5_0Tzg" isOrdered="true" association="_RvomIFVUEeWRIqLs5_0Tzg">
1349 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvolE1VUEeWRIqLs5_0Tzg" value="1"/>
1350 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvolElVUEeWRIqLs5_0Tzg" value="*"/>
1351 </ownedAttribute>
1352 <ownedAttribute xmi:id="_RvolFFVUEeWRIqLs5_0Tzg" name="prevOnChannel" visibility="private" type="_Rvok_VVUEeWRIqLs5_0Tzg" association="_RvomIVVUEeWRIqLs5_0Tzg">
1353 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvolFlVUEeWRIqLs5_0Tzg"/>
1354 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvolFVVUEeWRIqLs5_0Tzg" value="1"/>
1355 </ownedAttribute>
1356 <ownedAttribute xmi:id="_RvolF1VUEeWRIqLs5_0Tzg" name="prevOnChannelOfSameApid" visibility="private" type="_Rvok_VVUEeWRIqLs5_0Tzg" association="_RvomJVVUEeWRIqLs5_0Tzg">
1357 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvolGVVUEeWRIqLs5_0Tzg"/>
1358 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvolGFVUEeWRIqLs5_0Tzg" value="1"/>
1359 </ownedAttribute>
1360 <ownedAttribute xmi:id="_RvolGlVUEeWRIqLs5_0Tzg" name="completedLoading" visibility="private">
1361 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
1362 </ownedAttribute>
1363 <ownedAttribute xmi:id="_RvolG1VUEeWRIqLs5_0Tzg" name="firstSpanStartIndex" visibility="private">
1364 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
1365 </ownedAttribute>
1366 <ownedAttribute xmi:id="_RvolHFVUEeWRIqLs5_0Tzg" name="firstSpanLength" visibility="private">
1367 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
1368 </ownedAttribute>
1369 <ownedAttribute xmi:id="_RvolHVVUEeWRIqLs5_0Tzg" name="lastPacket" visibility="private">
1370 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
1371 </ownedAttribute>
1372 <ownedAttribute xmi:id="_RvolHlVUEeWRIqLs5_0Tzg" name="loadedFromStart" visibility="private">
1373 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
1374 </ownedAttribute>
1375 <ownedAttribute xmi:id="_RvolH1VUEeWRIqLs5_0Tzg" name="channelDataPerVcid" visibility="private" type="_RvomYVVUEeWRIqLs5_0Tzg" association="_RvomalVUEeWRIqLs5_0Tzg">
1376 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvolIVVUEeWRIqLs5_0Tzg" value="1"/>
1377 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvolIFVUEeWRIqLs5_0Tzg" value="1"/>
1378 </ownedAttribute>
1379 <ownedAttribute xmi:id="_RvolIlVUEeWRIqLs5_0Tzg" name="packetTime" visibility="private">
1380 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
1381 </ownedAttribute>
1382 <ownedOperation xmi:id="_RvolI1VUEeWRIqLs5_0Tzg" name="getPacketType" bodyCondition="_RvolJFVUEeWRIqLs5_0Tzg" isQuery="true">
1383 <ownedRule xmi:id="_RvolJFVUEeWRIqLs5_0Tzg" name="getPacketType" constrainedElement="_RvolI1VUEeWRIqLs5_0Tzg">
1384 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvolJVVUEeWRIqLs5_0Tzg">
1385 <language>OCL</language>
1386 <body>let transmissionData : TransmissionData = self.mpduActivePacketZone->first().vcdu.cadu.channelData.transmissionData, &#xD;
1387 rtStpsConfig : XsveRtStps = transmissionData.configuration.rtStpsConfig.xsveRtStps&#xD;
1388in &#xD;
1389&#xD;
1390if self.packetPrimaryHeader->notEmpty() and (self.completedLoading = true)&#xD;
1391 then&#xD;
1392 if (self.packetPrimaryHeader.apidPid = rtStpsConfig.idleApid.apidPid) and (self.packetPrimaryHeader.apidPcat = rtStpsConfig.idleApid.apidPcat)&#xD;
1393 then PacketType::IDLE&#xD;
1394 else PacketType::ACTIVE&#xD;
1395 endif&#xD;
1396else PacketType::UNDEFINED&#xD;
1397endif&#xD;
1398</body>
1399 </specification>
1400 </ownedRule>
1401 <ownedParameter xmi:id="_RvolJlVUEeWRIqLs5_0Tzg" name="Parameter1" type="_RvojlVVUEeWRIqLs5_0Tzg" direction="return"/>
1402 </ownedOperation>
1403 <ownedOperation xmi:id="_RvolJ1VUEeWRIqLs5_0Tzg" name="getSpanNumber" bodyCondition="_RvolKFVUEeWRIqLs5_0Tzg" isQuery="true">
1404 <ownedRule xmi:id="_RvolKFVUEeWRIqLs5_0Tzg" name="getSpanNumber" constrainedElement="_RvolJ1VUEeWRIqLs5_0Tzg">
1405 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvolKVVUEeWRIqLs5_0Tzg">
1406 <language>OCL</language>
1407 <body>self.mpduActivePacketZone->indexOf(packetZone)</body>
1408 </specification>
1409 </ownedRule>
1410 <ownedParameter xmi:id="_RvolKlVUEeWRIqLs5_0Tzg" name="Parameter1" direction="return">
1411 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
1412 </ownedParameter>
1413 <ownedParameter xmi:id="_RvolK1VUEeWRIqLs5_0Tzg" name="packetZone" type="_Rvolh1VUEeWRIqLs5_0Tzg"/>
1414 </ownedOperation>
1415 <ownedOperation xmi:id="_RvolLFVUEeWRIqLs5_0Tzg" name="hasPrimaryHeader" bodyCondition="_RvolLVVUEeWRIqLs5_0Tzg" isQuery="true">
1416 <ownedRule xmi:id="_RvolLVVUEeWRIqLs5_0Tzg" name="hasPrimaryHeader" constrainedElement="_RvolLFVUEeWRIqLs5_0Tzg">
1417 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvolLlVUEeWRIqLs5_0Tzg">
1418 <language>OCL</language>
1419 <body>self.loadedFromStart and ((self.firstSpanLength >= 6) or self.completedLoading)</body>
1420 </specification>
1421 </ownedRule>
1422 <ownedParameter xmi:id="_RvolL1VUEeWRIqLs5_0Tzg" name="Parameter1" direction="return">
1423 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
1424 </ownedParameter>
1425 </ownedOperation>
1426 <ownedOperation xmi:id="_RvolMFVUEeWRIqLs5_0Tzg" name="isPacketComplete" bodyCondition="_RvolMVVUEeWRIqLs5_0Tzg" isQuery="true">
1427 <ownedRule xmi:id="_RvolMVVUEeWRIqLs5_0Tzg" name="isPacketComplete" constrainedElement="_RvolMFVUEeWRIqLs5_0Tzg">
1428 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvolMlVUEeWRIqLs5_0Tzg">
1429 <language>OCL</language>
1430 <body>self.packetPrimaryHeader->size() > 0 and (self.packetDataField.oclIsTypeOf(IdlePacketDataField) or self.packetDataField.oclIsTypeOf(ActivePacketDataField))&#xD;
1431</body>
1432 </specification>
1433 </ownedRule>
1434 <ownedParameter xmi:id="_RvolM1VUEeWRIqLs5_0Tzg" name="Parameter1" direction="return">
1435 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
1436 </ownedParameter>
1437 </ownedOperation>
1438 <ownedOperation xmi:id="_RvolNFVUEeWRIqLs5_0Tzg" name="isTypeOfPacket" bodyCondition="_RvolNVVUEeWRIqLs5_0Tzg" isQuery="true">
1439 <ownedRule xmi:id="_RvolNVVUEeWRIqLs5_0Tzg" name="isTypeOfPacket" constrainedElement="_RvolNFVUEeWRIqLs5_0Tzg">
1440 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvolNlVUEeWRIqLs5_0Tzg">
1441 <language>OCL</language>
1442 <body>self.mpduActivePacketZone->first().vcdu.cadu.channelData.transmissionData.configuration.validApidsConfig.ispInfo->exists(x : IspInfo | &#xD;
1443 x.packetType = packetType and &#xD;
1444 x.missionName = self.mpduActivePacketZone->first().vcdu.cadu.channelData.transmissionData.configuration.rtStpsConfig.xsveRtStps.missionName and &#xD;
1445 x.apidValue->exists(y : Apid | y.apidPid = self.packetPrimaryHeader.apidPid and y.apidPcat = self.packetPrimaryHeader.apidPcat) &#xD;
1446)&#xD;
1447</body>
1448 </specification>
1449 </ownedRule>
1450 <ownedParameter xmi:id="_RvolN1VUEeWRIqLs5_0Tzg" name="Parameter1" direction="return">
1451 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
1452 </ownedParameter>
1453 <ownedParameter xmi:id="_RvolOFVUEeWRIqLs5_0Tzg" name="packetType" type="_RvojnFVUEeWRIqLs5_0Tzg"/>
1454 </ownedOperation>
1455 <ownedOperation xmi:id="_RvolOVVUEeWRIqLs5_0Tzg" name="getFirstSpanStartIndex" bodyCondition="_RvolOlVUEeWRIqLs5_0Tzg" isQuery="true">
1456 <ownedRule xmi:id="_RvolOlVUEeWRIqLs5_0Tzg" name="getFirstSpanStartIndex" constrainedElement="_RvolOVVUEeWRIqLs5_0Tzg">
1457 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvolO1VUEeWRIqLs5_0Tzg">
1458 <language>OCL</language>
1459 <body>self.firstSpanStartIndex</body>
1460 </specification>
1461 </ownedRule>
1462 <ownedParameter xmi:id="_RvolPFVUEeWRIqLs5_0Tzg" name="Parameter1" direction="return">
1463 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
1464 </ownedParameter>
1465 </ownedOperation>
1466 <ownedOperation xmi:id="_RvolPVVUEeWRIqLs5_0Tzg" name="getPacketLength" bodyCondition="_RvolPlVUEeWRIqLs5_0Tzg" isQuery="true">
1467 <ownedRule xmi:id="_RvolPlVUEeWRIqLs5_0Tzg" name="getPacketLength" constrainedElement="_RvolPVVUEeWRIqLs5_0Tzg">
1468 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvolP1VUEeWRIqLs5_0Tzg">
1469 <language>OCL</language>
1470 <body>if self.packetPrimaryHeader->size() > 0 then&#xD;
1471 self.packetPrimaryHeader.dataLength.intValue&#xD;
1472else -1&#xD;
1473endif&#xD;
1474</body>
1475 </specification>
1476 </ownedRule>
1477 <ownedParameter xmi:id="_RvolQFVUEeWRIqLs5_0Tzg" name="Parameter1" direction="return">
1478 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
1479 </ownedParameter>
1480 </ownedOperation>
1481 <ownedOperation xmi:id="_RvolQVVUEeWRIqLs5_0Tzg" name="getApidValue" bodyCondition="_RvolQlVUEeWRIqLs5_0Tzg" isQuery="true">
1482 <ownedRule xmi:id="_RvolQlVUEeWRIqLs5_0Tzg" name="getApidValue" constrainedElement="_RvolQVVUEeWRIqLs5_0Tzg">
1483 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvolQ1VUEeWRIqLs5_0Tzg">
1484 <language>OCL</language>
1485 <body>if self.packetPrimaryHeader->size() >0 then&#xD;
1486 self.packetPrimaryHeader.apidPid.value.intValue * 16 + self.packetPrimaryHeader.apidPcat.value.intValue&#xD;
1487else&#xD;
1488 -1&#xD;
1489endif&#xD;
1490</body>
1491 </specification>
1492 </ownedRule>
1493 <ownedParameter xmi:id="_RvolRFVUEeWRIqLs5_0Tzg" name="Parameter1" direction="return">
1494 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
1495 </ownedParameter>
1496 </ownedOperation>
1497 <ownedOperation xmi:id="_RvolRVVUEeWRIqLs5_0Tzg" name="getIdleApidValue" bodyCondition="_RvolRlVUEeWRIqLs5_0Tzg" isQuery="true">
1498 <ownedRule xmi:id="_RvolRlVUEeWRIqLs5_0Tzg" name="getIdleApidValue" constrainedElement="_RvolRVVUEeWRIqLs5_0Tzg">
1499 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvolR1VUEeWRIqLs5_0Tzg">
1500 <language>OCL</language>
1501 <body>self.mpduActivePacketZone->first().vcdu.cadu.channelData.transmissionData.configuration.rtStpsConfig.xsveRtStps.idleApid.apidPid.value.intValue*16 &#xD;
1502+ self.mpduActivePacketZone->first().vcdu.cadu.channelData.transmissionData.configuration.rtStpsConfig.xsveRtStps.idleApid.apidPcat.value.intValue</body>
1503 </specification>
1504 </ownedRule>
1505 <ownedParameter xmi:id="_RvolSFVUEeWRIqLs5_0Tzg" name="Parameter1" direction="return">
1506 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
1507 </ownedParameter>
1508 </ownedOperation>
1509 <ownedOperation xmi:id="_RvolSVVUEeWRIqLs5_0Tzg" name="getStartCaduIndex" bodyCondition="_RvolSlVUEeWRIqLs5_0Tzg" isQuery="true">
1510 <ownedRule xmi:id="_RvolSlVUEeWRIqLs5_0Tzg" name="getStartCaduIndex" constrainedElement="_RvolSVVUEeWRIqLs5_0Tzg">
1511 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvolS1VUEeWRIqLs5_0Tzg">
1512 <language>OCL</language>
1513 <body>self.mpduActivePacketZone->first().vcdu.cadu.index</body>
1514 </specification>
1515 </ownedRule>
1516 <ownedParameter xmi:id="_RvolTFVUEeWRIqLs5_0Tzg" name="Parameter1" direction="return">
1517 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
1518 </ownedParameter>
1519 </ownedOperation>
1520 </packagedElement>
1521 <packagedElement xmi:type="uml:Class" xmi:id="_RvolTVVUEeWRIqLs5_0Tzg" name="TransmissionData">
1522 <ownedComment xmi:id="_RvolTlVUEeWRIqLs5_0Tzg">
1523 <body>X-Band System Validation Equipment (XSVE) System Input File</body>
1524 </ownedComment>
1525 <ownedRule xmi:id="_RvolT1VUEeWRIqLs5_0Tzg" name="input_channelDataExists" constrainedElement="_RvolTVVUEeWRIqLs5_0Tzg">
1526 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvolUFVUEeWRIqLs5_0Tzg">
1527 <language>OCL</language>
1528 <body>self.channelData->size() > 0</body>
1529 </specification>
1530 </ownedRule>
1531 <ownedAttribute xmi:id="_RvolUVVUEeWRIqLs5_0Tzg" name="configuration" visibility="private" type="_RvojclVUEeWRIqLs5_0Tzg" association="_RvomTFVUEeWRIqLs5_0Tzg">
1532 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvolU1VUEeWRIqLs5_0Tzg" value="1"/>
1533 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvolUlVUEeWRIqLs5_0Tzg" value="1"/>
1534 </ownedAttribute>
1535 <ownedAttribute xmi:id="_RvolVFVUEeWRIqLs5_0Tzg" name="channelData" visibility="private" type="_RvomTVVUEeWRIqLs5_0Tzg" isOrdered="true" aggregation="composite" association="_RvomXVVUEeWRIqLs5_0Tzg">
1536 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvolVlVUEeWRIqLs5_0Tzg"/>
1537 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvolVVVUEeWRIqLs5_0Tzg" value="*"/>
1538 </ownedAttribute>
1539 </packagedElement>
1540 <packagedElement xmi:type="uml:Class" xmi:id="_RvolV1VUEeWRIqLs5_0Tzg" name="MpduIdlePacketZone">
1541 <generalization xmi:id="_RvolWFVUEeWRIqLs5_0Tzg" general="_Rvok4FVUEeWRIqLs5_0Tzg"/>
1542 <ownedAttribute xmi:id="_RvolWVVUEeWRIqLs5_0Tzg" name="value" visibility="private" type="_RvojhVVUEeWRIqLs5_0Tzg">
1543 <ownedComment xmi:id="_RvolWlVUEeWRIqLs5_0Tzg" annotatedElement="_RvolWVVUEeWRIqLs5_0Tzg">
1544 <body>&lt;p>1902&amp;nbsp;&amp;nbsp;bytes&lt;/p></body>
1545 </ownedComment>
1546 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvolXFVUEeWRIqLs5_0Tzg" value="1"/>
1547 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvolW1VUEeWRIqLs5_0Tzg" value="1"/>
1548 </ownedAttribute>
1549 </packagedElement>
1550 <packagedElement xmi:type="uml:Class" xmi:id="_RvolXVVUEeWRIqLs5_0Tzg" name="PacketData">
1551 <ownedAttribute xmi:id="_RvolXlVUEeWRIqLs5_0Tzg" name="dataArray" visibility="private" type="_RvojhVVUEeWRIqLs5_0Tzg">
1552 <ownedComment xmi:id="_RvolX1VUEeWRIqLs5_0Tzg" annotatedElement="_RvolXlVUEeWRIqLs5_0Tzg">
1553 <body>&lt;p>variable&amp;nbsp;length&amp;nbsp;byte&amp;nbsp;array&lt;/p></body>
1554 </ownedComment>
1555 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvolYVVUEeWRIqLs5_0Tzg" value="1"/>
1556 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvolYFVUEeWRIqLs5_0Tzg" value="1"/>
1557 </ownedAttribute>
1558 <ownedAttribute xmi:id="_RvolYlVUEeWRIqLs5_0Tzg" name="activePacketDataField" visibility="private" type="_RvomNFVUEeWRIqLs5_0Tzg" association="_RvomSlVUEeWRIqLs5_0Tzg">
1559 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvolZFVUEeWRIqLs5_0Tzg" value="1"/>
1560 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvolY1VUEeWRIqLs5_0Tzg" value="1"/>
1561 </ownedAttribute>
1562 </packagedElement>
1563 <packagedElement xmi:type="uml:Class" xmi:id="_RvolZVVUEeWRIqLs5_0Tzg" name="Cadu">
1564 <ownedComment xmi:id="_RvolZlVUEeWRIqLs5_0Tzg" annotatedElement="_RvolZVVUEeWRIqLs5_0Tzg">
1565 <body>&lt;p>Channel&amp;nbsp;Access&amp;nbsp;Data&amp;nbsp;Unit&lt;/p>&lt;p>2044&amp;nbsp;bytes&lt;/p></body>
1566 </ownedComment>
1567 <ownedRule xmi:id="_RvolZ1VUEeWRIqLs5_0Tzg" name="input_virtualChannelFrameCount" constrainedElement="_RvolZVVUEeWRIqLs5_0Tzg">
1568 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvolaFVUEeWRIqLs5_0Tzg">
1569 <language>OCL</language>
1570 <body>let &#xD;
1571 caduFrameCount : Integer = self.vcdu.vcduHeader.virtualChannelFrameCount.intValue, &#xD;
1572 prevCaduFrameCount : Integer = self.prevOnChannel.vcdu.vcduHeader.virtualChannelFrameCount.intValue &#xD;
1573in &#xD;
1574&#xD;
1575not self.prevOnChannel->isEmpty() &#xD;
1576&#xD;
1577implies &#xD;
1578&#xD;
1579if prevCaduFrameCount &lt; 16777215 &#xD;
1580 then caduFrameCount = prevCaduFrameCount + 1 &#xD;
1581else prevCaduFrameCount = 16777215 and caduFrameCount = 0 &#xD;
1582endif&#xD;
1583</body>
1584 </specification>
1585 </ownedRule>
1586 <ownedAttribute xmi:id="_RvolaVVUEeWRIqLs5_0Tzg" name="sync" visibility="private" type="_RvokTlVUEeWRIqLs5_0Tzg" aggregation="composite" association="_RvomHVVUEeWRIqLs5_0Tzg">
1587 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Rvola1VUEeWRIqLs5_0Tzg" value="1"/>
1588 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvolalVUEeWRIqLs5_0Tzg" value="1"/>
1589 </ownedAttribute>
1590 <ownedAttribute xmi:id="_RvolbFVUEeWRIqLs5_0Tzg" name="reedSolomonCoding" visibility="private" type="_RvokaVVUEeWRIqLs5_0Tzg" aggregation="composite" association="_RvomKVVUEeWRIqLs5_0Tzg">
1591 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvolblVUEeWRIqLs5_0Tzg" value="1"/>
1592 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvolbVVUEeWRIqLs5_0Tzg" value="1"/>
1593 </ownedAttribute>
1594 <ownedAttribute xmi:id="_Rvolb1VUEeWRIqLs5_0Tzg" name="vcdu" visibility="private" type="_RvokDVVUEeWRIqLs5_0Tzg" aggregation="composite" association="_RvomKlVUEeWRIqLs5_0Tzg">
1595 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvolcVVUEeWRIqLs5_0Tzg" value="1"/>
1596 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvolcFVUEeWRIqLs5_0Tzg" value="1"/>
1597 </ownedAttribute>
1598 <ownedAttribute xmi:id="_RvolclVUEeWRIqLs5_0Tzg" name="prev" visibility="private" type="_RvolZVVUEeWRIqLs5_0Tzg" association="_RvomK1VUEeWRIqLs5_0Tzg">
1599 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvoldFVUEeWRIqLs5_0Tzg"/>
1600 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Rvolc1VUEeWRIqLs5_0Tzg" value="1"/>
1601 </ownedAttribute>
1602 <ownedAttribute xmi:id="_RvoldVVUEeWRIqLs5_0Tzg" name="prevOnChannel" visibility="private" type="_RvolZVVUEeWRIqLs5_0Tzg" association="_RvomL1VUEeWRIqLs5_0Tzg">
1603 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Rvold1VUEeWRIqLs5_0Tzg"/>
1604 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvoldlVUEeWRIqLs5_0Tzg" value="1"/>
1605 </ownedAttribute>
1606 <ownedAttribute xmi:id="_RvoleFVUEeWRIqLs5_0Tzg" name="channelData" visibility="private" type="_RvomTVVUEeWRIqLs5_0Tzg" association="_RvomXFVUEeWRIqLs5_0Tzg">
1607 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvolelVUEeWRIqLs5_0Tzg" value="1"/>
1608 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvoleVVUEeWRIqLs5_0Tzg" value="1"/>
1609 </ownedAttribute>
1610 <ownedAttribute xmi:id="_Rvole1VUEeWRIqLs5_0Tzg" name="extendedCaduInfo" visibility="private" type="_Rvoma1VUEeWRIqLs5_0Tzg" aggregation="composite" association="_RvomcFVUEeWRIqLs5_0Tzg">
1611 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvolfVVUEeWRIqLs5_0Tzg"/>
1612 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvolfFVUEeWRIqLs5_0Tzg" value="1"/>
1613 </ownedAttribute>
1614 <ownedAttribute xmi:id="_RvolflVUEeWRIqLs5_0Tzg" name="index" visibility="private">
1615 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
1616 </ownedAttribute>
1617 <ownedOperation xmi:id="_Rvolf1VUEeWRIqLs5_0Tzg" name="hasExtendedCadu" bodyCondition="_RvolgFVUEeWRIqLs5_0Tzg" isQuery="true">
1618 <ownedRule xmi:id="_RvolgFVUEeWRIqLs5_0Tzg" name="hasExtendedCadu" constrainedElement="_Rvolf1VUEeWRIqLs5_0Tzg">
1619 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvolgVVUEeWRIqLs5_0Tzg">
1620 <language>OCL</language>
1621 <body>self.channelData.hasExtendedCadu&#xD;
1622</body>
1623 </specification>
1624 </ownedRule>
1625 <ownedParameter xmi:id="_RvolglVUEeWRIqLs5_0Tzg" name="Parameter1" direction="return">
1626 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
1627 </ownedParameter>
1628 </ownedOperation>
1629 <ownedOperation xmi:id="_Rvolg1VUEeWRIqLs5_0Tzg" name="getCaduIndex" bodyCondition="_RvolhFVUEeWRIqLs5_0Tzg" isQuery="true">
1630 <ownedRule xmi:id="_RvolhFVUEeWRIqLs5_0Tzg" name="getCaduIndex" constrainedElement="_Rvolg1VUEeWRIqLs5_0Tzg">
1631 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvolhVVUEeWRIqLs5_0Tzg">
1632 <language>OCL</language>
1633 <body>self.index</body>
1634 </specification>
1635 </ownedRule>
1636 <ownedParameter xmi:id="_RvolhlVUEeWRIqLs5_0Tzg" name="Parameter1" direction="return">
1637 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
1638 </ownedParameter>
1639 </ownedOperation>
1640 </packagedElement>
1641 <packagedElement xmi:type="uml:Class" xmi:id="_Rvolh1VUEeWRIqLs5_0Tzg" name="MpduActivePacketZone">
1642 <ownedRule xmi:id="_RvoliFVUEeWRIqLs5_0Tzg" name="alloy_checkVcidAndApid" constrainedElement="_Rvolh1VUEeWRIqLs5_0Tzg">
1643 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvoliVVUEeWRIqLs5_0Tzg">
1644 <language>OCL</language>
1645 <body>self.isp->forAll(x : Isp | &#xD;
1646 self.vcdu.cadu.channelData.transmissionData.configuration.rtStpsConfig.xsveRtStps.vcdusConfig.vcduConfig->select(y | &#xD;
1647 y.vcid = self.vcdu.vcduHeader.virtualChannelId).ispsConfig.ispConfig.apid->exists(z | &#xD;
1648 z.apidPid = x.packetPrimaryHeader.apidPid and z.apidPcat = x.packetPrimaryHeader.apidPcat)&#xD;
1649 or &#xD;
1650 (x.packetPrimaryHeader.apidPid = self.vcdu.cadu.channelData.transmissionData.configuration.rtStpsConfig.xsveRtStps.idleApid.apidPid and &#xD;
1651 x.packetPrimaryHeader.apidPcat = self.vcdu.cadu.channelData.transmissionData.configuration.rtStpsConfig.xsveRtStps.idleApid.apidPcat)&#xD;
1652)&#xD;
1653</body>
1654 </specification>
1655 </ownedRule>
1656 <generalization xmi:id="_RvolilVUEeWRIqLs5_0Tzg" general="_Rvok4FVUEeWRIqLs5_0Tzg"/>
1657 <ownedAttribute xmi:id="_Rvoli1VUEeWRIqLs5_0Tzg" name="isp" visibility="private" type="_Rvok_VVUEeWRIqLs5_0Tzg" isOrdered="true" association="_RvomIFVUEeWRIqLs5_0Tzg">
1658 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvoljVVUEeWRIqLs5_0Tzg" value="1"/>
1659 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvoljFVUEeWRIqLs5_0Tzg" value="*"/>
1660 </ownedAttribute>
1661 <ownedAttribute xmi:id="_RvoljlVUEeWRIqLs5_0Tzg" name="value" visibility="private" type="_RvojhVVUEeWRIqLs5_0Tzg"/>
1662 <ownedOperation xmi:id="_Rvolj1VUEeWRIqLs5_0Tzg" name="getStartingIsps" bodyCondition="_RvolkFVUEeWRIqLs5_0Tzg" isQuery="true">
1663 <ownedRule xmi:id="_RvolkFVUEeWRIqLs5_0Tzg" name="getStartingIsps" constrainedElement="_Rvolj1VUEeWRIqLs5_0Tzg">
1664 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvolkVVUEeWRIqLs5_0Tzg">
1665 <language>OCL</language>
1666 <body>self.isp->select(i : Isp | i.mpduActivePacketZone->at(1) = self)</body>
1667 </specification>
1668 </ownedRule>
1669 <ownedParameter xmi:id="_RvolklVUEeWRIqLs5_0Tzg" name="Parameter1" type="_Rvok_VVUEeWRIqLs5_0Tzg" isOrdered="true" direction="return">
1670 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvollFVUEeWRIqLs5_0Tzg"/>
1671 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Rvolk1VUEeWRIqLs5_0Tzg" value="*"/>
1672 </ownedParameter>
1673 </ownedOperation>
1674 <ownedOperation xmi:id="_RvollVVUEeWRIqLs5_0Tzg" name="getAssociatedIsps" bodyCondition="_RvolllVUEeWRIqLs5_0Tzg" isQuery="true">
1675 <ownedRule xmi:id="_RvolllVUEeWRIqLs5_0Tzg" name="getAssociatedIsps" constrainedElement="_RvollVVUEeWRIqLs5_0Tzg">
1676 <specification xmi:type="uml:OpaqueExpression" xmi:id="_Rvoll1VUEeWRIqLs5_0Tzg">
1677 <language>OCL</language>
1678 <body>self.isp</body>
1679 </specification>
1680 </ownedRule>
1681 <ownedParameter xmi:id="_RvolmFVUEeWRIqLs5_0Tzg" name="Parameter1" type="_Rvok_VVUEeWRIqLs5_0Tzg" isOrdered="true" direction="return">
1682 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvolmlVUEeWRIqLs5_0Tzg"/>
1683 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvolmVVUEeWRIqLs5_0Tzg" value="*"/>
1684 </ownedParameter>
1685 </ownedOperation>
1686 </packagedElement>
1687 <packagedElement xmi:type="uml:Class" xmi:id="_Rvolm1VUEeWRIqLs5_0Tzg" name="MpduHeader" isAbstract="true">
1688 <ownedAttribute xmi:id="_RvolnFVUEeWRIqLs5_0Tzg" name="vcdu" visibility="private" type="_RvokDVVUEeWRIqLs5_0Tzg" association="_RvomM1VUEeWRIqLs5_0Tzg">
1689 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvolnlVUEeWRIqLs5_0Tzg" value="1"/>
1690 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvolnVVUEeWRIqLs5_0Tzg" value="1"/>
1691 </ownedAttribute>
1692 </packagedElement>
1693 <packagedElement xmi:type="uml:Class" xmi:id="_Rvoln1VUEeWRIqLs5_0Tzg" name="MsiS2DataFieldHeader">
1694 <generalization xmi:id="_RvoloFVUEeWRIqLs5_0Tzg" general="_Rvokf1VUEeWRIqLs5_0Tzg"/>
1695 <ownedAttribute xmi:id="_RvoloVVUEeWRIqLs5_0Tzg" name="startTimeCoarse" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1696 <ownedAttribute xmi:id="_RvololVUEeWRIqLs5_0Tzg" name="startTimeFine" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1697 <ownedAttribute xmi:id="_Rvolo1VUEeWRIqLs5_0Tzg" name="timeCorrectionValue" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1698 <ownedAttribute xmi:id="_RvolpFVUEeWRIqLs5_0Tzg" name="syncStatusValidity" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1699 <ownedAttribute xmi:id="_RvolpVVUEeWRIqLs5_0Tzg" name="syncStatusFlag" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1700 <ownedAttribute xmi:id="_RvolplVUEeWRIqLs5_0Tzg" name="systemOperationMode" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1701 <ownedAttribute xmi:id="_Rvolp1VUEeWRIqLs5_0Tzg" name="compressionStatus" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1702 </packagedElement>
1703 <packagedElement xmi:type="uml:Class" xmi:id="_RvolqFVUEeWRIqLs5_0Tzg" name="TmGpsrS2DataFieldHeader">
1704 <generalization xmi:id="_RvolqVVUEeWRIqLs5_0Tzg" general="_Rvokf1VUEeWRIqLs5_0Tzg"/>
1705 <ownedAttribute xmi:id="_RvolqlVUEeWRIqLs5_0Tzg" name="fillerA" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1706 <ownedAttribute xmi:id="_Rvolq1VUEeWRIqLs5_0Tzg" name="version" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1707 <ownedAttribute xmi:id="_RvolrFVUEeWRIqLs5_0Tzg" name="fillerB" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1708 <ownedAttribute xmi:id="_RvolrVVUEeWRIqLs5_0Tzg" name="type" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1709 <ownedAttribute xmi:id="_RvolrlVUEeWRIqLs5_0Tzg" name="subtype" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1710 <ownedAttribute xmi:id="_Rvolr1VUEeWRIqLs5_0Tzg" name="destinationId" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1711 <ownedAttribute xmi:id="_RvolsFVUEeWRIqLs5_0Tzg" name="tfSeconds" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1712 <ownedAttribute xmi:id="_RvolsVVUEeWRIqLs5_0Tzg" name="tfSubSeconds" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1713 <ownedAttribute xmi:id="_RvolslVUEeWRIqLs5_0Tzg" name="tfUndefinedA" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1714 </packagedElement>
1715 <packagedElement xmi:type="uml:Class" xmi:id="_Rvols1VUEeWRIqLs5_0Tzg" name="TmStrS2DataFieldHeader">
1716 <generalization xmi:id="_RvoltFVUEeWRIqLs5_0Tzg" general="_Rvokf1VUEeWRIqLs5_0Tzg"/>
1717 <ownedAttribute xmi:id="_RvoltVVUEeWRIqLs5_0Tzg" name="fillerA" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1718 <ownedAttribute xmi:id="_RvoltlVUEeWRIqLs5_0Tzg" name="version" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1719 <ownedAttribute xmi:id="_Rvolt1VUEeWRIqLs5_0Tzg" name="fillerB" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1720 <ownedAttribute xmi:id="_RvoluFVUEeWRIqLs5_0Tzg" name="type" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1721 <ownedAttribute xmi:id="_RvoluVVUEeWRIqLs5_0Tzg" name="subtype" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1722 <ownedAttribute xmi:id="_RvolulVUEeWRIqLs5_0Tzg" name="destinationId" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1723 <ownedAttribute xmi:id="_Rvolu1VUEeWRIqLs5_0Tzg" name="tfSeconds" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1724 <ownedAttribute xmi:id="_RvolvFVUEeWRIqLs5_0Tzg" name="tfSubSeconds" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1725 <ownedAttribute xmi:id="_RvolvVVUEeWRIqLs5_0Tzg" name="syncA" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1726 <ownedAttribute xmi:id="_RvolvlVUEeWRIqLs5_0Tzg" name="syncB" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1727 </packagedElement>
1728 <packagedElement xmi:type="uml:Class" xmi:id="_Rvolv1VUEeWRIqLs5_0Tzg" name="TmCswS2DataFieldHeader">
1729 <generalization xmi:id="_RvolwFVUEeWRIqLs5_0Tzg" general="_Rvokf1VUEeWRIqLs5_0Tzg"/>
1730 <ownedAttribute xmi:id="_RvolwVVUEeWRIqLs5_0Tzg" name="fillerA" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1731 <ownedAttribute xmi:id="_RvolwlVUEeWRIqLs5_0Tzg" name="version" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1732 <ownedAttribute xmi:id="_Rvolw1VUEeWRIqLs5_0Tzg" name="fillerB" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1733 <ownedAttribute xmi:id="_RvolxFVUEeWRIqLs5_0Tzg" name="type" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1734 <ownedAttribute xmi:id="_RvolxVVUEeWRIqLs5_0Tzg" name="subtype" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1735 <ownedAttribute xmi:id="_RvolxlVUEeWRIqLs5_0Tzg" name="destinationId" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1736 <ownedAttribute xmi:id="_Rvolx1VUEeWRIqLs5_0Tzg" name="tfSeconds" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1737 <ownedAttribute xmi:id="_RvolyFVUEeWRIqLs5_0Tzg" name="tfSubSeconds" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1738 <ownedAttribute xmi:id="_RvolyVVUEeWRIqLs5_0Tzg" name="syncA" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1739 <ownedAttribute xmi:id="_RvolylVUEeWRIqLs5_0Tzg" name="syncB" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1740 </packagedElement>
1741 <packagedElement xmi:type="uml:Class" xmi:id="_Rvoly1VUEeWRIqLs5_0Tzg" name="OlciS3DataFieldHeader">
1742 <generalization xmi:id="_RvolzFVUEeWRIqLs5_0Tzg" general="_Rvokf1VUEeWRIqLs5_0Tzg"/>
1743 <ownedAttribute xmi:id="_RvolzVVUEeWRIqLs5_0Tzg" name="fillerA" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1744 <ownedAttribute xmi:id="_RvolzlVUEeWRIqLs5_0Tzg" name="version" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1745 <ownedAttribute xmi:id="_Rvolz1VUEeWRIqLs5_0Tzg" name="fillerB" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1746 <ownedAttribute xmi:id="_Rvol0FVUEeWRIqLs5_0Tzg" name="type" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1747 <ownedAttribute xmi:id="_Rvol0VVUEeWRIqLs5_0Tzg" name="subtype" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1748 <ownedAttribute xmi:id="_Rvol0lVUEeWRIqLs5_0Tzg" name="destinationId" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1749 <ownedAttribute xmi:id="_Rvol01VUEeWRIqLs5_0Tzg" name="tfScienceTimeMsp" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1750 <ownedAttribute xmi:id="_Rvol1FVUEeWRIqLs5_0Tzg" name="tfScienceTimeLsp" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1751 <ownedAttribute xmi:id="_Rvol1VVUEeWRIqLs5_0Tzg" name="tfStat" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1752 </packagedElement>
1753 <packagedElement xmi:type="uml:Class" xmi:id="_Rvol1lVUEeWRIqLs5_0Tzg" name="SlstrS3DataFieldHeader">
1754 <generalization xmi:id="_Rvol11VUEeWRIqLs5_0Tzg" general="_Rvokf1VUEeWRIqLs5_0Tzg"/>
1755 <ownedAttribute xmi:id="_Rvol2FVUEeWRIqLs5_0Tzg" name="fillerA" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1756 <ownedAttribute xmi:id="_Rvol2VVUEeWRIqLs5_0Tzg" name="version" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1757 <ownedAttribute xmi:id="_Rvol2lVUEeWRIqLs5_0Tzg" name="fillerB" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1758 <ownedAttribute xmi:id="_Rvol21VUEeWRIqLs5_0Tzg" name="type" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1759 <ownedAttribute xmi:id="_Rvol3FVUEeWRIqLs5_0Tzg" name="subtype" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1760 <ownedAttribute xmi:id="_Rvol3VVUEeWRIqLs5_0Tzg" name="destinationId" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1761 <ownedAttribute xmi:id="_Rvol3lVUEeWRIqLs5_0Tzg" name="tfTime" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1762 <ownedAttribute xmi:id="_Rvol31VUEeWRIqLs5_0Tzg" name="tfStat" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1763 </packagedElement>
1764 <packagedElement xmi:type="uml:Class" xmi:id="_Rvol4FVUEeWRIqLs5_0Tzg" name="DorisS3DateFieldHeader">
1765 <generalization xmi:id="_Rvol4VVUEeWRIqLs5_0Tzg" general="_Rvokf1VUEeWRIqLs5_0Tzg"/>
1766 <ownedAttribute xmi:id="_Rvol4lVUEeWRIqLs5_0Tzg" name="fillerA" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1767 <ownedAttribute xmi:id="_Rvol41VUEeWRIqLs5_0Tzg" name="version" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1768 <ownedAttribute xmi:id="_Rvol5FVUEeWRIqLs5_0Tzg" name="fillerB" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1769 <ownedAttribute xmi:id="_Rvol5VVUEeWRIqLs5_0Tzg" name="type" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1770 <ownedAttribute xmi:id="_Rvol5lVUEeWRIqLs5_0Tzg" name="subtype" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1771 <ownedAttribute xmi:id="_Rvol51VUEeWRIqLs5_0Tzg" name="destinationId" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1772 <ownedAttribute xmi:id="_Rvol6FVUEeWRIqLs5_0Tzg" name="tfTime" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1773 <ownedAttribute xmi:id="_Rvol6VVUEeWRIqLs5_0Tzg" name="spare" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1774 </packagedElement>
1775 <packagedElement xmi:type="uml:Class" xmi:id="_Rvol6lVUEeWRIqLs5_0Tzg" name="TmNavattS3DataFieldHeader">
1776 <generalization xmi:id="_Rvol61VUEeWRIqLs5_0Tzg" general="_Rvokf1VUEeWRIqLs5_0Tzg"/>
1777 <ownedAttribute xmi:id="_Rvol7FVUEeWRIqLs5_0Tzg" name="fillerA" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1778 <ownedAttribute xmi:id="_Rvol7VVUEeWRIqLs5_0Tzg" name="version" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1779 <ownedAttribute xmi:id="_Rvol7lVUEeWRIqLs5_0Tzg" name="fillerB" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1780 <ownedAttribute xmi:id="_Rvol71VUEeWRIqLs5_0Tzg" name="type" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1781 <ownedAttribute xmi:id="_Rvol8FVUEeWRIqLs5_0Tzg" name="subtype" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1782 <ownedAttribute xmi:id="_Rvol8VVUEeWRIqLs5_0Tzg" name="destinationId" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1783 <ownedAttribute xmi:id="_Rvol8lVUEeWRIqLs5_0Tzg" name="tfCoarse" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1784 <ownedAttribute xmi:id="_Rvol81VUEeWRIqLs5_0Tzg" name="tfFine" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1785 <ownedAttribute xmi:id="_Rvol9FVUEeWRIqLs5_0Tzg" name="tfStat" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1786 </packagedElement>
1787 <packagedElement xmi:type="uml:Class" xmi:id="_Rvol9VVUEeWRIqLs5_0Tzg" name="MwrS3DataFieldHeader">
1788 <generalization xmi:id="_Rvol9lVUEeWRIqLs5_0Tzg" general="_Rvokf1VUEeWRIqLs5_0Tzg"/>
1789 <ownedAttribute xmi:id="_Rvol91VUEeWRIqLs5_0Tzg" name="fillerA" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1790 <ownedAttribute xmi:id="_Rvol-FVUEeWRIqLs5_0Tzg" name="version" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1791 <ownedAttribute xmi:id="_Rvol-VVUEeWRIqLs5_0Tzg" name="fillerB" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1792 <ownedAttribute xmi:id="_Rvol-lVUEeWRIqLs5_0Tzg" name="type" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1793 <ownedAttribute xmi:id="_Rvol-1VUEeWRIqLs5_0Tzg" name="subtype" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1794 <ownedAttribute xmi:id="_Rvol_FVUEeWRIqLs5_0Tzg" name="destinationId" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1795 <ownedAttribute xmi:id="_Rvol_VVUEeWRIqLs5_0Tzg" name="tfOverSecond" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1796 <ownedAttribute xmi:id="_Rvol_lVUEeWRIqLs5_0Tzg" name="tfSubSecond" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1797 <ownedAttribute xmi:id="_Rvol_1VUEeWRIqLs5_0Tzg" name="tfStat" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1798 </packagedElement>
1799 <packagedElement xmi:type="uml:Class" xmi:id="_RvomAFVUEeWRIqLs5_0Tzg" name="SralS3DataFieldHeader">
1800 <generalization xmi:id="_RvomAVVUEeWRIqLs5_0Tzg" general="_Rvokf1VUEeWRIqLs5_0Tzg"/>
1801 <ownedAttribute xmi:id="_RvomAlVUEeWRIqLs5_0Tzg" name="fillerA" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1802 <ownedAttribute xmi:id="_RvomA1VUEeWRIqLs5_0Tzg" name="version" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1803 <ownedAttribute xmi:id="_RvomBFVUEeWRIqLs5_0Tzg" name="fillerB" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1804 <ownedAttribute xmi:id="_RvomBVVUEeWRIqLs5_0Tzg" name="type" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1805 <ownedAttribute xmi:id="_RvomBlVUEeWRIqLs5_0Tzg" name="subtype" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1806 <ownedAttribute xmi:id="_RvomB1VUEeWRIqLs5_0Tzg" name="destinationId" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1807 <ownedAttribute xmi:id="_RvomCFVUEeWRIqLs5_0Tzg" name="tfCoarse" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1808 <ownedAttribute xmi:id="_RvomCVVUEeWRIqLs5_0Tzg" name="tfFine" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1809 <ownedAttribute xmi:id="_RvomClVUEeWRIqLs5_0Tzg" name="tfStat" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1810 </packagedElement>
1811 <packagedElement xmi:type="uml:Class" xmi:id="_RvomC1VUEeWRIqLs5_0Tzg" name="TmGpsrS3DataFieldHeader">
1812 <generalization xmi:id="_RvomDFVUEeWRIqLs5_0Tzg" general="_Rvokf1VUEeWRIqLs5_0Tzg"/>
1813 <ownedAttribute xmi:id="_RvomDVVUEeWRIqLs5_0Tzg" name="fillerA" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1814 <ownedAttribute xmi:id="_RvomDlVUEeWRIqLs5_0Tzg" name="version" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1815 <ownedAttribute xmi:id="_RvomD1VUEeWRIqLs5_0Tzg" name="fillerB" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1816 <ownedAttribute xmi:id="_RvomEFVUEeWRIqLs5_0Tzg" name="type" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1817 <ownedAttribute xmi:id="_RvomEVVUEeWRIqLs5_0Tzg" name="subtype" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1818 <ownedAttribute xmi:id="_RvomElVUEeWRIqLs5_0Tzg" name="destinationId" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1819 <ownedAttribute xmi:id="_RvomE1VUEeWRIqLs5_0Tzg" name="tfSeconds" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1820 <ownedAttribute xmi:id="_RvomFFVUEeWRIqLs5_0Tzg" name="tfSubSeconds" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1821 <ownedAttribute xmi:id="_RvomFVVUEeWRIqLs5_0Tzg" name="tfBlank" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
1822 </packagedElement>
1823 <packagedElement xmi:type="uml:Class" xmi:id="_RvomFlVUEeWRIqLs5_0Tzg" name="IdlePacketDataField">
1824 <generalization xmi:id="_RvomF1VUEeWRIqLs5_0Tzg" general="_Rvok21VUEeWRIqLs5_0Tzg"/>
1825 <ownedAttribute xmi:id="_RvomGFVUEeWRIqLs5_0Tzg" name="idleDataArray" visibility="private" type="_RvojhVVUEeWRIqLs5_0Tzg">
1826 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvomGlVUEeWRIqLs5_0Tzg" value="1"/>
1827 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvomGVVUEeWRIqLs5_0Tzg" value="1"/>
1828 </ownedAttribute>
1829 </packagedElement>
1830 <packagedElement xmi:type="uml:Association" xmi:id="_RvomG1VUEeWRIqLs5_0Tzg" memberEnd="_Rvoj9VVUEeWRIqLs5_0Tzg _RvokFlVUEeWRIqLs5_0Tzg"/>
1831 <packagedElement xmi:type="uml:Association" xmi:id="_RvomHFVUEeWRIqLs5_0Tzg" memberEnd="_Rvok4lVUEeWRIqLs5_0Tzg _RvokE1VUEeWRIqLs5_0Tzg"/>
1832 <packagedElement xmi:type="uml:Association" xmi:id="_RvomHVVUEeWRIqLs5_0Tzg" memberEnd="_RvokV1VUEeWRIqLs5_0Tzg _RvolaVVUEeWRIqLs5_0Tzg"/>
1833 <packagedElement xmi:type="uml:Association" xmi:id="_RvomHlVUEeWRIqLs5_0Tzg" memberEnd="_Rvok3VVUEeWRIqLs5_0Tzg _RvolDlVUEeWRIqLs5_0Tzg"/>
1834 <packagedElement xmi:type="uml:Association" xmi:id="_RvomH1VUEeWRIqLs5_0Tzg" memberEnd="_RvokuVVUEeWRIqLs5_0Tzg _RvolC1VUEeWRIqLs5_0Tzg"/>
1835 <packagedElement xmi:type="uml:Association" xmi:id="_RvomIFVUEeWRIqLs5_0Tzg" memberEnd="_RvolEVVUEeWRIqLs5_0Tzg _Rvoli1VUEeWRIqLs5_0Tzg"/>
1836 <packagedElement xmi:type="uml:Association" xmi:id="_RvomIVVUEeWRIqLs5_0Tzg" memberEnd="_RvolFFVUEeWRIqLs5_0Tzg _RvomIlVUEeWRIqLs5_0Tzg">
1837 <ownedEnd xmi:id="_RvomIlVUEeWRIqLs5_0Tzg" name="" visibility="private" type="_Rvok_VVUEeWRIqLs5_0Tzg" association="_RvomIVVUEeWRIqLs5_0Tzg">
1838 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvomJFVUEeWRIqLs5_0Tzg" value="1"/>
1839 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvomI1VUEeWRIqLs5_0Tzg" value="1"/>
1840 </ownedEnd>
1841 </packagedElement>
1842 <packagedElement xmi:type="uml:Association" xmi:id="_RvomJVVUEeWRIqLs5_0Tzg" memberEnd="_RvolF1VUEeWRIqLs5_0Tzg _RvomJlVUEeWRIqLs5_0Tzg">
1843 <ownedEnd xmi:id="_RvomJlVUEeWRIqLs5_0Tzg" name="" visibility="private" type="_Rvok_VVUEeWRIqLs5_0Tzg" association="_RvomJVVUEeWRIqLs5_0Tzg">
1844 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvomKFVUEeWRIqLs5_0Tzg" value="1"/>
1845 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvomJ1VUEeWRIqLs5_0Tzg" value="1"/>
1846 </ownedEnd>
1847 </packagedElement>
1848 <packagedElement xmi:type="uml:Association" xmi:id="_RvomKVVUEeWRIqLs5_0Tzg" memberEnd="_RvokdFVUEeWRIqLs5_0Tzg _RvolbFVUEeWRIqLs5_0Tzg"/>
1849 <packagedElement xmi:type="uml:Association" xmi:id="_RvomKlVUEeWRIqLs5_0Tzg" memberEnd="_RvokGVVUEeWRIqLs5_0Tzg _Rvolb1VUEeWRIqLs5_0Tzg"/>
1850 <packagedElement xmi:type="uml:Association" xmi:id="_RvomK1VUEeWRIqLs5_0Tzg" memberEnd="_RvolclVUEeWRIqLs5_0Tzg _RvomLFVUEeWRIqLs5_0Tzg">
1851 <ownedEnd xmi:id="_RvomLFVUEeWRIqLs5_0Tzg" name="" visibility="private" type="_RvolZVVUEeWRIqLs5_0Tzg" association="_RvomK1VUEeWRIqLs5_0Tzg">
1852 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvomLlVUEeWRIqLs5_0Tzg" value="1"/>
1853 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvomLVVUEeWRIqLs5_0Tzg" value="1"/>
1854 </ownedEnd>
1855 </packagedElement>
1856 <packagedElement xmi:type="uml:Association" xmi:id="_RvomL1VUEeWRIqLs5_0Tzg" memberEnd="_RvoldVVUEeWRIqLs5_0Tzg _RvomMFVUEeWRIqLs5_0Tzg">
1857 <ownedEnd xmi:id="_RvomMFVUEeWRIqLs5_0Tzg" name="" visibility="private" type="_RvolZVVUEeWRIqLs5_0Tzg" association="_RvomL1VUEeWRIqLs5_0Tzg">
1858 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvomMlVUEeWRIqLs5_0Tzg" value="1"/>
1859 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvomMVVUEeWRIqLs5_0Tzg" value="1"/>
1860 </ownedEnd>
1861 </packagedElement>
1862 <packagedElement xmi:type="uml:Association" xmi:id="_RvomM1VUEeWRIqLs5_0Tzg" memberEnd="_RvolnFVUEeWRIqLs5_0Tzg _RvokHFVUEeWRIqLs5_0Tzg"/>
1863 <packagedElement xmi:type="uml:Class" xmi:id="_RvomNFVUEeWRIqLs5_0Tzg" name="ActivePacketDataField">
1864 <ownedRule xmi:id="_RvomNVVUEeWRIqLs5_0Tzg" name="alloy_isSecondaryHeaderConsistent" constrainedElement="_RvomNFVUEeWRIqLs5_0Tzg">
1865 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvomNlVUEeWRIqLs5_0Tzg">
1866 <language>OCL</language>
1867 <body>self.isp.mpduActivePacketZone.vcdu.cadu.channelData.transmissionData.configuration.rtStpsConfig.xsveRtStps->exists(x: XsveRtStps | x.missionName = MissionName::Sentinel1)&#xD;
1868 and (self.packetSecondaryHeader.oclIsTypeOf(SarS1DataFieldHeader) or self.packetSecondaryHeader.oclIsTypeOf(TmGpsrS1DataFieldHeader))&#xD;
1869or&#xD;
1870self.isp.mpduActivePacketZone.vcdu.cadu.channelData.transmissionData.configuration.rtStpsConfig.xsveRtStps->exists(x: XsveRtStps | x.missionName = MissionName::Sentinel2)&#xD;
1871 and (self.packetSecondaryHeader.oclIsTypeOf(MsiS2DataFieldHeader) or self.packetSecondaryHeader.oclIsTypeOf(TmGpsrS2DataFieldHeader) or self.packetSecondaryHeader.oclIsTypeOf(TmStrS2DataFieldHeader) or self.packetSecondaryHeader.oclIsTypeOf(TmCswS2DataFieldHeader))&#xD;
1872or&#xD;
1873self.isp.mpduActivePacketZone.vcdu.cadu.channelData.transmissionData.configuration.rtStpsConfig.xsveRtStps->exists(x: XsveRtStps | x.missionName = MissionName::Sentinel3)&#xD;
1874 and (self.packetSecondaryHeader.oclIsTypeOf(OlciS3DataFieldHeader) or self.packetSecondaryHeader.oclIsTypeOf(DorisS3DateFieldHeader) or self.packetSecondaryHeader.oclIsTypeOf(MwrS3DataFieldHeader) or self.packetSecondaryHeader.oclIsTypeOf(TmGpsrS3DataFieldHeader) or&#xD;
1875 self.packetSecondaryHeader.oclIsTypeOf(SlstrS3DataFieldHeader) or self.packetSecondaryHeader.oclIsTypeOf(TmNavattS3DataFieldHeader) or self.packetSecondaryHeader.oclIsTypeOf(SralS3DataFieldHeader) )&#xD;
1876</body>
1877 </specification>
1878 </ownedRule>
1879 <ownedRule xmi:id="_RvomN1VUEeWRIqLs5_0Tzg" name="alloy_isSecondaryHeaderConsistent2" constrainedElement="_RvomNFVUEeWRIqLs5_0Tzg">
1880 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvomOFVUEeWRIqLs5_0Tzg">
1881 <language>OCL</language>
1882 <body>if self.isp.mpduActivePacketZone->first().vcdu.cadu.channelData.transmissionData.configuration.rtStpsConfig.xsveRtStps.extendedCadu&#xD;
1883 then true&#xD;
1884else false&#xD;
1885endif&#xD;
1886&#xD;
1887&#xD;
1888--SarS1DataFieldHeader&#xD;
1889--TmGpsrS1DataFieldHeader&#xD;
1890-- MsiS2DataFieldHeader&#xD;
1891--TmGpsrS2DataFiefldHeader&#xD;
1892--TmStrS2DataFieldHeader&#xD;
1893--TmCswS2DataFieldHeader&#xD;
1894</body>
1895 </specification>
1896 </ownedRule>
1897 <generalization xmi:id="_RvomOVVUEeWRIqLs5_0Tzg" general="_Rvok21VUEeWRIqLs5_0Tzg"/>
1898 <ownedAttribute xmi:id="_RvomOlVUEeWRIqLs5_0Tzg" name="packetSecondaryHeader" visibility="private" type="_Rvokf1VUEeWRIqLs5_0Tzg" aggregation="composite" association="_RvomSVVUEeWRIqLs5_0Tzg">
1899 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvomPFVUEeWRIqLs5_0Tzg"/>
1900 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvomO1VUEeWRIqLs5_0Tzg" value="1"/>
1901 </ownedAttribute>
1902 <ownedAttribute xmi:id="_RvomPVVUEeWRIqLs5_0Tzg" name="packetData" visibility="private" type="_RvolXVVUEeWRIqLs5_0Tzg" aggregation="composite" association="_RvomSlVUEeWRIqLs5_0Tzg">
1903 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvomP1VUEeWRIqLs5_0Tzg" value="1"/>
1904 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvomPlVUEeWRIqLs5_0Tzg" value="1"/>
1905 </ownedAttribute>
1906 <ownedAttribute xmi:id="_RvomQFVUEeWRIqLs5_0Tzg" name="packetErrorControl" visibility="private" type="_RvokvVVUEeWRIqLs5_0Tzg" aggregation="composite" association="_RvomS1VUEeWRIqLs5_0Tzg">
1907 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvomQlVUEeWRIqLs5_0Tzg" value="1"/>
1908 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvomQVVUEeWRIqLs5_0Tzg" value="1"/>
1909 </ownedAttribute>
1910 <ownedOperation xmi:id="_RvomQ1VUEeWRIqLs5_0Tzg" name="getActivePacketType" bodyCondition="_RvomRFVUEeWRIqLs5_0Tzg" isQuery="true">
1911 <ownedRule xmi:id="_RvomRFVUEeWRIqLs5_0Tzg" name="getActivePacketType" constrainedElement="_RvomQ1VUEeWRIqLs5_0Tzg">
1912 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvomRVVUEeWRIqLs5_0Tzg">
1913 <language>OCL</language>
1914 <body>let &#xD;
1915 setOfEnums : Set(IspPacketTypes) = IspPacketTypes.allInstances() &#xD;
1916in &#xD;
1917&#xD;
1918if self.isp.packetPrimaryHeader->notEmpty() then &#xD;
1919 if setOfEnums->select(i : IspPacketTypes | self.isp.isTypeOfPacket(i))->asOrderedSet()->notEmpty() then &#xD;
1920 setOfEnums->select(i : IspPacketTypes | self.isp.isTypeOfPacket(i))->asOrderedSet()->first() &#xD;
1921 else IspPacketTypes::UNDEFINED &#xD;
1922 endif &#xD;
1923else IspPacketTypes::UNDEFINED &#xD;
1924endif&#xD;
1925</body>
1926 </specification>
1927 </ownedRule>
1928 <ownedParameter xmi:id="_RvomRlVUEeWRIqLs5_0Tzg" name="Parameter1" type="_RvojnFVUEeWRIqLs5_0Tzg" direction="return">
1929 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvomSFVUEeWRIqLs5_0Tzg" value="1"/>
1930 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvomR1VUEeWRIqLs5_0Tzg" value="1"/>
1931 </ownedParameter>
1932 </ownedOperation>
1933 </packagedElement>
1934 <packagedElement xmi:type="uml:Association" xmi:id="_RvomSVVUEeWRIqLs5_0Tzg" memberEnd="_RvomOlVUEeWRIqLs5_0Tzg _Rvokh1VUEeWRIqLs5_0Tzg"/>
1935 <packagedElement xmi:type="uml:Association" xmi:id="_RvomSlVUEeWRIqLs5_0Tzg" memberEnd="_RvomPVVUEeWRIqLs5_0Tzg _RvolYlVUEeWRIqLs5_0Tzg"/>
1936 <packagedElement xmi:type="uml:Association" xmi:id="_RvomS1VUEeWRIqLs5_0Tzg" memberEnd="_RvomQFVUEeWRIqLs5_0Tzg _RvokyFVUEeWRIqLs5_0Tzg"/>
1937 <packagedElement xmi:type="uml:Association" xmi:id="_RvomTFVUEeWRIqLs5_0Tzg" memberEnd="_RvolUVVUEeWRIqLs5_0Tzg _Rvojc1VUEeWRIqLs5_0Tzg"/>
1938 <packagedElement xmi:type="uml:Class" xmi:id="_RvomTVVUEeWRIqLs5_0Tzg" name="ChannelData">
1939 <ownedComment xmi:id="_RvomTlVUEeWRIqLs5_0Tzg" annotatedElement="_RvomTVVUEeWRIqLs5_0Tzg">
1940 <body>&lt;p>For&amp;nbsp;each&amp;nbsp;physical&amp;nbsp;channel&amp;nbsp;of&amp;nbsp;the&amp;nbsp;satellite.&lt;/p></body>
1941 </ownedComment>
1942 <ownedRule xmi:id="_RvomT1VUEeWRIqLs5_0Tzg" name="input_caduDataExists" constrainedElement="_RvomTVVUEeWRIqLs5_0Tzg">
1943 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvomUFVUEeWRIqLs5_0Tzg">
1944 <language>OCL</language>
1945 <body>self.cadu->size() > 0</body>
1946 </specification>
1947 </ownedRule>
1948 <ownedAttribute xmi:id="_RvomUVVUEeWRIqLs5_0Tzg" name="cadu" visibility="private" type="_RvolZVVUEeWRIqLs5_0Tzg" isOrdered="true" aggregation="composite" association="_RvomXFVUEeWRIqLs5_0Tzg">
1949 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvomU1VUEeWRIqLs5_0Tzg"/>
1950 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvomUlVUEeWRIqLs5_0Tzg" value="*"/>
1951 </ownedAttribute>
1952 <ownedAttribute xmi:id="_RvomVFVUEeWRIqLs5_0Tzg" name="transmissionData" visibility="private" type="_RvolTVVUEeWRIqLs5_0Tzg" association="_RvomXVVUEeWRIqLs5_0Tzg">
1953 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvomVlVUEeWRIqLs5_0Tzg" value="1"/>
1954 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvomVVVUEeWRIqLs5_0Tzg" value="1"/>
1955 </ownedAttribute>
1956 <ownedAttribute xmi:id="_RvomV1VUEeWRIqLs5_0Tzg" name="channelDataPerVcid" visibility="private" type="_RvomYVVUEeWRIqLs5_0Tzg" association="_RvomaVVUEeWRIqLs5_0Tzg">
1957 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvomWVVUEeWRIqLs5_0Tzg" value="1"/>
1958 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvomWFVUEeWRIqLs5_0Tzg" value="1"/>
1959 </ownedAttribute>
1960 <ownedAttribute xmi:id="_RvomWlVUEeWRIqLs5_0Tzg" name="hasExtendedCadu" visibility="private">
1961 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
1962 </ownedAttribute>
1963 <ownedAttribute xmi:id="_RvomW1VUEeWRIqLs5_0Tzg" name="caduHeaderIncludesMpdu" visibility="private">
1964 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
1965 </ownedAttribute>
1966 </packagedElement>
1967 <packagedElement xmi:type="uml:Association" xmi:id="_RvomXFVUEeWRIqLs5_0Tzg" memberEnd="_RvomUVVUEeWRIqLs5_0Tzg _RvoleFVUEeWRIqLs5_0Tzg"/>
1968 <packagedElement xmi:type="uml:Association" xmi:id="_RvomXVVUEeWRIqLs5_0Tzg" memberEnd="_RvolVFVUEeWRIqLs5_0Tzg _RvomVFVUEeWRIqLs5_0Tzg"/>
1969 <packagedElement xmi:type="uml:Class" xmi:id="_RvomXlVUEeWRIqLs5_0Tzg" name="FragmentPacketDataField">
1970 <generalization xmi:id="_RvomX1VUEeWRIqLs5_0Tzg" general="_Rvok21VUEeWRIqLs5_0Tzg"/>
1971 <ownedAttribute xmi:id="_RvomYFVUEeWRIqLs5_0Tzg" name="dataArray" visibility="private" type="_RvojhVVUEeWRIqLs5_0Tzg"/>
1972 </packagedElement>
1973 <packagedElement xmi:type="uml:Class" xmi:id="_RvomYVVUEeWRIqLs5_0Tzg" name="ChannelDataPerVcid">
1974 <ownedAttribute xmi:id="_RvomYlVUEeWRIqLs5_0Tzg" name="virtualChannelId" visibility="private" type="_RvomoVVUEeWRIqLs5_0Tzg"/>
1975 <ownedAttribute xmi:id="_RvomY1VUEeWRIqLs5_0Tzg" name="channelData" visibility="private" type="_RvomTVVUEeWRIqLs5_0Tzg" association="_RvomaVVUEeWRIqLs5_0Tzg">
1976 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvomZVVUEeWRIqLs5_0Tzg" value="1"/>
1977 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvomZFVUEeWRIqLs5_0Tzg" value="*"/>
1978 </ownedAttribute>
1979 <ownedAttribute xmi:id="_RvomZlVUEeWRIqLs5_0Tzg" name="isp" visibility="private" type="_Rvok_VVUEeWRIqLs5_0Tzg" isOrdered="true" association="_RvomalVUEeWRIqLs5_0Tzg">
1980 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RvomaFVUEeWRIqLs5_0Tzg" value="1"/>
1981 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvomZ1VUEeWRIqLs5_0Tzg" value="*"/>
1982 </ownedAttribute>
1983 </packagedElement>
1984 <packagedElement xmi:type="uml:Association" xmi:id="_RvomaVVUEeWRIqLs5_0Tzg" memberEnd="_RvomV1VUEeWRIqLs5_0Tzg _RvomY1VUEeWRIqLs5_0Tzg"/>
1985 <packagedElement xmi:type="uml:Association" xmi:id="_RvomalVUEeWRIqLs5_0Tzg" memberEnd="_RvolH1VUEeWRIqLs5_0Tzg _RvomZlVUEeWRIqLs5_0Tzg"/>
1986 <packagedElement xmi:type="uml:Class" xmi:id="_Rvoma1VUEeWRIqLs5_0Tzg" name="ExtendedCaduInfo">
1987 <ownedAttribute xmi:id="_RvombFVUEeWRIqLs5_0Tzg" name="value" visibility="private" type="_RvojhVVUEeWRIqLs5_0Tzg"/>
1988 <ownedAttribute xmi:id="_RvombVVUEeWRIqLs5_0Tzg" name="cadu" visibility="private" type="_RvolZVVUEeWRIqLs5_0Tzg" association="_RvomcFVUEeWRIqLs5_0Tzg">
1989 <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Rvomb1VUEeWRIqLs5_0Tzg" value="1"/>
1990 <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RvomblVUEeWRIqLs5_0Tzg" value="1"/>
1991 </ownedAttribute>
1992 </packagedElement>
1993 <packagedElement xmi:type="uml:Association" xmi:id="_RvomcFVUEeWRIqLs5_0Tzg" memberEnd="_RvombVVUEeWRIqLs5_0Tzg _Rvole1VUEeWRIqLs5_0Tzg"/>
1994 <packagedElement xmi:type="uml:Association" xmi:id="_RvomcVVUEeWRIqLs5_0Tzg" memberEnd="_RvojeVVUEeWRIqLs5_0Tzg _RvojOFVUEeWRIqLs5_0Tzg"/>
1995 <packagedElement xmi:type="uml:Association" xmi:id="_RvomclVUEeWRIqLs5_0Tzg" memberEnd="_RvojdlVUEeWRIqLs5_0Tzg _RvojSVVUEeWRIqLs5_0Tzg"/>
1996 <packagedElement xmi:type="uml:Association" xmi:id="_Rvomc1VUEeWRIqLs5_0Tzg" memberEnd="_RvojfFVUEeWRIqLs5_0Tzg _RvojP1VUEeWRIqLs5_0Tzg"/>
1997 <packagedElement xmi:type="uml:Association" xmi:id="_RvomdFVUEeWRIqLs5_0Tzg" memberEnd="_RvojblVUEeWRIqLs5_0Tzg _RvojUFVUEeWRIqLs5_0Tzg"/>
1998 <packagedElement xmi:type="uml:Association" xmi:id="_RvomdVVUEeWRIqLs5_0Tzg" memberEnd="_RvojTVVUEeWRIqLs5_0Tzg _RvojNFVUEeWRIqLs5_0Tzg"/>
1999 <packagedElement xmi:type="uml:Association" xmi:id="_RvomdlVUEeWRIqLs5_0Tzg" memberEnd="_RvojRlVUEeWRIqLs5_0Tzg _RvojglVUEeWRIqLs5_0Tzg"/>
2000 <packagedElement xmi:type="uml:Association" xmi:id="_Rvomd1VUEeWRIqLs5_0Tzg" memberEnd="_RvojQlVUEeWRIqLs5_0Tzg _RvojH1VUEeWRIqLs5_0Tzg"/>
2001 <packagedElement xmi:type="uml:Association" xmi:id="_RvomeFVUEeWRIqLs5_0Tzg" memberEnd="_RvojO1VUEeWRIqLs5_0Tzg _RvojZFVUEeWRIqLs5_0Tzg"/>
2002 <packagedElement xmi:type="uml:Association" xmi:id="_RvomeVVUEeWRIqLs5_0Tzg" memberEnd="_RvojKlVUEeWRIqLs5_0Tzg _RvojJlVUEeWRIqLs5_0Tzg"/>
2003 <packagedElement xmi:type="uml:Association" xmi:id="_RvomelVUEeWRIqLs5_0Tzg" memberEnd="_RvojG1VUEeWRIqLs5_0Tzg _RvojI1VUEeWRIqLs5_0Tzg"/>
2004 <packagedElement xmi:type="uml:Class" xmi:id="_Rvome1VUEeWRIqLs5_0Tzg" name="XmlNumber">
2005 <ownedAttribute xmi:id="_RvomfFVUEeWRIqLs5_0Tzg" name="value" visibility="private">
2006 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
2007 </ownedAttribute>
2008 <ownedAttribute xmi:id="_RvomfVVUEeWRIqLs5_0Tzg" name="unit" visibility="private" type="_RvomflVUEeWRIqLs5_0Tzg"/>
2009 </packagedElement>
2010 <packagedElement xmi:type="uml:Enumeration" xmi:id="_RvomflVUEeWRIqLs5_0Tzg" name="UnitType">
2011 <ownedLiteral xmi:id="_Rvomf1VUEeWRIqLs5_0Tzg" name="byte"/>
2012 </packagedElement>
2013 <packagedElement xmi:type="uml:Enumeration" xmi:id="_RvomgFVUEeWRIqLs5_0Tzg" name="MissionName">
2014 <ownedLiteral xmi:id="_RvomgVVUEeWRIqLs5_0Tzg" name="Sentinel1">
2015 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvomglVUEeWRIqLs5_0Tzg">
2016 <body>S1</body>
2017 </specification>
2018 </ownedLiteral>
2019 <ownedLiteral xmi:id="_Rvomg1VUEeWRIqLs5_0Tzg" name="Sentinel2">
2020 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvomhFVUEeWRIqLs5_0Tzg">
2021 <body>S2</body>
2022 </specification>
2023 </ownedLiteral>
2024 <ownedLiteral xmi:id="_RvomhVVUEeWRIqLs5_0Tzg" name="Sentinel3">
2025 <specification xmi:type="uml:OpaqueExpression" xmi:id="_RvomhlVUEeWRIqLs5_0Tzg">
2026 <body>S3</body>
2027 </specification>
2028 </ownedLiteral>
2029 </packagedElement>
2030 <packagedElement xmi:type="uml:Class" xmi:id="_Rvomh1VUEeWRIqLs5_0Tzg" name="ApidPcat">
2031 <ownedComment xmi:id="_RvomiFVUEeWRIqLs5_0Tzg" annotatedElement="_Rvomh1VUEeWRIqLs5_0Tzg">
2032 <body>&lt;p>Last&amp;nbsp;4&amp;nbsp;bits&amp;nbsp;of&amp;nbsp;apid.&lt;/p></body>
2033 </ownedComment>
2034 <ownedAttribute xmi:id="_RvomiVVUEeWRIqLs5_0Tzg" name="value" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
2035 </packagedElement>
2036 <packagedElement xmi:type="uml:Class" xmi:id="_RvomilVUEeWRIqLs5_0Tzg" name="ApidPid">
2037 <ownedComment xmi:id="_Rvomi1VUEeWRIqLs5_0Tzg" annotatedElement="_RvomilVUEeWRIqLs5_0Tzg">
2038 <body>&lt;p>First&amp;nbsp;7&amp;nbsp;bits&amp;nbsp;of&amp;nbsp;apid.&lt;/p></body>
2039 </ownedComment>
2040 <ownedAttribute xmi:id="_RvomjFVUEeWRIqLs5_0Tzg" name="value" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
2041 </packagedElement>
2042 <packagedElement xmi:type="uml:Class" xmi:id="_RvomjVVUEeWRIqLs5_0Tzg" name="Apid">
2043 <ownedAttribute xmi:id="_RvomjlVUEeWRIqLs5_0Tzg" name="apidPid" visibility="private" type="_RvomilVUEeWRIqLs5_0Tzg"/>
2044 <ownedAttribute xmi:id="_Rvomj1VUEeWRIqLs5_0Tzg" name="apidPcat" visibility="private" type="_Rvomh1VUEeWRIqLs5_0Tzg"/>
2045 <ownedAttribute xmi:id="_RvomkFVUEeWRIqLs5_0Tzg" name="value" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
2046 <ownedOperation xmi:id="_RvomkVVUEeWRIqLs5_0Tzg" name="getApidPidValue" bodyCondition="_RvomklVUEeWRIqLs5_0Tzg" isQuery="true">
2047 <ownedRule xmi:id="_RvomklVUEeWRIqLs5_0Tzg" name="getApidPidValue" constrainedElement="_RvomkVVUEeWRIqLs5_0Tzg">
2048 <specification xmi:type="uml:OpaqueExpression" xmi:id="_Rvomk1VUEeWRIqLs5_0Tzg">
2049 <language>OCL</language>
2050 <body>self.value.intValue.div(16)</body>
2051 </specification>
2052 </ownedRule>
2053 <ownedParameter xmi:id="_RvomlFVUEeWRIqLs5_0Tzg" name="Parameter1" direction="return">
2054 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
2055 </ownedParameter>
2056 </ownedOperation>
2057 <ownedOperation xmi:id="_RvomlVVUEeWRIqLs5_0Tzg" name="getApidPcatValue" bodyCondition="_RvomllVUEeWRIqLs5_0Tzg" isQuery="true">
2058 <ownedRule xmi:id="_RvomllVUEeWRIqLs5_0Tzg" name="getApidPcatValue" constrainedElement="_RvomlVVUEeWRIqLs5_0Tzg">
2059 <specification xmi:type="uml:OpaqueExpression" xmi:id="_Rvoml1VUEeWRIqLs5_0Tzg">
2060 <language>OCL</language>
2061 <body>self.value.intValue.mod(16)</body>
2062 </specification>
2063 </ownedRule>
2064 <ownedParameter xmi:id="_RvommFVUEeWRIqLs5_0Tzg" name="Parameter1" direction="return">
2065 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
2066 </ownedParameter>
2067 </ownedOperation>
2068 <ownedOperation xmi:id="_RvommVVUEeWRIqLs5_0Tzg" name="getApidPidBitSize" bodyCondition="_RvommlVUEeWRIqLs5_0Tzg" isQuery="true">
2069 <ownedRule xmi:id="_RvommlVUEeWRIqLs5_0Tzg" name="getApidPidBitSize" constrainedElement="_RvommVVUEeWRIqLs5_0Tzg">
2070 <specification xmi:type="uml:OpaqueExpression" xmi:id="_Rvomm1VUEeWRIqLs5_0Tzg">
2071 <language>OCL</language>
2072 <body>7</body>
2073 </specification>
2074 </ownedRule>
2075 <ownedParameter xmi:id="_RvomnFVUEeWRIqLs5_0Tzg" name="Parameter1" direction="return">
2076 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
2077 </ownedParameter>
2078 </ownedOperation>
2079 <ownedOperation xmi:id="_RvomnVVUEeWRIqLs5_0Tzg" name="getApidPcatBitSize" bodyCondition="_RvomnlVUEeWRIqLs5_0Tzg" isQuery="true">
2080 <ownedRule xmi:id="_RvomnlVUEeWRIqLs5_0Tzg" name="getApidPcatBitSize" constrainedElement="_RvomnVVUEeWRIqLs5_0Tzg">
2081 <specification xmi:type="uml:OpaqueExpression" xmi:id="_Rvomn1VUEeWRIqLs5_0Tzg">
2082 <language>OCL</language>
2083 <body>4</body>
2084 </specification>
2085 </ownedRule>
2086 <ownedParameter xmi:id="_RvomoFVUEeWRIqLs5_0Tzg" name="Parameter1" direction="return">
2087 <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
2088 </ownedParameter>
2089 </ownedOperation>
2090 </packagedElement>
2091 <packagedElement xmi:type="uml:Class" xmi:id="_RvomoVVUEeWRIqLs5_0Tzg" name="Vcid">
2092 <ownedAttribute xmi:id="_RvomolVUEeWRIqLs5_0Tzg" name="value" visibility="private" type="_RvojiVVUEeWRIqLs5_0Tzg"/>
2093 </packagedElement>
2094</uml:Package>